获取条带会话返回 No such checkout.session

问题描述 投票:0回答:1

我有一个用于条纹付费链接的自定义返回页面。 它返回 session_id (我得到的)。但它显示错误:

Fatal error: Uncaught (Status 404) (Request 'some string') No such checkout.session: "session_id" thrown in public_html/wp-content/plugins/yith-stripe-connect-for-woocommerce-premium/vendor/stripe/stripe-php/lib/Exception/ApiErrorException.php on line 38.

该行位于网站不同区域使用的插件上,但不适用于此特定页面,也许这是冲突的。

我检查了仪表板,可以看到 session_id,这是正确的。所以我不确定哪里出了问题。

我使用以下代码:

$stripe = new \Stripe\StripeClient('API key');

$session = $stripe->checkout->sessions->retrieve($_GET['session_id']);

然后对会话数据执行一些操作。

php stripe-payments
1个回答
0
投票

就我而言,也可能是许多其他人的情况,这是因为我使用的是 Stripe Connect,并且我没有提供连接帐户的 AccountId。 通过不传递连接帐户的 AccountId,它会在我的平台(父)帐户中查找结帐会话,而实际上结帐会话是在连接帐户下创建的。

下面展示了如何使用 C# 传入 AccountId,或者参阅 stripe php 文档 了解更多 PHP 示例。

var service = new Stripe.Checkout.SessionService();

var requestOptions = new RequestOptions
{
    StripeAccount = request.AccountId,
};

var checkoutSession = await service.GetAsync(request.CheckoutSessionId, requestOptions: requestOptions);


© www.soinside.com 2019 - 2024. All rights reserved.