Я пытаюсь прочитать значения Stripe webhook в PHP.
Отправленный webhook имеет следующий формат:
{
"created": 1312403445,
"livemode": false,
"id": "evt_00000000000000",
"type": "checkout.session.completed",
"object": "event",
"request": null,
"pending_webhooks": 1,
"api_version": "2019-03-14",
"data": {
"object": {
"id": "cs_00000000000000",
"object": "checkout.session",
"billing_address_collection": null,
"cancel_url": "https://example.com/cancel",
"client_reference_id": null,
"customer": null,
"customer_email": null,
"display_items": [
{
"amount": 1500,
"currency": "usd",
"custom": {
"description": "Comfortable cotton t-shirt",
"images": null,
"name": "T-shirt"
},
"quantity": 2,
"type": "custom"
}
],
"livemode": false,
"locale": null,
"payment_intent": "pi_00000000000000",
"payment_method_types": [
"card"
],
"subscription": null,
"success_url": "https://example.com/success"
}
}
}
Я записываю отправленное значение в таблицу в базе данных. PHP на моем сервере:
require 'connectFile.php'; // connect my database
require_once('vendor/autoload.php');
require_once('vendor/stripe/stripe-php/init.php');
$input = @file_get_contents('php://input');
$event_json = json_decode($input);
$value_id=$event_json->data->object->id;
//value_created= $event_json->created;
$sql = "INSERT INTO myTable VALUES ("test","."'".$value_id."'".")";
$prepare = $pdo->prepare($sql);
$prepare ->execute();
http_response_code(200); // PHP 5.4 or greater
Проблема в том, что когда я пытаюсь прочитать данные-> объект-> идентификатор, он записывает 0 в базу данных. Но если я читаю value_created = $ event_json-> созданный вместо этого, он правильно читает значение.
Знаете ли вы, что не так и почему оно читается как 0?