#stripe-payments
Вопрос:
Я пытаюсь получить элементы строки в версии API stripe 2020/08 через веб-крючки, но они не возвращаются в веб-крючке. Мой код таков:
$session = StripeCheckoutSession::create([
'customer' => $user,
'payment_method_types' => ['card'],
//'metadata' => ['item_id' => '6735'],
'line_items' => [[
'name' => 'cows',//$name,
'description' => $description,
'images' => ['https://www.mathtutortime.com/account/add_time/selected/tutoring.jpg'],
'amount' => 0050.00,
'currency' => 'usd',
'quantity' => 1,
],
],
'mode' => 'payment',
'success_url' =>'https://www.mathtutortime.com/account/add_time/selected/success2?session_id={CHECKOUT_SESSION_ID}amp;bought='.urlencode($description).'',
'cancel_url' => 'https://www.mathtutortime.com/account/add_time/selected/failure',
]);
, и то, что возвращается в событии сеанса проверки, является:
{
"id": "evt_1IuOvpBaP49eHvWwXFoFZzsB",
"object": "event",
"api_version": "2020-08-27",
"created": 1621805637,
"data": {
"object": {
"id": "cs_test_a1U80BcqqjXeudvxrYDCUr34w5YZBUCKRN8qCdCMx7wGWnGMhtrP7I3xFk",
"object": "checkout.session",
"allow_promotion_codes": null,
"amount_subtotal": 50,
"amount_total": 50,
"billing_address_collection": null,
"cancel_url": "https://www.mathtutortime.com/account/add_time/selected/failure",
"client_reference_id": null,
"currency": "usd",
"customer": "rickster26ter4",
"customer_details": {
"email": "rick.giovanini1@gmail.com",
"tax_exempt": "none",
"tax_ids": [
]
},
"customer_email": null,
"livemode": false,
"locale": null,
"metadata": {
},
"mode": "payment",
"payment_intent": "pi_1IuOvFBaP49eHvWw9jkdH1nb",
"payment_method_options": {
},
"payment_method_types": [
"card"
],
"payment_status": "paid",
"setup_intent": null,
"shipping": null,
"shipping_address_collection": null,
"submit_type": null,
"subscription": null,
"success_url": "https://www.mathtutortime.com/account/add_time/selected/success2?session_id={CHECKOUT_SESSION_ID}amp;bought=1 Hour of Tutoring + Premium Dashboard Features",
"total_details": {
"amount_discount": 0,
"amount_shipping": 0,
"amount_tax": 0
}
}
},
"livemode": false,
"pending_webhooks": 1,
"request": {
"id": null,
"idempotency_key": null
},
"type": "checkout.session.completed"
}
Там нет ни элементов строки, ни даже «имени». Кроме того, я получаю сообщение об ошибке, возвращенное с моего веб-крючка:
<br />
<b>Notice</b>: Trying to get property 'custom' of non-object in <b>/var/www/html/account/add_time/selected/success/webhook.php</b> on line <b>30</b><br />
<br />
<b>Notice</b>: Trying to get property 'name' of non-object in <b>/var/www/html/account/add_time/selected/success/webhook.php</b> on line <b>30</b><br />
Спасибо за любую помощь. До сих пор полоса не оказала большой помощи…
Ответ №1:
line_items
по умолчанию не возвращаются. Вам нужно повторно получить сеанс проверки и развернуть line_items
его .
Комментарии:
1. не могли бы вы подробнее объяснить, что вы под этим подразумеваете? Я думал, что расширяю позиции строк, делая это: «line_items’ => [[ ‘имя’ =>> ‘коровы’,//$имя, …»
2. Вы создаете их, делая это; вам также нужно добавить аргумент, чтобы расширить их: stripe.com/docs/api/expanding_objects