Пример #1
0
        //[TestCase(typeof(Przelewy24PaymentRequest), PaymentMethod.Przelewy24, typeof(PaymentResponse))] // Payment option is not enabled in website profile
        public async Task CanCreateSpecificPaymentType(Type paymentType, PaymentMethod?paymentMethod, Type expectedResponseType)
        {
            // If: we create a specific payment type with some bank transfer specific values
            PaymentRequest paymentRequest = (PaymentRequest)Activator.CreateInstance(paymentType);

            paymentRequest.Amount      = new Amount(Currency.EUR, "100.00");
            paymentRequest.Description = "Description";
            paymentRequest.RedirectUrl = this.DefaultRedirectUrl;
            paymentRequest.Method      = paymentMethod;

            // Set required billing email for Przelewy24
            if (paymentRequest is Przelewy24PaymentRequest request)
            {
                request.BillingEmail = "*****@*****.**";
            }

            // When: We send the payment request to Mollie
            PaymentResponse result = await this._paymentClient.CreatePaymentAsync(paymentRequest);

            // Then: Make sure all requested parameters match the response parameter values
            Assert.IsNotNull(result);
            Assert.AreEqual(expectedResponseType, result.GetType());
            Assert.AreEqual(paymentRequest.Amount.Currency, result.Amount.Currency);
            Assert.AreEqual(paymentRequest.Amount.Value, result.Amount.Value);
            Assert.AreEqual(paymentRequest.Description, result.Description);
            Assert.AreEqual(paymentRequest.RedirectUrl, result.RedirectUrl);
        }
Пример #2
0
        public async Task CanCreateSpecificPaymentType(Type paymentType, PaymentMethods?paymentMethod, Type expectedResponseType)
        {
            // If: we create a specific payment type with some bank transfer specific values
            PaymentRequest paymentRequest = (PaymentRequest)Activator.CreateInstance(paymentType);

            paymentRequest.Amount      = 100;
            paymentRequest.Description = "Description";
            paymentRequest.RedirectUrl = fixture.DefaultRedirectUrl;
            paymentRequest.Method      = paymentMethod;

            // When: We send the payment request to Mollie
            PaymentResponse result = await fixture.PaymentClient.CreatePaymentAsync(paymentRequest);

            // Then: Make sure all requested parameters match the response parameter values
            Assert.NotNull(result);
            Assert.Equal(expectedResponseType, result.GetType());
            Assert.Equal(paymentRequest.Amount, result.Amount);
            Assert.Equal(paymentRequest.Description, result.Description);
            Assert.Equal(paymentRequest.RedirectUrl, result.Links.RedirectUrl);
        }