Beispiel #1
0
        public async Task Test_Idempotency_PayinsDirectDebitCreate()
        {
            string    key    = DateTime.Now.Ticks.ToString();
            WalletDTO wallet = await this.GetJohnsWallet();

            UserNaturalDTO user = await this.GetJohn();

            PayInDirectDebitPostDTO payIn = new PayInDirectDebitPostDTO(user.Id,
                                                                        new Money {
                Amount = 10000, Currency = CurrencyIso.EUR
            },
                                                                        new Money {
                Amount = 100, Currency = CurrencyIso.EUR
            }, wallet.Id, "http://www.mysite.com/returnURL/",
                                                                        CultureCode.FR, DirectDebitType.GIROPAY);

            payIn.TemplateURLOptions = new TemplateURLOptions {
                PAYLINE = "https://www.maysite.com/payline_template/"
            };
            payIn.Tag = "DirectDebit test tag";
            await Api.PayIns.CreateDirectDebit(key, payIn);

            var result = await Api.Idempotency.Get(key);

            Assert.IsInstanceOf <PayInDirectDebitDTO>(result.Resource);
        }
Beispiel #2
0
        public async Task Test_PayIns_DirectDebit_Create_Get()
        {
            WalletDTO wallet = await this.GetJohnsWallet();

            UserNaturalDTO user = await this.GetJohn();

            // create pay-in DIRECT DEBIT
            PayInDirectDebitPostDTO payIn = new PayInDirectDebitPostDTO(user.Id, new Money {
                Amount = 10000, Currency = CurrencyIso.EUR
            }, new Money {
                Amount = 100, Currency = CurrencyIso.EUR
            }, wallet.Id, "http://www.mysite.com/returnURL/", CultureCode.FR, DirectDebitType.GIROPAY)
            {
                TemplateURLOptions = new TemplateURLOptions {
                    PAYLINE = "https://www.maysite.com/payline_template/"
                },
                Tag = "DirectDebit test tag"
            };

            PayInDirectDebitDTO createPayIn = await this.Api.PayIns.CreateDirectDebitAsync(payIn);

            Assert.IsNotNull(createPayIn);
            Assert.IsTrue(createPayIn.Id.Length > 0);
            Assert.AreEqual(wallet.Id, createPayIn.CreditedWalletId);
            Assert.IsTrue(createPayIn.PaymentType == PayInPaymentType.DIRECT_DEBIT);
            Assert.IsTrue(createPayIn.DirectDebitType == DirectDebitType.GIROPAY);
            Assert.IsTrue(createPayIn.Culture == CultureCode.FR);
            Assert.AreEqual(user.Id, createPayIn.AuthorId);
            Assert.IsTrue(createPayIn.Status == TransactionStatus.CREATED);
            Assert.IsTrue(createPayIn.Type == TransactionType.PAYIN);
            Assert.IsNotNull(createPayIn.DebitedFunds);
            Assert.IsTrue(createPayIn.DebitedFunds is Money);
            Assert.AreEqual(10000, createPayIn.DebitedFunds.Amount);
            Assert.IsTrue(createPayIn.DebitedFunds.Currency == CurrencyIso.EUR);

            Assert.IsNotNull(createPayIn.CreditedFunds);
            Assert.IsTrue(createPayIn.CreditedFunds is Money);
            Assert.AreEqual(9900, createPayIn.CreditedFunds.Amount);
            Assert.IsTrue(createPayIn.CreditedFunds.Currency == CurrencyIso.EUR);

            Assert.IsNotNull(createPayIn.Fees);
            Assert.IsTrue(createPayIn.Fees is Money);
            Assert.AreEqual(100, createPayIn.Fees.Amount);
            Assert.IsTrue(createPayIn.Fees.Currency == CurrencyIso.EUR);

            Assert.IsNotNull(createPayIn.ReturnURL);
            Assert.IsNotNull(createPayIn.RedirectURL);
            Assert.IsNotNull(createPayIn.TemplateURL);


            PayInDirectDebitDTO getPayIn = await this.Api.PayIns.GetDirectDebitAsync(createPayIn.Id);

            Assert.IsNotNull(getPayIn);
            Assert.IsTrue(getPayIn.Id == createPayIn.Id);
            Assert.IsTrue(getPayIn.Tag == createPayIn.Tag);
        }
Beispiel #3
0
        public async Task <PayInDirectDebitDTO> CreateDirectDebit(string idempotencyKey, PayInDirectDebitPostDTO payIn)
        {
            var targetUrl = $"{_baseUrl}/payins/directdebit/web";

            return(await CreateEntity <PayInDirectDebitDTO, PayInDirectDebitPostDTO>(targetUrl, payIn, idempotencyKey));
        }
 /// <summary>Creates new payin direct debit.</summary>
 /// <param name="idempotencyKey">Idempotency key for this request.</param>
 /// <param name="payIn">Object instance to be created.</param>
 /// <returns>Object instance returned from API.</returns>
 public PayInDirectDebitDTO CreateDirectDebit(String idempotencyKey, PayInDirectDebitPostDTO payIn)
 {
     return(this.CreateObject <PayInDirectDebitDTO, PayInDirectDebitPostDTO>(idempotencyKey, MethodKey.PayinsDirectDebitCreate, payIn));
 }
 /// <summary>Creates new payin direct debit.</summary>
 /// <param name="payIn">Object instance to be created.</param>
 /// <returns>Object instance returned from API.</returns>
 public PayInDirectDebitDTO CreateDirectDebit(PayInDirectDebitPostDTO payIn)
 {
     return(CreateDirectDebit(null, payIn));
 }
 /// <summary>Creates new payin direct debit.</summary>
 /// <param name="payIn">Object instance to be created.</param>
 /// <returns>Object instance returned from API.</returns>
 public async Task <PayInDirectDebitDTO> CreateDirectDebit(PayInDirectDebitPostDTO payIn)
 {
     return(await CreateDirectDebit(null, payIn));
 }
Beispiel #7
0
 /// <summary>Creates new payin direct debit.</summary>
 /// <param name="payIn">Object instance to be created.</param>
 /// <returns>Object instance returned from API.</returns>
 public PayInDirectDebitDTO CreateDirectDebit(PayInDirectDebitPostDTO payIn)
 {
     return(this.CreateObject <PayInDirectDebitDTO, PayInDirectDebitPostDTO>(MethodKey.PayinsDirectDebitCreate, payIn));
 }
Beispiel #8
0
 /// <summary>Creates new payin direct debit.</summary>
 /// <param name="idempotencyKey">Idempotency key for this request.</param>
 /// <param name="payIn">Object instance to be created.</param>
 /// <returns>Object instance returned from API.</returns>
 public async Task <PayInDirectDebitDTO> CreateDirectDebitAsync(String idempotencyKey, PayInDirectDebitPostDTO payIn)
 {
     return(await this.CreateObjectAsync <PayInDirectDebitDTO, PayInDirectDebitPostDTO>(idempotencyKey, MethodKey.PayinsDirectDebitCreate, payIn));
 }