条纹结帐未定义变量:响应
Stripe Checkout Undefined variable: response
我正在集成来自 Stripe Docs (https://stripe.com/docs/checkout/integration-builder) 的简单预建结帐示例。但是我得到这个错误
Undefined variable: response in ../create-checkout-session.php on line 28
我的html;
<script src="https://polyfill.io/v3/polyfill.min.js?version=3.52.1&features=fetch"></script>
<script src="https://js.stripe.com/v3/"></script>
<form action="/create-checkout-session.php" method="POST">
<button type="submit">Checkout</button>
</form>
我的 create-checkout-session.php 与文档中的代码相同。
var_dump
正在运行,其中确实有一个 ["url"],当我手动打开 URL 时,它正在运行。
<?php
require_once('../classes/stripe-php-7.87.0/init.php');
\Stripe\Stripe::setApiKey('sk_test_...');
header('Content-Type: application/json');
$YOUR_DOMAIN = 'https://example.com/';
$checkout_session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
'price_data' => [
'currency' => 'usd',
'unit_amount' => 2000,
'product_data' => [
'name' => 'Stubborn Attachments',
'images' => ["https://i.imgur.com/EHyR2nP.png"],
],
],
'quantity' => 1,
]],
'mode' => 'payment',
'success_url' => $YOUR_DOMAIN . '/success.html',
'cancel_url' => $YOUR_DOMAIN . '/cancel.html',
]);
var_dump($checkout_session);
return $response->withHeader('Location', $checkout_session->url)->withStatus(303);
我做错了什么?
使用条带的 Composer 版本,并根据文档在顶部包含自动加载文件。它应该工作正常。
require 'vendor/autoload.php';
同样的错误。我已经包含了 autoload.php。
最后整理出这个脚本是针对Slim Framework的。
最后一行,使用这个:
header('Location:'.$checkout_session->url,true,303);
我正在集成来自 Stripe Docs (https://stripe.com/docs/checkout/integration-builder) 的简单预建结帐示例。但是我得到这个错误
Undefined variable: response in ../create-checkout-session.php on line 28
我的html;
<script src="https://polyfill.io/v3/polyfill.min.js?version=3.52.1&features=fetch"></script>
<script src="https://js.stripe.com/v3/"></script>
<form action="/create-checkout-session.php" method="POST">
<button type="submit">Checkout</button>
</form>
我的 create-checkout-session.php 与文档中的代码相同。
var_dump
正在运行,其中确实有一个 ["url"],当我手动打开 URL 时,它正在运行。
<?php
require_once('../classes/stripe-php-7.87.0/init.php');
\Stripe\Stripe::setApiKey('sk_test_...');
header('Content-Type: application/json');
$YOUR_DOMAIN = 'https://example.com/';
$checkout_session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
'price_data' => [
'currency' => 'usd',
'unit_amount' => 2000,
'product_data' => [
'name' => 'Stubborn Attachments',
'images' => ["https://i.imgur.com/EHyR2nP.png"],
],
],
'quantity' => 1,
]],
'mode' => 'payment',
'success_url' => $YOUR_DOMAIN . '/success.html',
'cancel_url' => $YOUR_DOMAIN . '/cancel.html',
]);
var_dump($checkout_session);
return $response->withHeader('Location', $checkout_session->url)->withStatus(303);
我做错了什么?
使用条带的 Composer 版本,并根据文档在顶部包含自动加载文件。它应该工作正常。
require 'vendor/autoload.php';
同样的错误。我已经包含了 autoload.php。 最后整理出这个脚本是针对Slim Framework的。 最后一行,使用这个:
header('Location:'.$checkout_session->url,true,303);