stripe-платежная система, не возвращающая поле «имя» в веб-справочниках

#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