Laravel Spark集成Paddle支付报错:支付时提示Something went wrong求助
解决Laravel Spark + Paddle支付弹窗报错问题
以下是按优先级排序的排查步骤,直接定位问题:
核对Paddle密钥与环境配置
别搞混沙盒和生产环境的密钥:- 打开
.env,确认PADDLE_VENDOR_ID、PADDLE_VENDOR_AUTH_CODE、PADDLE_PUBLIC_KEY和Paddle后台对应环境的密钥完全一致。 - 检查
config/spark.php里的paddle配置是否正确读取环境变量,比如:'paddle' => [ 'vendor_id' => env('PADDLE_VENDOR_ID'), 'vendor_auth_code' => env('PADDLE_VENDOR_AUTH_CODE'), 'public_key' => env('PADDLE_PUBLIC_KEY'), 'environment' => env('PADDLE_ENVIRONMENT', 'sandbox'), ], - 公钥要完整复制,包括首尾的
-----BEGIN PUBLIC KEY-----和-----END PUBLIC KEY-----,别丢换行或字符。
- 打开
查看浏览器控制台的具体错误
弹窗的模糊提示没用,直接F12打开控制台:- 看Console标签里的JS错误,比如是否有Paddle脚本加载失败、CORS跨域错误。
- 切换到Network标签,过滤XHR请求,找到Paddle相关的API调用,查看请求返回的状态码和错误信息(比如401是密钥错,404是产品ID不存在)。
验证订阅计划与Paddle产品的映射
- 打开
config/spark.php里的订阅计划配置,确保每个计划的paddle_id和Paddle后台对应环境的产品/订阅ID完全匹配(是数字ID,不是名称)。 - 去Paddle后台确认该产品是否处于激活状态,沙盒环境的产品必须在沙盒后台创建,不能用生产环境的ID。
- 打开
检查Webhook与路由配置
- 执行
php artisan route:list,确认spark/paddle/webhook路由存在且注册正常。 - 去Paddle后台的Webhook设置页面,添加你的应用Webhook URL(比如
https://your-domain.com/spark/paddle/webhook),并启用支付、订阅相关的事件。 - 查看
storage/logs/laravel.log,看是否有Webhook接收失败的日志,比如签名验证错误。
- 执行
重新编译前端资源
有时候Paddle的JS依赖没正确打包,执行npm run dev(开发环境)或npm run prod(生产环境)重新编译前端资源,然后刷新页面再试。查看Laravel日志定位核心问题
直接翻看storage/logs/laravel.log的最新内容,Spark处理支付时会抛出具体异常,比如“Invalid Paddle signature”“Product not found”之类的,这些日志能直接告诉你哪里错了。
内容的提问来源于stack exchange,提问作者tabacitu
相关产品推荐
相关产品推荐

