Stripe服务端Checkout支付集成异常:无法创建Session及获取ID
问题分析与解决办法
从你描述的只输出"1"的情况来看,代码在执行到\Stripe\Stripe::setApiKey()这一行时就直接终止了,结合你的代码细节,主要有两个关键问题需要解决:
1. Stripe PHP SDK未正确加载(脚本提前终止的核心原因)
你只看到输出"1",说明调用\Stripe\Stripe这个类时触发了致命错误,导致脚本直接停止执行。这通常是因为:
- 没有通过Composer正确安装Stripe SDK,或者安装后未引入自动加载文件
- 手动引入SDK文件时路径错误,导致类无法被找到
解决办法:
- 如果你用Composer管理依赖,一定要在代码最开头引入自动加载器:
require_once 'vendor/autoload.php';
- 如果你手动下载了SDK包,要确保正确引入Stripe的初始化文件:
require_once '/path/to/your/stripe-php/init.php';
先解决这个问题,代码才能继续执行到后续的Session创建步骤。
2. 变量引用错误(后续会导致Session ID获取失败)
即使前面的SDK问题解决了,你最后获取Session ID的代码也存在错误:
$session_id = $object->id;
这里的$object是未定义的变量,你创建的Session对象实际是$session,所以应该修改为:
$session_id = $session->id;
额外排查建议
- 开启PHP错误显示,方便直接定位具体问题:
error_reporting(E_ALL); ini_set('display_errors', 1);
把这段代码放在脚本最开头,就能直观看到代码终止的具体错误信息。
- 确认你的API密钥是有效的
sk_test_开头测试密钥(不过这个错误不会导致脚本在setApiKey步骤终止,只会在创建Session时返回错误响应)。
内容的提问来源于stack exchange,提问作者droledenom
相关产品推荐
相关产品推荐

