2015-02-14 2 views
7

Предположим, что пользователь хочет, чтобы отменить подписку, поэтому я выполняю команду как это:Un-отменяя подписку нашивки

stripe_subscription.delete(at_period_end: true) 

Позже, однако, до окончания-период пользователь меняет свое мнение. Есть ли у меня вызов, чтобы отменить запланированное аннулирование?

Если нет, то как лучше всего реализовать это? Мое лучшее предположение выглядит следующим образом:

new_subscription = stripe_customer.subscriptions.create(plan: stripe_subscription.plan.id, trial_end: stripe_subscription.current_period_end) 
stripe_subscription.delete() # if permitted 
self.stripe_subscription = new_subscription 
save! 

Есть ли что-то лучшее, что я могу сделать?

ответ

8

Если подписка по-прежнему активна, вам нужно только выполнить update текущую подписку и передать идентификатор плана еще раз, и она возобновит подписку.

В PHP вы могли бы сделать:

$customer = Stripe_Customer::retrieve("cus_XXX"); 
$subscription = $customer->subscriptions->retrieve("sub_YYY"); 
$subscription->plan = "myPlanId"; 
$subscription->save(); 

Это рассматривается в одном из статьи поддержки Stripe в более подробной информации here.

+0

Спасибо за подсказку! –

+0

Связанная статья поддержки вызывает, что это также можно сделать с помощью панели управления Stripe, если это одноразовый и не стоит реализовывать через API. –

+0

Обновлена ​​ссылка на подраздел Stripe для повторной активации отмененных подписей: https://stripe.com/docs/subscriptions/canceling-pausing#reactivating-canceled-subscriptions –

2

Из приборной панели. Перейдите к своим сведениям о подписке и нажмите Edit Details верхний угол справа. Модальная безымянная «Повторная активация подписки» должна появляться

Эта подписка настроена на отмену в конце периода. Вы можете активировать подписку, и она будет продолжена, как обычно.

Нажмите Reactivate

Смежные вопросы