我的网站有两个付款处理器:
另一个处理器具有API调用以使令牌无效,因此如果用户仍未提交其付款信息并且我已撤销其待处理的付款令牌 - >他会得到一个错误。
1. The user starts a request to paypal
2. The user starts a request to other processor
3. He completes the payment with other processor
4. He then completes the payment with paypal
正如我所看到的,只有撤销 paypal令牌可以解决这个问题。 如果是这样 - 有人知道如何以编程方式进行吗?
注意:两次交易成功完成的任何情况都是不可接受的(因此退款/取消和类似不是解决方案)
答案 0 :(得分:0)
我假设您正在使用(热门的)快速结帐API,并且您所描述的情况是在您发布SetExpressCheckout
之后但是在您发布DoExpressCheckoutPayment
之前。
在这种情况下,由于您已经将购物者重定向到PayPal网站,因此它不在您的手中,并且没有API来撤销令牌。但是,对您的案例有一个简单的解决方案。即使购物者在PayPal上批准了交易,您仍然可以忽略重定向而不发出DoExpressCheckoutPayment
请求。在这种情况下,从他的账户(你从未得到过)获得的资金将在最初的SetExpressCheckout发出3小时后返还给他。
不要忘记向用户发出适当的通知。