我正在將 Stripe 結帳集成到我的 PHP 專案中。我需要為條帶結帳創建一個會話,但是Invalid array當我單擊付款按鈕時出現錯誤,它沒有創建會話并引發錯誤。我不知道我在哪里以及缺少什么,我正在使用條紋 V3 代碼。
我在會話創建條帶結帳時遇到的錯誤。
結帳會話創建失敗!無效的陣列
結帳頁面代碼
<?php
// Include configuration file
require_once 'config.php';
// Include Stripe PHP library
require_once 'stripe-php/init.php';
// Set API key
$stripe = new \Stripe\StripeClient(STRIPE_API_KEY);
$response = array(
'status' => 0,
'error' => array(
'message' => 'Invalid Request!'
)
);
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$input = file_get_contents('php://input');
$request = json_decode($input);
}
if (json_last_error() !== JSON_ERROR_NONE) {
http_response_code(400);
echo json_encode($response);
exit;
}
if(!empty($request->checkoutSession)){
// Create new Checkout Session for the order
try {
$session = $stripe->checkout->sessions->create([
'payment_method_types' => ['card'],
'line_items' => [[
'price_data' => [
'currency' => $currency,
'unit_amount' => $stripeAmount,
'product_data' => [
'name' => $productName,
'images' => $productName,
],
],
'quantity' => 1,
]],
'mode' => 'payment',
'success_url' => STRIPE_SUCCESS_URL.'?session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => STRIPE_CANCEL_URL,
]);
}catch(Exception $e) {
$api_error = $e->getMessage();
}
if(empty($api_error) && $session){
$response = array(
'status' => 1,
'message' => 'Checkout Session created successfully!',
'sessionId' => $session['id']
);
}else{
$response = array(
'status' => 0,
'error' => array(
'message' => 'Checkout Session creation failed! '.$api_error
)
);
}
}
// Return response
echo json_encode($response);
?>
uj5u.com熱心網友回復:
我認為問題在于“line_items.price_data.product_data.images”,因為它接受影像串列并且您正在傳遞產品名稱。它應該是這樣的
$session = $stripe->checkout->sessions->create([
'payment_method_types' => ['card'],
'line_items' => [[
'price_data' => [
'currency' => $currency,
'unit_amount' => $stripeAmount,
'product_data' => [
'name' => $productName,
'images' => ["image_link1","image_link2"],
],
],
'quantity' => 1,
]],
'mode' => 'payment',
'success_url' => STRIPE_SUCCESS_URL.'?session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => STRIPE_CANCEL_URL,
]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/525722.html
標籤:php条纹支付
