예제 #1
0
        public async Task ExecuteShippingPayment()
        {
            var httpClientFactory    = new HttpClientFactory();
            var oAuthTokenCredential = new PaypalOauthClient(httpClientFactory);
            var token = await oAuthTokenCredential.GetAccessToken(_clientId,
                                                                  _clientSecret,
                                                                  new PaypalOauthClientOptions
            {
                ApplicationMode = PaypalApplicationModes.sandbox
            });

            var paypalClient = new PaypalClient(httpClientFactory);
            var r            = await paypalClient.CreatePayment(new CreatePaymentParameter
            {
                AccessToken = token.AccessToken,
                Intent      = IntentPayments.sale,
                Payer       = new PaypalPayer
                {
                    PaymentMethod = PaypalPaymentMethods.Paypal,
                    Email         = "*****@*****.**"
                },
                Transactions = new[]
                {
                    new PaymentTransaction
                    {
                        Currency = "EUR",
                        Total    = 5,
                        Shipping = 5,
                        Payee    = new PaypalPayee
                        {
                            Email = "*****@*****.**"
                        }
                    }
                },
                CancelUrl = "http://localhost:3000/cancel",
                ReturnUrl = "http://localhost:3000/accept"
            });

            string s = "";
        }
예제 #2
0
        public async Task ExecutePayment()
        {
            var httpClientFactory    = new HttpClientFactory();
            var oAuthTokenCredential = new PaypalOauthClient(httpClientFactory);
            var token = await oAuthTokenCredential.GetAccessToken(_clientId,
                                                                  _clientSecret,
                                                                  new PaypalOauthClientOptions
            {
                ApplicationMode = PaypalApplicationModes.sandbox
            });

            var paypalClient = new PaypalClient(httpClientFactory);
            var r            = await paypalClient.CreatePayment(new CreatePaymentParameter
            {
                AccessToken = token.AccessToken,
                Intent      = IntentPayments.authorize,
                Payer       = new PaypalPayer
                {
                    PaymentMethod = PaypalPaymentMethods.Paypal,
                    Email         = "*****@*****.**"
                },
                Transactions = new []
                {
                    new PaymentTransaction
                    {
                        Currency = "EUR",
                        Total    = 10,
                        Shipping = 5,
                        SubTotal = 5,
                        Items    = new []
                        {
                            new PaypalItem
                            {
                                Currency = "EUR",
                                Name     = "Red hat",
                                Price    = 5,
                                Quantity = 1
                            }
                        },
                        Payee = new PaypalPayee
                        {
                            Email = "*****@*****.**"
                        }
                    }
                },
                CancelUrl = "http://localhost:3000/cancel",
                ReturnUrl = "http://localhost:3000/accept"
            });

            var res = await paypalClient.GetPayment(new GetPaymentParameter
            {
                AccessToken = token.AccessToken,
                PaymentId   = r.Id
            });

            var newPrice        = new JObject();
            var newPriceDetails = new JObject();

            newPriceDetails.Add("subtotal", "5");
            newPriceDetails.Add("shipping", "3");
            newPrice.Add("total", "8");
            newPrice.Add("currency", "EUR");
            newPrice.Add("details", newPriceDetails);
            var r2 = await paypalClient.UpdatePayment(r.Id, new UpdatePaymentParameter
            {
                AccessToken = token.AccessToken,
                JsonPatches = new []
                {
                    new JsonPatch
                    {
                        Operation = JsonPatchOperations.replace,
                        Path      = "/transactions/0/amount",
                        Value     = newPrice
                    }
                }
            });

            var r3 = await paypalClient.ExecutePayment(r.Id, new ExecutePaymentParameter
            {
                AccessToken = token.AccessToken,
                PayerId     = "" // Return the payer id returned in the http://localhost:3000/accept?paymentId=PAY-52K97665BJ176034HLG4V4EY&token=EC-0AG28408B7828094W&PayerID=RTTQKS7QPPFXL
            });

            string s = "";
        }