PayPal期货付款返回'approval_url'

时间:2016-03-20 03:31:43

标签: paypal payment future

我目前正在尝试将我的应用与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"
                            }
               ]

1 个答案:

答案 0 :(得分:0)

我设法通过从范围中删除express_checkout来解决此问题。如果启用此功能,它似乎会覆盖未来的付款,因此它不再有效,而是使用快速结帐付款流程。