我在使用PHP的网站中整合了paypal(第一次)。根据我的阅读,有两种方法可以确认成功的交易,PDT和IPN。
现在问题是,所售商品的库存有限。因此,如果假设一个人预订了一件商品并被带到PAYPAL网站进行最终付款,我必须阻止所有其他人进行购买,因为最后一件商品将被“保留”。
但是假设那个人(保留了项目的最后一部分)进入了paypal页面,然后简单地将其关闭。这会导致“失败”的ipn来找我(所以我应该取消预订该物品,以便其他人可以购买)?
如果是这样,失败的IPN需要多长时间?
如果没有,我应该如何处理这个问题。
是否有任何IPN未来的情况?
答案 0 :(得分:1)
您可以使用Express Checkout API。 使用EC,付款是一个两步过程。在第一步中,您进行API调用(SetExpressCheckout),您可以在其中设置事务,并将买方重定向到PayPal。在那里,买方授权付款,并返回您的网站。
此时没有钱易手。您需要进行第二次API调用才能获取资金(DoExpressCheckout)。
您可以将该项目保留一段特定时间,如果买方放弃交易,或者批准付款的速度很慢,您可以将该项目重新发布给公众。如果他最终批准了它,并且确实回到了您的网站,您只需跳过第二步,并通知用户他的交易超时。没有钱换手,没有物品被双重出售。