Shopware 6.4集成Saferpay遇CHECKOUT__ASYNC_PAYMENT_PROCESS_INTERRUPTED错误求助
排查Shopware 6.4 + Saferpay预发布环境支付跳转失败问题
错误码解析
CHECKOUT__ASYNC_PAYMENT_PROCESS_INTERRUPTED 表示异步支付流程中途中断,核心诱因集中在服务器配置、网络通信、插件逻辑或环境差异上。
分步排查方案
1. 验证服务器与Saferpay的网络连通性
- 用
curl命令测试预发布服务器能否正常访问Saferpay API端点:curl -I https://www.saferpay.com/api/v1/PaymentPage/Initialize - 检查Infomaniak服务器的防火墙、安全组规则,确认允许出站请求到Saferpay的域名及IP段。
- 同步服务器系统时间与Saferpay服务器时间,时间差过大可能导致签名验证失败。
2. 核对本地与预发布环境的配置差异
- 检查Shopware后台或
config/packages/shopware.yaml中的异步支付配置:确保预发布环境开启异步支付支持,且回调URL为公网可访问的HTTPS地址。 - 确认Saferpay插件的商户ID、API密钥、终端ID等配置项与本地环境完全一致,避免混淆测试/生产密钥。
- 清理预发布环境缓存:执行
bin/console cache:clear和bin/console cache:warmup确保配置生效。
3. 强制开启详细日志追踪
- 修改
.env文件调整日志级别:APP_ENV=dev APP_DEBUG=1 LOG_LEVEL=debug - 开启Saferpay插件内置的日志功能(若支持),设置为最高级别。
- 发起支付后查看以下日志:
- Shopware核心日志:
var/log/prod.log或var/log/dev.log - Saferpay插件专属日志(通常在
var/log/目录下) - 服务器系统日志:如
/var/log/apache2/error.log或/var/log/nginx/error.log,排查PHP错误、请求超时或重定向异常。
- Shopware核心日志:
4. 验证回调逻辑有效性
- 确认预发布环境域名的SSL证书有效(非自签名),Saferpay要求回调地址必须为HTTPS。
- 用Postman或
curl手动模拟Saferpay回调请求,检查回调URL是否能返回200状态码。 - 检查服务器的
.htaccess或Nginx规则,确保未拦截Saferpay的回调路由(如/api/saferpay/callback)。
5. 确认版本兼容性
- 确保预发布环境的Shopware 6.4版本与本地完全一致,避免版本差异引发的逻辑冲突。
- 检查Saferpay插件是否适配当前Shopware版本,必要时升级至最新兼容版本。
6. 排查PHP配置差异
- 对比本地与预发布环境的
php.ini配置:- 确认
allow_url_fopen已开启 - 调整
max_execution_time至足够时长(异步支付流程可能需要较长执行时间) - 确保
curl扩展已安装并启用,且支持TLS 1.2+协议
- 确认
内容的提问来源于stack exchange,提问作者Ria Spirjak
相关产品推荐
相关产品推荐

