Простая проблема, но я не могу до конца разобраться в этом.
У меня есть 3 подписки на моем аккаунте Stripe, одна бесплатная и две с платным 14-дневным пробным периодом (настройкав полоску).Все работает нормально, за исключением того, что, когда я сразу же подписываюсь на платные пробные версии новых пользователей, я получаю сообщение о том, что у клиента нет источника платежа.Мой код выглядит следующим образом:
// Create new User
$user = new Account($validatedUserData);
// Create Stripe user and subscribe to plan. Laravel automatically adds Stripe Customer ID
// Free plan, create customer and subscribe to free plan in one line of code
if ($planInRequest == 1) {
$user->newSubscription('My Subscription', 'Free Plan')->create(null, ['email' => $user->email]);
}
// If Paid plan...
else {
// Create user in Stripe first (this works)
$user->createAsStripeCustomer(null);
// Subscribe user to paid plan with trial period
$user->newSubscription('My Subscription', $planToUse)->create(null, ['email' => $user->email]); }
Однако, когда я запускаю этот код, я получаю ошибку
Нет источника платежа для клиента.
Я знаю, что еще не добавил источник Stripe для клиента (следовательно, пропустил ноль), но я подумал, что если бы был бесплатный пробный период, я бы мог на него подписаться.Я пытался НЕ передавать значение null в подписку на платный план ( согласно этой публикации SO ), но это дало мне недопустимую ошибку токена.
Моя пользовательская модель также содержит «trial_ends_at»Поля «updated_at» и «create_at» рекомендуются документами Laravel.Клиент Stripe добавляется просто отлично, и когда я пытаюсь добавить платные подписки новому клиенту в Stripe Dashboard, все работает отлично.
У кого-нибудь есть идеи?Помощь очень ценится!