You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Stripe支付重定向页面获取支付状态及产品信息并存入WordPress数据库?

解决思路

方案1:通过支付会话ID从Stripe API拉取数据(适合重定向后即时展示+存储)

创建支付链接时,在success_url和cancel_url中添加Stripe提供的占位符{CHECKOUT_SESSION_ID},示例格式:

https://your-wordpress-site.com/payment-result/?session_id={CHECKOUT_SESSION_ID}

用户完成/取消支付后,Stripe会自动将占位符替换为实际会话ID,重定向到你的WordPress页面。

后续在WordPress中处理:

  • 从URL参数里提取session_id。
  • 使用Stripe PHP SDK调用stripe.checkout.sessions.retrieve接口,传入会话ID。
  • 从返回的会话数据中,获取payment_status字段判断支付结果(值为succeeded/pending/failed等),以及line_items下的产品名称、价格、数量等信息。
  • 将这些数据插入WordPress自定义数据库表,或作为自定义字段关联到用户/订单记录中。

方案2:使用Stripe Webhooks(更可靠,避免用户中断重定向导致数据丢失)

Webhooks是Stripe主动向服务器发送支付事件通知的机制,不受用户是否返回重定向页面的影响,能确保数据稳定存入数据库:

  • 在Stripe后台配置Webhook端点,指向WordPress的自定义路由(比如wp-json/your-plugin/v1/stripe-webhook)。
  • 监听checkout.session.completed(支付成功触发)和checkout.session.expired(支付取消/超时触发)事件。
  • 在WordPress中编写Webhook处理代码:
    1. 验证Stripe发送的签名(防止伪造请求,Stripe SDK提供现成验证方法)。
    2. 解析事件中的data.object(即会话详情),提取支付状态、产品信息。
    3. 将数据存入WordPress数据库,同时记录事件ID避免重复处理。

关键注意事项

  • 所有Stripe API调用必须在WordPress后端执行,绝对不能把API密钥暴露在前端代码中。
  • 使用Stripe官方PHP SDK简化开发,可通过Composer安装或直接引入到WordPress插件/主题中。
  • Webhook处理要做好错误捕获和日志记录,避免因网络波动导致事件丢失。

内容的提问来源于stack exchange,提问作者udarts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 22:15:27