创建支付会话:
$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'], //, 'fpx','alipay'
'line_items' => [[
'price_data' => [
'product_data' => [
'name' => "Topup USDT Wallet",
'images' => ["https://abc-uaha.co/uploads/site_logo/site_logo_20210321130054.png"],
'metadata' => [
'pro_id' => "USD".$_GET['price']/100
]
],
'unit_amount' => $_GET['price'],
'currency' => 'usd',
],
'quantity' => 1,
'description' => "Spartan Capital",
]],
'mode' => 'payment',
'success_url' => STRIPE_SUCCESS_URL.'?session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => STRIPE_CANCEL_URL,
]);
请参阅此文档:https://stripe.com/docs/api/checkout/sessions/line_items
我尝试从会话中检索数量:
try {
$checkout_session = \Stripe\Checkout\Session::retrieve([
'id' =>$session_id,
'expand' => ['line_items'],
]);
}catch(Exception $e) {
$api_error = $e->getMessage();
}
$line_items = $session->line_items[0].quantity;
echo $line_items; //it shows nothing, how to make it output "1"?
答案 0 :(得分:0)
line_items
。要在检索调用中获取它们,您需要expand line_item
属性。
您有两个语法错误:
您缺少一个图层并使用点表示法而不是 PHP 箭头语法。第二个错误是使用 $session
而不是 $checkout_session
。所以应该是:
$quantity = $checkout_session->line_items->data[0]->quantity
;