设置:
/order 上有一个按钮,单击后会调用 stripe.redirectToCheckout({...}),该按钮会将浏览器重定向到 stripes 付款页面。
Stripe 完成它的任务,最后重定向到 /success。
这是我的问题:我如何在/成功页面上“反映”客户的订单?
看起来应该有2个选择:
选项 1) /success 以某种方式获取发送给它的 JSON 数据(我找不到如何执行此操作的文档,但这似乎是最自然的方式......也许)
选项2)在后端,当stripe确认订单后,我就在数据库中添加/更新用户数据。当他们返回 /success 后,我从数据库中获取相同的数据,并使用该数据将其反映给他们。
想法?
在
session_id
和 success_url
中传入 cancel_url
,例如/成功?session_id={CHECKOUT_SESSION_ID}`。处理路由时,通过调用 Stripe API 提取查询参数并检索 Session https://stripe.com/docs/api/checkout/sessions/retrieve。
如果您已在数据库中存储数据,我还建议添加相关元数据(https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-metadata),例如事务 ID 或用户 ID您可以查询您的数据库。