.NET 中的 Paypal v2 快速结帐集成
Posted
技术标签:
【中文标题】.NET 中的 Paypal v2 快速结帐集成【英文标题】:Paypal v2 express checkout integration in .NET 【发布时间】:2021-07-23 03:41:53 【问题描述】:我目前正在检查 v2 express checkout 的集成过程,并且有很多文档造成混乱。
到目前为止,我使用的是 paypal 域中的 checkout.js,并使用下面的代码在客户端创建订单,如下所示
paypal.Button.render( env: 'sandbox', // 或者 'sandbox',
commit: true, // Show a 'Pay Now' button
style:
color: 'gold',
shape: 'rect',
label: 'paypal',
size: 'medium',
tagline: false,
width: 150
,
payment: function (data, actions)
/* Set up a url on your server to create the payment */
var CREATE_URL = '/paypal/createpaypalPayment';
/* Make a call to your server to set up the payment */
return paypal.request.post(CREATE_URL)
.then(function ( result )
var test = JSON.parse(result);
return test.id;
);
,
onAuthorize: function (data, actions)
/* Set up a url on your server to execute the payment */
var EXECUTE_URL = '/paypal/executepaypalPayment';
/* Set up the data you need to pass to your server */
var data =
paymentID: data.paymentID,
payerID: data.payerID
;
return paypal.request.post(EXECUTE_URL, data)
.then(function (res)
return null;
);
, '#paypalcheckout');
);
请找到创建订单的服务器端代码。
[HttpPost]
public JsonResult createpaypalpayment()
var client = new WebClient();
string credentials = clientid + secretid;
client.Headers.Add("authorization", "Basic " + credentials);
client.Headers.Add("content-type", "application/json");
client.Headers.Add("accept-language", "en_US");
client.Headers.Add("accept", "application/json");
var body = @"
""intent"": ""AUTHORIZE"",
""purchase_units"": [
""amount"":
""currency_code"": ""USD"",
""value"": ""100.00""
]
";
try
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
var response = client.UploadString("https://api.sandbox.paypal.com/v2/checkout/orders/", "POST", body);
return Json(new result = response , JsonRequestBehavior.AllowGet);
我参考了以下文档 https://developer.paypal.com/docs/archive/orders-integration-guide/#integration-steps
我很了解如何在创建订单后显示订单详细信息并获得客户的批准? 任何人都可以为此提供建议。
提前致谢
【问题讨论】:
【参考方案1】:checkout.js 已弃用,文档已存档,因此我的建议是您遵循 developer.paypal.com 上的当前文档
在your other question 中,提供了指向该文档的链接。
【讨论】:
以上是关于.NET 中的 Paypal v2 快速结帐集成的主要内容,如果未能解决你的问题,请参考以下文章
PayPal - 10001 内部错误:超时处理请求快速结帐
网站支付标准和 PayPal 支付 Pro 之间的快速结帐差异