public void CanConvertToJsonMultiship()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            request.SupplementaryData = "foo";
            request.WebCheckoutDetails.CheckoutResultReturnUrl = "https://example.com/thankyou.html";
            request.WebCheckoutDetails.CheckoutReviewReturnUrl = "https://example.com/review.html";
            request.MerchantMetadata.CustomInformation         = "foo";
            request.MerchantMetadata.MerchantReferenceId       = "123";
            request.MerchantMetadata.MerchantStoreName         = "myStore";
            request.MerchantMetadata.NoteToBuyer                 = "myBuyerNote";
            request.PaymentDetails.ChargeAmount.Amount           = 1080M;
            request.PaymentDetails.ChargeAmount.CurrencyCode     = Currency.EUR;
            request.PaymentDetails.PaymentIntent                 = PaymentIntent.Authorize;
            request.PaymentDetails.TotalOrderAmount.Amount       = 1234.56m;
            request.PaymentDetails.TotalOrderAmount.CurrencyCode = Currency.EUR;
            request.PaymentDetails.AllowOvercharge               = true;
            request.PaymentDetails.ExtendExpiration              = true;
            request.ProviderMetadata.ProviderReferenceId         = "foo";
            request.SupplementaryData = "foo";

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{\"webCheckoutDetails\":{\"checkoutReviewReturnUrl\":\"https://example.com/review.html\",\"checkoutResultReturnUrl\":\"https://example.com/thankyou.html\"},\"paymentDetails\":{\"paymentIntent\":\"Authorize\",\"chargeAmount\":{\"amount\":1080,\"currencyCode\":\"EUR\"},\"totalOrderAmount\":{\"amount\":1234.56,\"currencyCode\":\"EUR\"},\"allowOvercharge\":true,\"extendExpiration\":true},\"merchantMetadata\":{\"merchantReferenceId\":\"123\",\"merchantStoreName\":\"myStore\",\"noteToBuyer\":\"myBuyerNote\",\"customInformation\":\"foo\"},\"supplementaryData\":\"foo\",\"providerMetadata\":{\"providerReferenceId\":\"foo\"}}", json);
        }
Esempio n. 2
0
        public void CanUpdateCheckoutSessionWithCancelUrl()
        {
            mockClient.Protected().As <IClientMapping>()
            .Setup(c => c.ProcessRequest <CheckoutSessionResponse>(It.IsAny <ApiRequest>(),
                                                                   It.IsAny <Dictionary <string, string> >()))
            .Returns((ApiRequest request, Dictionary <string, string> headers) => AssertPreProcessRequestFlow <CheckoutSessionResponse>(request, headers, HttpMethod.PATCH,
                                                                                                                                        $"{Constants.Resources.WebStore.CheckoutSessions}/{checkoutSessionIdToTest}/"));

            var testRequest = new UpdateCheckoutSessionRequest()
            {
                WebCheckoutDetails = { CheckoutCancelUrl = "http://localhost:5000/cancel" },
                PaymentDetails     =
                {
                    PaymentIntent                 = PaymentIntent.Authorize,
                    // todo: this indicates asynchronous processing, so need to separate indication of Auth with sync/async
                    CanHandlePendingAuthorization = true,
                    AllowOvercharge  = false,
                    ChargeAmount     = { Amount = 10,          CurrencyCode= Currency.USD },
                    ExtendExpiration = false,
                },
                MerchantMetadata = { MerchantReferenceId = "123456", MerchantStoreName = "MerchantStoreName", NoteToBuyer = "NoteToBuyer" }
            };;

            var result = mockClient.Object.UpdateCheckoutSession(checkoutSessionIdToTest, testRequest);
        }
        public void CanConvertToJsonRecurring()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            request.SupplementaryData = "foo1";
            request.WebCheckoutDetails.CheckoutResultReturnUrl = "https://example.com/thankyou.html";
            request.WebCheckoutDetails.CheckoutReviewReturnUrl = "https://example.com/review.html";
            request.MerchantMetadata.CustomInformation         = "foo2";
            request.MerchantMetadata.MerchantReferenceId       = "123";
            request.MerchantMetadata.MerchantStoreName         = "myStore";
            request.MerchantMetadata.NoteToBuyer          = "myBuyerNote";
            request.RecurringMetadata.Frequency.Unit      = FrequencyUnit.Month;
            request.RecurringMetadata.Frequency.Value     = 3;
            request.RecurringMetadata.Amount.Amount       = 23.45m;
            request.RecurringMetadata.Amount.CurrencyCode = Currency.GBP;

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{\"webCheckoutDetails\":{\"checkoutReviewReturnUrl\":\"https://example.com/review.html\",\"checkoutResultReturnUrl\":\"https://example.com/thankyou.html\"},\"merchantMetadata\":{\"merchantReferenceId\":\"123\",\"merchantStoreName\":\"myStore\",\"noteToBuyer\":\"myBuyerNote\",\"customInformation\":\"foo2\"},\"supplementaryData\":\"foo1\",\"recurringMetadata\":{\"frequency\":{\"unit\":\"Month\",\"value\":3},\"amount\":{\"amount\":23.45,\"currencyCode\":\"GBP\"}}}", json);
        }
        public void CanConvertToJsonMinimal()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{}", json);
        }
        public void CanConvertToJsonWithCancelUrl()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            request.WebCheckoutDetails.CheckoutCancelUrl = "https://example.com/cancel.html";;

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{\"webCheckoutDetails\":{\"checkoutCancelUrl\":\"https://example.com/cancel.html\"}}", json);
        }
        public void CanConvertToJsonSupplementaryData()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            request.SupplementaryData = "foo";

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{\"supplementaryData\":\"foo\"}", json);
        }
        public void CanConstructWithAllPropertiesInitialized()
        {
            // act
            var request = new UpdateCheckoutSessionRequest();

            // assert
            Assert.IsNotNull(request);
            Assert.IsNotNull(request.WebCheckoutDetails);
            Assert.IsNotNull(request.MerchantMetadata);
            Assert.IsNotNull(request.PaymentDetails);
            Assert.IsNotNull(request.ProviderMetadata);
            Assert.IsNotNull(request.RecurringMetadata);
            Assert.IsNull(request.PlatformId);
            Assert.IsNull(request.SupplementaryData);
        }
        public void CanConvertToJsonProviderMetadata()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            request.ProviderMetadata.ProviderReferenceId = "foo";

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{\"providerMetadata\":{\"providerReferenceId\":\"foo\"}}", json);
        }
        public void CanConvertToJsonWebCheckoutDetails()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            request.WebCheckoutDetails.CheckoutResultReturnUrl = "https://example.com/thankyou.html";
            request.WebCheckoutDetails.CheckoutReviewReturnUrl = "https://example.com/review.html";

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{\"webCheckoutDetails\":{\"checkoutReviewReturnUrl\":\"https://example.com/review.html\",\"checkoutResultReturnUrl\":\"https://example.com/thankyou.html\"}}", json);
        }
        public void CanConvertToJsonPaymentDetails()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            request.PaymentDetails.ChargeAmount.Amount       = 1080M;
            request.PaymentDetails.ChargeAmount.CurrencyCode = Currency.EUR;
            request.PaymentDetails.PaymentIntent             = PaymentIntent.Authorize;

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{\"paymentDetails\":{\"paymentIntent\":\"Authorize\",\"chargeAmount\":{\"amount\":1080,\"currencyCode\":\"EUR\"}}}", json);
        }
