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 = ""; }
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 = ""; }