Как реально приостановить полосовую подписку - PullRequest
0 голосов
/ 29 февраля 2020

Я использую оболочку php Stripe для API для управления подписками клиентов. Нам нужна опция паузы для подписок, которые варьируются во времени от 3 месяцев до года. Вариант паузы будет один из трех вариантов 1 месяц 3 месяца и 6 месяцев. Метод, который я использовал, состоял в том, чтобы установить пробную версию для их учетной записи Stripe на время паузы, но проблема с этим заключается в том, что после завершения пробной версии они взимают плату, хотя и за пропорциональную сумму, но это не тот тип паузы, которым мы являемся. находясь в поиске. Мы нуждаемся в этом, чтобы наши клиенты действительно находились в режиме паузы, тогда, когда он не делает паузу, у него остается такое же количество времени, как и в случае паузы без предварительной оплаты. Я пытался выяснить, как это сделать, но не могу придумать, как все это происходит в полоску. любая из моих других идей связана с наличием на нашем сервере задания cron или какого-либо временного триггера для обработки конца периода их паузы. пример того, что у меня пока есть:

pause_sub($sub_id){
            $sub = Subscription::retrieve($sub_id);
            $sub->trial_end = time() + (31556952 / 12);
            $sub->save();
    return "Subscription Paused";
    }

Может быть, есть способ использовать событие полоски с веб-крюком, когда пробная версия заканчивается? Спасибо за помощь.

1 Ответ

0 голосов
/ 29 февраля 2020

При вашем подходе вам необходимо отключить пропорциональное управление, так как оно включено по умолчанию при изменении подписки: https://stripe.com/docs/api/subscriptions/update#update_subscription -proration_behavior

Нет собственной «паузы» Stripe Подписка, но вы можете использовать альтернативные подходы, чтобы получить желаемое поведение (например, переход на бесплатный тариф): https://stripe.com/docs/billing/subscriptions/canceling-pausing#pausing -a-подписка

...