我是第一次使用PayPal Marketplace API开发我的应用程序。
在其他步骤中,我需要自定义" PayPal结帐"按钮。我是按照this page上的说明做到的。
在功能"付款" (请参阅下面的原始代码段),我应该为CREATE_URL提供回调网址:
// payment() is called when the button is clicked
payment: function() {
// Set up a url on your server to create the payment
var CREATE_URL = '/demo/checkout/api/paypal/order/create/';
// Make a call to your server to set up the payment
return paypal.request.post(CREATE_URL)
.then(function(res) {
return res.id;
});
}
通过阅读本文,我很困惑为什么CREATE_URL值不是以" http"开头的完整路径网址。或" https"?我在html文件的后续段中有类似的EXECUTE_URL问题。
我的REST控制器应该期望什么类型的RequestBody?
我的应用应该采取什么操作的网址为" CREATE_URL"?我的直觉是调用Order API来创建一个订单(以及我的数据库中的其他内容)。这是对的吗?
答案 0 :(得分:1)
我可以一次解决一个问题:
您不必拥有完整路径网址(称为绝对路径),因为您为CREATE_URL提供的路径位于您自己的服务器上。因此,您拥有按钮的代码位于exampleButton.html等页面上,当您单击该按钮时,它会将您带到脚本,例如
var CREATE_URL = '/demo/checkout/api/paypal/order/create/';
这是一个索引页面,它将使用您传递的数据运行Create Order API method。这是另一个实现payment button with checkout.js using a server side language。
您的请求正文将从JavaScript data
参数接收付款数据,该参数应为JSON格式。然后在收到POST数据时将其传递给服务器端。
更简单的实现是使用client-side integration创建订单。
您的应用应自动运行创建订单方法。此脚本适用于JavaScript承诺,因此将等待响应,例如在尝试执行付款之前获得客户的成功授权(或失败)。