Ошибка при создании платного плана с пробной версией Laravel Cashier - PullRequest
0 голосов
/ 13 октября 2018

Простая проблема, но я не могу до конца разобраться в этом.

У меня есть 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, все работает отлично.

У кого-нибудь есть идеи?Помощь очень ценится!

1 Ответ

0 голосов
/ 14 октября 2018

В итоге выяснилось, что я должен был использовать следующий код для своих пробных планов после прохождения через кассовые контроллеры Billable, Subscription и SubscriptionBuilder, публикуя их здесь на случай, если кто-то столкнется с такой же проблемой!

...