Recurring Payments - Stripe Gateway Configuration
This document explains how the Recurring Payments extension works with Stripe.
It's important to follow all steps laid out in the Stripe payment gateway you are using.
Important Setup Note: If Webhooks are not properly configured, subscriptions will not work properly!
When using Stripe, a cancellation may be initiated either from within EDD or from the Stripe Dashboard.
Canceling as a Customer
Customers can cancel their own subscriptions from your store's account page.
Canceling as a Site Administrator
To cancel a subscription from the EDD admin go to Downloads → Subscriptions and click "View" on the item you want to cancel.
Then in the bottom of the next screen click on "Cancel Subscription".
When you set a subscription's status to cancelled it's cancelled immediately, but the customer will still have access to their purchased material for as much time as they've paid for.
For example, if they've paid $10/mo, and you cancel halfway through the month they still have access to their material for the rest of the month, but they won't be re-billed, and access will stop at the end of the month.
From The Stripe Dashboard
To cancel a subscription from the Stripe Dashboard, log in to Stripe and find the search bar at the top of the page.
You may find customers by searching for:
- the charge ID
- the subscription profile ID
- the EDD customer ID number
- the customer email
Once you've found and selected your Customer in Stripe you'll see a list of subscriptions.
If you click Cancel (X icon to the of the subscription name) you'll be given three options; to cancel Immediately, at the end of the current period, or on a custom date. For the purposes of EDD it doesn't matter which you choose immediately or at the end of the current period, your customer won't experience any difference between the two. If you choose a custom date, that's after the end of the current period, they will continue to get billed until the custom date passes.
It doesn't matter if you cancel a subscription in EDD or in Stripe, the effect is exactly the same and the customer won't notice a difference.
Updating Credit/Debit Card Information
Customers can update their card information for their specific subscription(s) from your store's account page.
Common issues relating to webhooks
Customers get charged too many times
If you don't set up your Stripe webhooks correctly prior to a customer making a purchase and you are using the "Times" option in EDD Recurring to charge the customer a set amount of times (for example, 5 times), they will get charged too many times.
This is because, without the webhook, Stripe is not able to tell EDD that the payments went through successfully so EDD doesn't know. Because of this, EDD thinks the customer has not yet been charged - even though they may have already been charged 5 times (or more).
EDD sends a "cancel subscription" to Stripe automatically when the number of times has been reached. But since there is no webhook, EDD doesn't know that the customer has been charged at all and never cancels the subscription. This results in the customer continuing to be charged even after the set amount of times has been reached. This is why it is important to set up a webhook immediately after installing the Stripe extension.