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

Shopware 6中如何通过store-api设置支付信息对接Stripe支付

问题根因

你遇到的No credit card selected报错是Shopware无头模式对接Stripe的常见问题,已有大量开发者通过相同方案解决。本质原因是Shopware官方Stripe集成不会从/store-api/handle-payment接口的载荷中读取信用卡相关参数,需要提前将Stripe生成的支付凭证绑定到当前订单的会话上下文,才能正常触发支付流程,具体操作步骤如下:

  • 首先通过Stripe前端JS SDK收集信用卡信息,生成格式为pm_xxx的Stripe支付方法ID,注意不要把明文信用卡信息传输到你的服务端,所有敏感卡信息必须由前端直接和Stripe交互生成凭证,符合支付合规要求。
  • 调用Shopware Store API的/store-api/payment-method/stripe/set-card接口,将生成的支付方法ID绑定到当前会话上下文,请求示例如下:
{
  "paymentMethodId": "pm_xxxxxxxxxxxxxxxxxxxxxxxx",
  "saveCard": false
}

saveCard参数设为true时可将当前信用卡保存到用户的Shopware账号中,供后续下单复用。

  • 完成绑定后,再按官方文档要求调用/store-api/handle-payment接口,传入原有的orderId、finishUrl、errorUrl三个参数即可正常触发Stripe支付流程,无需额外传递信用卡相关参数。

注意:如果是访客下单场景,必须保证调用set-card接口和后续handle-payment接口时,请求头携带的sw-context-token完全一致,否则上下文不关联仍然会触发相同报错。如果需要适配Stripe 3D Secure强认证要求,可以在调用set-card接口时额外传入returnUrl参数,用于认证完成后的跳转回调。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 06:27:01