Допустим, у меня есть Бронзовый план, который предлагает [Бесплатная пробная версия] для пользователей на 1 месяц.
Когда пользователь отменяет свой Бронзовый план, во второй раз, когда он снова купил Бронзовый план, у него больше не должно быть [Free Trial].
Другой сценарий может быть, когда пользователь обновляет скажем, Gold Plan, они больше не применимы для [Free Trial], так как они уже использовали свою пробную версию один раз.
Любое решение для этого?
Я пытаюсь избежать создания дубликата планов как можно больше.
Как создание одного плана для бронзового плана, в котором есть бесплатная пробная версия, и другого бронзового плана, в котором нет бесплатной пробной версии.
В общей сложности у меня есть 6 планов, если я создаю дубликат План без встроенной бесплатной пробной версии будет иметь 12 планов, что усложнит ситуацию.
Не уверен, поможет ли это, но я использую кнопки Paypal JS SDK для создания подписок.
paypal.Buttons({
createSubscription: function(paypal_data, actions) {
return actions.subscription.create({
"plan_id": data.plan_id
});
} //And so on...
}).render('#paypal-button-container');
То, что я собираюсь сделать, это то же самое, что и то, как мы работаем с функциональностью подписки Stripe. То, что я могу свободно выбирать, должен ли я дать бесплатную пробную версию на 30 дней или нет.
return Subscription::create([
'customer' => $customer_id,
'items' => [
[
'plan' => $plan_id
]
],
'trial_period_days' => 30,
'expand' => ['latest_invoice.payment_intent']
]);
Ссылка API:
https://developer.paypal.com/docs/api/subscriptions/v1/
https://developer.paypal.com/docs/api/subscriptions/v1/#plans