Stripe 30 days money back guarantee : Subscription Cancellation

Yes you can  implement 30 days (or X days) money back guarantee using stripe in your system. You need to let the  customer use all the features available in your system. And, if they want to cancel the subscription prior 31st day of the subscription then you need to have logic to handle such scenario.

In such case you need to manually calculate the prorated refund amount and make a manual refund. Stripe does not automatically make refunds on your behalf.

make a refund API call to Stripe. After refund you will have to make another API call for Subscription cancellation

Well, If you would like to cancel the subscription immediately, but keep the subscription active until the end of the billing period (e.g., through the time the customer has already paid for), provide an at_period_end value of true:

customer = Stripe::Customer.retrieve("cus_3R1W8PG2DmsmM9") 
customer.subscriptions.retrieve("sub_3R3PlB2YlJe84a").delete(:at_period_end => true)
  • Stripe sends out a customer.subscription.deleted event when a customer’s subscription is canceled immediately.
  • A customer.subscription.updated event is immediately triggered if you cancel a subscription at the end of the billing period instead, reflecting the change in the subscription’s cancel_at_period_end value. When the subscription is actually canceled at the end of the period, a customer.subscription.deleted event will occur.
  • Note: No refunds will be made; if any refund is applicable you need to manually catch the charge_object and call refund(refundable_amount) in it.
    • When you refund, refunds field in the charge object will be updated
    • If you see in stripe-dashboard; you will see the missing amount will be declared as transaction and processing fees.
    • Status:Partially Refunded
    • stripeshot


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s