PayPal - 在汇款前检查门票是否仍然有效

PayPal - Check tickets still available before sending the money

我正在开发在线票务分配系统。 系统会在用户尝试付款之前检查门票是否可用,但是,可能会在用户付款时门票 运行 售罄。 我想这样做,以便当用户实际完成 paypal 付款时,如果票已 运行 出来,它会取消付款并警告用户。

我不是要完整的教程,而是要问我应该使用哪种支付方式(自适应支付、快速结账)以及我应该参考 API 的哪些部分。我使用的是经典 API.

感谢您的帮助。

您可以使用PayPal 的任何支付产品。销售数量有限的商品或其他已完成 costs/delays/challenges 的商品时,标准做法是向买家收取付款授权(因此使用 PAYMENTACTION=AUTHORIZATION),然后 allocate/reserve/sell 将商品发送至特定买家,然后捕获资金。

我个人推荐 Express Checkout 而不是 Adaptive Payments,尽管这两种产品都能很好地处理此流程。以 EC 为例,您将检查票证可用性,执行 SetEC,将用户重定向到 PayPal 进行登录,调用 GetEC(可选,您可以在此处再次检查可用性),然后使用 paymentaction=authorization 调用 DoEC。现在您可以保证能够获得资金,因为您已经从买家那里保留了资金。 Reserve/sell 门票给买家。成功后,调用 DoCapture 以收集授权。如果门票在 DoEC 和您预订之间的几秒钟内消失了(或者您端发生了其他一些履行问题),您可以致电 DoVoid 以取消授权并解除对资金的冻结(尽管如果您的代码爆炸并且无法取消授权,它无论如何都会在几天后到期,因此对买家的影响应该很小)。