文档只涵盖由前端(JS)创建的支付方法的情况。但是有一个风险,用户离开网站前,前端发送信息到后端,卡已经被添加(和它的ID)。
为了付款,我需要付款方式的ID。我不想每次在付款前查询Stripe的API中的用户卡ID,所以我想将支付方法ID保存在本地数据库中。我也希望允许用户定义更多的支付方法,并选择默认的支付方法。
发布于 2022-01-05 18:24:50
是否有您使用不推荐的工作流程链接的原因?最新版本可以找到这里。
你用网络钩子听者结帐了吗?我使用它们来创建/更新本地记录。
在您引用的工作流中,可能会触发3个web钩子事件。首先,setup_intent.created事件是在服务器代码生成SetupIntent及其client_secret时触发的。然后,当用户填写您实例化的任何支付或Card元素,并且您的前端代码调用stripe.confirmCardSetup() (或者在PaymentElement情况下是stripe.confirmSetup() )时,setup_intent.succeeded和payment_method.attached事件都会触发。
最后一个将发布刚刚连接到您的客户的payment_method对象,返回到您的系统。此对象将具有支付方法ID和相关的客户ID。您可以使用这些方法更新本地记录,将支付方法映射到服务器中的客户,并避免不必要的API调用。
https://stackoverflow.com/questions/70594661
复制相似问题