Поэтому я недавно пытался освоить Stripe API … Я медленно продвигаюсь вперед, но с этой информацией о метаданных немного ускорился.
Я хочу добиться добавления метаданных в подписку при ее создании.
Это оригинальный скрипт для создания клиента & подписка:
$customer = \Stripe\Customer::create(array(
'email' => $_POST['stripeEmail'],
'source' => $_POST['stripeToken'],
'customer' => $randomID,
'plan' => $item
));
И в документации я вижу, что есть несколько областей, чтобы добавить дополнительную информацию? Пример:
Stripe\StripeObject JSON: {
"id": "sub_9aZ6q72UQs7664",
"object": "subscription",
"application_fee_percent": null,
"cancel_at_period_end": false,
"canceled_at": null,
"created": 1479520145,
"current_period_end": 1482112145,
"current_period_start": 1479520145,
"customer": "XXXXXXX",
"discount": null,
"ended_at": null,
"livemode": false,
"metadata": {
},
"plan": {
"id": "AdFree",
"object": "plan",
"amount": 700,
"created": 1479261871,
"currency": "gbp",
"interval": "month",
"interval_count": 1,
"livemode": false,
"metadata": {
},
"name": "AdFree Hosting",
"statement_descriptor": "WEBSITE",
"trial_period_days": null
},
"quantity": 1,
"start": 1479520145,
"status": "active",
"tax_percent": null,
"trial_end": null,
"trial_start": null
}
Что меня интересует, так это два metadata
элементы. Первый, который я понял, это Customer metadata
который можно добавить так …
$customer = \Stripe\Customer::create(array(
'email' => $_POST['stripeEmail'],
'source' => $_POST['stripeToken'],
'customer' => $randomID,
'plan' => $item,
'metadata' => array("test1" => "test2", "testa" => "testb")
));
Хотя я хочу добавить информацию ко второму тегу метаданных, чтобы он был добавлен в "plan" (subscription)
,
Я проверил и не могу найти ответы. Я надеюсь, что кто-то сможет подтолкнуть меня в правильном направлении.
Я также прочитал документацию и не могу найти там никакой соответствующей помощи, хотя документы можно найти здесь:
https://stripe.com/docs/api#create_subscription
В конце концов мне удалось добиться этого, создав два отдельных запроса. Не похоже, что есть способ выполнить одно и то же действие, используя один запрос, вы должны разделить клиента и подписку.
$randomID = mt_rand(10000000, 99999999);
$customer = \Stripe\Customer::create(array(
'email' => $_POST['stripeEmail'],
'source' => $_POST['stripeToken'],
'customer' => $randomID
));
$subscription = \Stripe\Subscription::create(array(
'customer' => $randomID,
'plan' => $item,
'metadata' => array("website_ref" => $website_ref, "user_id" => $user_id)
));
Других решений пока нет …