我正在使用Express Checkout flow和advanced server integration。
因此,一旦用户点击“结帐”按钮并等待成功\失败响应,我就会实时保留项目。用户可以关闭浏览器选项卡,它看起来像一个长的支付过程(JS代码无法调用onCancel
处理程序)。
所以看起来我不知道用户是关闭浏览器还是只是睡着了。问题,我不能等待太久(超过约5分钟),我想在此时间后取消付款。似乎我不能自己取消付款。因此,用户可以在N分钟(N> 5)之后返回并支付未预订且已经缺货的商品。
这answer说:
用户有三个小时的时间来批准PayPal付款
答案 0 :(得分:1)
您可以在GET
ID上执行PAY-XXXX
。
https://developer.paypal.com/docs/api/payments/#payment_get
响应带有create_time
字段。您应该可以从create_time -> now
检查增量,如果它是> 5分钟,不接受PAY-XXXX
id /取消数据库中的交易。
这适用于您的用例吗?
另请注意:在您致电execute
之前不会移动任何资金,只要您阻止execute
来电查询旧交易,您就可以了。
答案 1 :(得分:0)
我认为现在还有3个小时,在付款创建期间无法进行设置。但我认为买家无论是通过批准还是不批准返回您的网站都不能付款。因此,无法在买家回来的步骤和完成付款的电话之间进行检查吗?