[英]Stripe: Add metadata to subscription on creation
因此,我最近一直在嘗試學習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)
。
我檢查了一下,似乎找不到任何答案。 我希望有人能夠將我推向正確的方向。
我也閱讀了文檔,但是在這里找不到任何相關的幫助,盡管可以在這里找到文檔:
我最終通過創建兩個單獨的請求來實現這一目標。 看起來好像沒有一種方法可以使用一個請求執行相同的操作,您必須將客戶和訂閱分開。
$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)
));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.