我目前正在尝试将我的应用程序与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和访问令牌应自动处理,无需进一步批准,因为用户已经同意。
因此,如果交易意图为“出售”,则成功响应的“状态”将为“完成”,而如果意图为“授权”,则状态将为“已授权”。
这是有道理的,但是在测试我的应用程序时,我得到一个带有批准URL的响应,我需要将用户重定向到该URL,并且状态是“创建”而不是“完成/授权”?--
"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"
}
]
我设法通过从范围中删除express_checkout来解决了该问题。如果启用此功能,它似乎会覆盖以后的付款,因此它将不再起作用,而改用快速结帐付款流程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句