2015-02-14 12 views
7

Angenommen, ein Benutzer möchte ihr Abonnement kündigen, so dass ich ausgeben ein Befehl wie folgt aus:Un Cancelling ein Stripe Abonnement

stripe_subscription.delete(at_period_end: true) 

Später, obwohl zuvor die Frist endet-Benutzer ihre Meinung ändert. Kann ich einen Anruf tätigen, um die geplante Stornierung rückgängig zu machen?

Wenn nicht, was ist der beste Weg, dies zu implementieren? Meine beste Schätzung sieht so aus:

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! 

Gibt es etwas besseres, was ich tun kann?

Antwort

8

Wenn das Abonnement noch aktiv ist, müssen Sie nur update das aktuelle Abonnement und übergeben Sie die Plan-ID noch einmal und es würde das Abonnement fortsetzen.

In PHP würden Sie tun:

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

Das in einem der Streifen Unterstützung Artikel in mehr Details bedeckt ist here.

+0

Danke für den Tipp! –

+0

Der verlinkte Support-Artikel fordert, dass dies auch über das Stripe Dashboard erfolgen kann, falls es sich um eine einmalige Lösung handelt, die sich nicht über die API implementieren lässt. –

+0

Aktualisierter Permalink zu Stripe's Unterabschnitt reactivated abgebrochene Subs: https://stripe.com/docs/subscriptions/canceling-pausing#reactivating-canceled-subscriptions –

2

Vom Armaturenbrett. Gehen Sie zu Ihren Abonnementdetails und klicken Sie oben rechts auf Edit Details. Ein Modal untitled "Reactivate subscription" sollte Pop-Sprichwort

Popup werden. Diese Subskription wird eingestellt, um am Ende der Periode abzubrechen. Sie können das Abonnement reaktivieren und es wird wie gewohnt fortfahren.

Click Reactivate