在測試模式下運行條紋。 (直接施加到條帶的儀表板)條紋測試訂閱流明5.1
我已經創建用於100GBP量每年計費計劃,用7天的試用
然而,以測試網絡掛接我已經硬編碼的trial_end:
$trialEnd = new DateTime();
$trialEnd->setTimestamp(time()+120);
$user = Users::find($this->user()['user_id']);
$user->subscription($stripe_plan['stripe_plan'])->trialFor($trialEnd)->create($data['stripeToken'], [
'email' => $this->user()['email']
]);
$user->save();
基本上一切順利,但條形儀表板顯示0英鎊的第一張發票,一分鐘後我收到訂閱將在一分鐘內結束。畢竟,訂閱變成活動(來自測試)狀態。
所有的webhooks,甚至第一次訂閱添加響應我得到試用結束期而不是訂閱結束。
如何獲取subscription_ends_at時間戳?
所有網絡掛接請求都具有以下時間戳:
{ "id": "evt_18baRrIzJLF7fe6PMDPYD0NM", "object": "event", "api_version": "2016-07-06", "created": 1469558315, "data": { "object": { "id": "sub_8tNBbqy0AmSk8p", "object": "subscription", "application_fee_percent": null, "cancel_at_period_end": false, "canceled_at": null, "created": 1469558268, "current_period_end": 1469558384, "current_period_start": 1469558268, "customer": "cus_8tNB1tWYw3Jw7L", "discount": null, "ended_at": null, "livemode": false, "metadata": { }, "plan": { "id": "yearly_200", "object": "plan", "amount": 20000, "created": 1469545724, "currency": "gbp", "interval": "year", "interval_count": 1, "livemode": false, "metadata": { }, "name": "Full Club Membership - Pay Anually", "statement_descriptor": "FULL MEMBERSHIP", "trial_period_days": 7 }, "quantity": 1, "start": 1469558268, "status": "trialing", "tax_percent": null, "trial_end": 1469558384, "trial_start": 1469558268 } }, "livemode": false, "pending_webhooks": 1, "request": null, "type": "customer.subscription.trial_will_end" }
所以,如果你看一下trial_start和trial_end一樣的是current_period_start和current_period_end。
我雖然最初認爲,如果這是當前時期..罰款,但試用期滿後,本期不應該試一試。
有什麼方法可以從Stripe api獲取subscription_ends_at字段?而且,在試用期結束後,不應該用實際金額發送發票?
此外,我創建了一個沒有試用期的訂閱計劃。客戶訂閱後的這個計劃,我得到了正確的時間戳。
提前致謝!