我在应用程序中使用条带结账会话来处理支付。我想在这里谈谈构建支付解决方案的两种不同方法。
- 使用stripe webhook来确认使用
checkout.session.completed
事件完成的付款。验证条带签名,从用于创建结账会话的元数据中检索orderId,并使用此元数据完成订单。 - 付款完成后,返回应用程序并调用另一个API(内部API)来完成订单,我们将发送
{orderId:orderId}
作为完成的数据。现在使用orderId,我们将从stripe中获取结帐会话信息,并使用会话中的元数据来完成订单。我们将从结账会话的成功URL获取orderId(uuid)。
对于所有在生产应用程序中使用条带的人,您是如何实施条带支付的,哪一种更好?
2条答案
按热度按时间sbdsn5lh1#
我建议你根据webhook事件完成订单。您可以按照details的教程操作。
你不应该回复成功的URL重定向。有很多事情可能会导致重定向失败(例如,网络问题,您的服务器关闭)。
另一方面,Webhook更可靠。如果第一次交付不成功,Stripe将在3天内继续重试。您还可以使用webhook签名来验证并确保事件实际上是从Stripe发送的。
y0u0uwnf2#
如上所述,Stripe webhook非常强大-如果您的webhook出错或关闭,stripe将继续尝试交付失败的数据3天,每天几次。他们也会给你发电子邮件,让你知道它的失败,如果它反复。我在生产中有几个大量使用的项目,其中应用程序的整个业务逻辑都基于条带webhook,我建议您使用它们而不是其他方法。