Beispiel #1
0
        public async Task When_A_Payment_Is_Created_And_GetPaymentDetails_Is_Called_Then_PaymentDetails_Should_Be_Returned()
        {
            var accessToken = await TokenHelper.GetReferenceAccessToken();

            Guid merchantId    = Guid.Parse("b074e29b-54bc-4085-a97d-5a370cafa598");
            var  baseUri       = "https://localhost:5001";
            var  apiClient     = new HttpClient();
            var  paymentClient = new PaymentClient(apiClient, new PaymentRoutes(merchantId, baseUri), accessToken);

            var cardPaymentRequest = new CardPaymentRequestDto
            {
                Amount            = 100m,
                Currency          = Currency.GBP,
                BillingAddressDto = new AddressDto()
                {
                    AddressLine1 = "Random Flat in",
                    AddressLine2 = "Canary Wharf",
                    City         = "London",
                    Country      = "England",
                    FirstName    = "Joe",
                    LastName     = "Blogs"
                },
                CardInformation = new CardInformationDto()
                {
                    CardNumber  = "366252948156588",
                    FirstName   = "Joe",
                    LastName    = "Blogs",
                    Cvv         = "1011",
                    ExpiryMonth = "01",
                    ExpiryYear  = "24"
                }
            };

            var payment = await paymentClient.CreateCardPaymentAsync(cardPaymentRequest);

            var paymentDetails = await paymentClient.GetPaymentDetailsAsync(payment.PaymentId);


            var expectedResponse = new PaymentDetailResponseDto
            {
                PaymentStatus    = payment.PaymentStatus,
                PaymentId        = payment.PaymentId,
                MerchantId       = payment.MerchantId,
                Year             = "24",
                Month            = "01",
                MaskedCardNumber = "3662 52XX XXX6 588"
            };

            paymentDetails.Should().BeEquivalentTo(expectedResponse);
        }
        public async Task When_ValidCerditCard_Information_Used_Then_Payment_Is_Created()
        {
            var accessToken = await TokenHelper.GetReferenceAccessToken();

            Guid merchantId    = Guid.Parse("b074e29b-54bc-4085-a97d-5a370cafa598");
            var  baseUri       = "https://localhost:5001";
            var  apiClient     = new HttpClient();
            var  paymentClient = new PaymentClient(apiClient, new PaymentRoutes(merchantId, baseUri), accessToken);

            var cardPaymentRequest = new CardPaymentRequestDto
            {
                Amount            = 100m,
                Currency          = Currency.GBP,
                BillingAddressDto = new AddressDto()
                {
                    AddressLine1 = "Random Flat in",
                    AddressLine2 = "Canary Wharf",
                    City         = "London",
                    Country      = "England",
                    FirstName    = "Joe",
                    LastName     = "Blogs"
                },
                CardInformation = new CardInformationDto()
                {
                    CardNumber  = "366252948156588",
                    FirstName   = "Joe",
                    LastName    = "Blogs",
                    Cvv         = "1011",
                    ExpiryMonth = "01",
                    ExpiryYear  = "24"
                }
            };

            try
            {
                var response = await paymentClient.CreateCardPaymentAsync(cardPaymentRequest);

                response.PaymentId.Should().NotBeEmpty();
                response.MerchantId.Should().Be(merchantId);
                response.PaymentStatus.Should().Be(PaymentStatus.Created);
            }
            catch (CheckoutGatewayException gatewayException)
            {
                Assert.Fail();
            }
        }