Esempio n. 11
0
        public CheckoutSessionResponse UpdateCheckoutSession(string checkoutSessionId,
                                                             string merchantReferenceId, decimal amount, string checkoutResultReturnUrl)
        {
            var request = new UpdateCheckoutSessionRequest();

            request.WebCheckoutDetails.CheckoutResultReturnUrl = checkoutResultReturnUrl;
            request.PaymentDetails.ChargeAmount.Amount         = amount;
            request.PaymentDetails.ChargeAmount.CurrencyCode   = Amazon.Pay.API.Types.Currency.JPY;
            request.PaymentDetails.PaymentIntent         = PaymentIntent.Authorize;
            request.MerchantMetadata.MerchantReferenceId = merchantReferenceId;
            request.MerchantMetadata.MerchantStoreName   = "AMAZONPAY SAMPLE SHOP";
            request.MerchantMetadata.NoteToBuyer         = "THANK YOU!";

            var client = new WebStoreClient(_config);

            return(client.UpdateCheckoutSession(checkoutSessionId, request));
        }
        public void CanConvertToJsonMerchantMetaData()
        {
            // arrange
            var request = new UpdateCheckoutSessionRequest();

            request.MerchantMetadata.CustomInformation   = "foo";
            request.MerchantMetadata.MerchantReferenceId = "123";
            request.MerchantMetadata.MerchantStoreName   = "myStore";
            request.MerchantMetadata.NoteToBuyer         = "myBuyerNote";

            // act
            string json  = request.ToJson();
            string json2 = request.ToJson();

            // assert
            Assert.AreEqual(json, json2);
            Assert.AreEqual("{\"merchantMetadata\":{\"merchantReferenceId\":\"123\",\"merchantStoreName\":\"myStore\",\"noteToBuyer\":\"myBuyerNote\",\"customInformation\":\"foo\"}}", json);
        }
Esempio n. 13
0
        /// <summary>
        /// Updates a Checkout Session.
        /// </summary>
        public CheckoutSessionResponse UpdateCheckoutSession(string checkoutSessionId, UpdateCheckoutSessionRequest body, Dictionary <string, string> headers = null)
        {
            var apiPath    = apiUrlBuilder.BuildFullApiPath(Constants.ApiServices.Default, Constants.Resources.WebStore.CheckoutSessions, checkoutSessionId);
            var apiRequest = new ApiRequest(apiPath, HttpMethod.PATCH, body, headers);

            var result = CallAPI <CheckoutSessionResponse>(apiRequest);

            return(result);
        }