我目前正在尝试将我的应用与Future Payments集成,并在文档中提及:
与演示一次性付款的标准REST API文档不同, 未来付款不需要您单独付款 获得初步用户同意后获得批准。付款是 用户预先批准。
所以看一下这个例子,我应该得到一个包含以下内容的回复:
"state": "authorized"
"links": [
{
"href": "https://api.paypal.com/v1/payments/authorization/4TD55050SV609544L",
"method": "GET",
"rel": "self"
},
{
"href": "https://api.paypal.com/v1/payments/authorization/4TD55050SV609544L/capture",
"method": "POST",
"rel": "capture"
},
{
"href": "https://api.paypal.com/v1/payments/authorization/4TD55050SV609544L/void",
"method": "POST",
"rel": "void"
},
{
"href": "https://api.paypal.com/v1/payments/authorization/4TD55050SV609544L/reauthorize",
"method": "POST",
"rel": "reauthorize"
},
{
"href": "https://api.paypal.com/v1/payments/payment/PAY-2C433581AX997613HKJFBVLI",
"method": "GET",
"rel": "parent_payment"
}
],
根据我的理解,该事务以及请求标头中的客户端元数据ID和访问令牌应自动处理,无需进一步批准,因为用户已经同意。
因此,如果交易意图是“销售”,则成功响应“状态”将“完成”,如果意图是“授权”,则状态将被“授权”。
这是有道理的,但是在测试我的应用时,我收到了一个带有审批网址的回复,我需要将用户重定向到“状态”是“已创建”而非“已完成/已授权”? -
"state": "created"
"create_time": "2016-03-20T00:42:25Z",
"links": [
{
"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-3NA62949E72063722K3W7D4I",
"rel": "self",
"method": "GET"
},
{
"href": "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-41A06151Y6402822R",
"rel": "approval_url",
"method": "REDIRECT"
},
{
"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-3NA62949E72063722K3W7D4I/execute",
"rel": "execute",
"method": "POST"
}
]
答案 0 :(得分:0)
我设法通过从范围中删除express_checkout来解决此问题。如果启用此功能,它似乎会覆盖未来的付款,因此它不再有效,而是使用快速结帐付款流程。