protected async Task <PaymentResponse> MakeCardPayment(bool shouldCapture = false, long amount = 10L,
                                                               DateTime?captureOn = null)
        {
            if (!shouldCapture && captureOn != null)
            {
                throw new XunitException("CaptureOn was provided but the payment is not set for capture");
            }

            var requestCardSource = new RequestCardSource
            {
                Name           = TestCardSource.Visa.Name,
                Number         = TestCardSource.Visa.Number,
                ExpiryYear     = TestCardSource.Visa.ExpiryYear,
                ExpiryMonth    = TestCardSource.Visa.ExpiryMonth,
                Cvv            = TestCardSource.Visa.Cvv,
                BillingAddress = GetAddress(),
                Phone          = GetPhone()
            };

            var customerRequest = new CustomerRequest {
                Email = GenerateRandomEmail(), Name = "Customer"
            };

            var paymentIndividualSender = new PaymentIndividualSender
            {
                FirstName = "Mr",
                LastName  = "Test",
                Address   = GetAddress(),
                AccountHolderIdentification = new AccountHolderIdentification
                {
                    IssuingCountry = CountryCode.GT, Number = "1234", Type = AccountHolderIdentificationType.DrivingLicence
                }
            };

            var paymentRequest = new PaymentRequest
            {
                Source            = requestCardSource,
                Capture           = shouldCapture,
                Reference         = Guid.NewGuid().ToString(),
                Amount            = amount,
                Currency          = Currency.USD,
                Customer          = customerRequest,
                Sender            = paymentIndividualSender,
                CaptureOn         = captureOn,
                BillingDescriptor = new BillingDescriptor {
                    Name = "name", City = "London", Reference = "reference"
                }
            };

            var paymentResponse = await DefaultApi.PaymentsClient().RequestPayment(paymentRequest);

            paymentResponse.ShouldNotBeNull();
            return(paymentResponse);
        }
        public void ShouldDeserializeDefaultGetPaymentResponseIndividualSender()
        {
            var fileContent = GetJsonFileContent("./Resources/Sender/GetPaymentResponseIndividualSender.json");
            GetPaymentResponse getPaymentResponse =
                (GetPaymentResponse) new JsonSerializer().Deserialize(fileContent, typeof(GetPaymentResponse));

            getPaymentResponse.ShouldNotBeNull();
            getPaymentResponse.Sender.ShouldNotBeNull();
            getPaymentResponse.Sender.Type().ShouldBe(PaymentSenderType.Individual);
            getPaymentResponse.Sender.ShouldBeAssignableTo(typeof(PaymentIndividualSender));
            PaymentIndividualSender sender = (PaymentIndividualSender)getPaymentResponse.Sender;

            sender.FirstName.ShouldNotBeEmpty();
            sender.LastName.ShouldNotBeEmpty();
        }
Пример #3
0
        public async Task ShouldMakeOAuthCall()
        {
            var requestCardSource = new RequestCardSource
            {
                Name        = TestCardSource.Visa.Name,
                Number      = TestCardSource.Visa.Number,
                ExpiryYear  = TestCardSource.Visa.ExpiryYear,
                ExpiryMonth = TestCardSource.Visa.ExpiryMonth,
                Cvv         = TestCardSource.Visa.Cvv,
            };

            var address = new Address
            {
                AddressLine1 = "CheckoutSdk.com",
                AddressLine2 = "90 Tottenham Court Road",
                City         = "London",
                State        = "London",
                Zip          = "W1T 4TJ",
                Country      = CountryCode.GB
            };

            var paymentIndividualSender = new PaymentIndividualSender
            {
                FirstName = "Mr", LastName = "Test", Address = address
            };

            var paymentRequest = new PaymentRequest
            {
                Source              = requestCardSource,
                Capture             = false,
                Reference           = Guid.NewGuid().ToString(),
                Amount              = 10L,
                Currency            = Currency.EUR,
                ProcessingChannelId = "pc_a6dabcfa2o3ejghb3sjuotdzzy",
                Marketplace         = new MarketplaceData {
                    SubEntityId = "ent_ocw5i74vowfg2edpy66izhts2u"
                },
                Sender = paymentIndividualSender
            };

            var paymentResponse = await DefaultApi.PaymentsClient().RequestPayment(paymentRequest);

            paymentResponse.ShouldNotBeNull();
        }
        private async Task <PaymentResponse> MakeAuthorizationEstimatedPayment()
        {
            var requestCardSource = new RequestCardSource
            {
                Name        = TestCardSource.Visa.Name,
                Number      = "4556447238607884",
                ExpiryYear  = TestCardSource.Visa.ExpiryYear,
                ExpiryMonth = TestCardSource.Visa.ExpiryMonth,
                Cvv         = TestCardSource.Visa.Cvv
            };

            var address = new Address
            {
                AddressLine1 = "CheckoutSdk.com",
                AddressLine2 = "90 Tottenham Court Road",
                City         = "London",
                State        = "London",
                Zip          = "W1T 4TJ",
                Country      = CountryCode.GB
            };

            var paymentIndividualSender = new PaymentIndividualSender
            {
                FirstName = "Mr", LastName = "Test", Address = address
            };

            var paymentRequest = new PaymentRequest
            {
                Source            = requestCardSource,
                Capture           = false,
                Reference         = Guid.NewGuid().ToString(),
                Amount            = 10L,
                Currency          = Currency.USD,
                Sender            = paymentIndividualSender,
                AuthorizationType = AuthorizationType.Estimated
            };

            var paymentResponse = await DefaultApi.PaymentsClient().RequestPayment(paymentRequest);

            paymentResponse.ShouldNotBeNull();
            return(paymentResponse);
        }