Auto-renew with a saved card
Let buyers of subscriptions and duration keys renew automatically: one opt-in at checkout, a charge every period, a fresh key each time, and retries when a card is declined.
Most keys sell by duration: 1 Day, 7 Days, 30 Days. Without auto-renew, a buyer whose 30-day key runs out has to come back, find the product and pay again. With auto-renew they tick one box at checkout, their card is charged at the end of every period, and the next key arrives on its own.
Turn it on for a product
Open the product and find Auto-renew (subscriptions, and keys or serials with duration options). Switch on Offer “Renew automatically” at checkout, then pick what happens when a renewal is declined.
| Product | What renews | Every renewal delivers |
|---|---|---|
| Subscription | The product | Another period of the subscription (and its Discord role) |
| Key or serial with duration options | Each option named by a duration: 1 Day, 7 Days, 30 Days, 1 Year | A fresh key from that option’s pool |
Lifetime options never renew. Auto-renew needs a fixed price, so free and pay-what-you-want products cannot use it.
Licensing. When your store has licensing, a renewal adds the option’s days to the buyer’s existing key instead of sending a new one: same key, same device, more time. Without licensing, every renewal takes a fresh key from the option’s pool.
What buyers see
At checkout, each eligible item gets a box, unticked, with one sentence:
Renew automatically every 30 days for $9.99. Cancel anytime.
Stores where ShopFast is merchant of record add “plus tax”. The sentence the buyer saw is stored with the time they agreed, on the subscription, and shown to you on the order. If your price changes before they pay, checkout asks them to tick the box again so the stored consent always matches what they read.
In their account, Subscriptions shows each subscription with the next charge, the card on file (brand and last four only) and three actions:
- Turn off auto-renew: nothing is charged automatically; the next renewal arrives as a pay link by email.
- Update card: opens the payment provider’s own page to save a new card or PayPal account.
- Cancel at period end: no more charges; access lasts until the period ends.
Which ways to pay can renew
The payment provider keeps the card. ShopFast stores only the provider’s references (a Stripe customer and payment method, a PayPal vault id) plus the brand, last four and expiry for display. Card numbers never reach ShopFast.
| Way to pay | Renews automatically |
|---|---|
| ShopFast Pay and Stripe (cards, Apple Pay, Google Pay) | Yes: the card is saved for off-session charges |
| PayPal | Yes: the PayPal account is vaulted (a billing agreement) |
| Crypto, bank transfer, manual methods | No: these buyers get an emailed pay link each period |
Buyers paying with crypto can still tick the box. They keep their consent, and each renewal is emailed as a pay link instead. If they later pay a renewal by card, or add a card in their account, it renews automatically from then on.
Platform admins can pause automatic renewals for a gateway. Renewals through it then go out as pay links.
When a renewal fails
At the end of each period ShopFast charges the saved method once, with an idempotency key for that period, so a retried job can never charge twice.
| What happened | What ShopFast does |
|---|---|
| Charged | A new order, linked to the subscription, delivers the next key or period and emails the receipt |
| Declined or the card expired | Retries on your schedule (default: after 1, 3 and 5 days) and emails the buyer an update-card link each time |
| The bank asks the buyer to confirm (3-D Secure) | Emails a link where the buyer confirms the payment |
| Your key pool is empty | Does not charge (or refunds in full if the pool emptied after the charge), alerts you, and retries on the same schedule |
| Every retry failed | Emails a pay link; access lasts through the grace period, then ends |
A buyer who updates their card while a renewal is being retried is charged on the new card right away.
Renewals also follow your order limits: a renewal above the limit for cards goes out as a pay link.
What you see
- Orders: a renewal’s order sheet shows the subscription, its auto-renew state, the card on file, the consent and every charge attempt, with an audit trail of each change and who made it. Stop auto-renew switches a buyer to emailed pay links.
- Customers: the customer page lists their subscriptions and which renew automatically.
- Home: Recurring revenue shows MRR from auto-renewing subscriptions, what is due in the next 7 days and what retries won back.
- Webhooks:
subscription.renewedfor every paid renewal andsubscription.renewal_failedfor every failed charge, with the attempt, the outcome and the next retry.
Testing
In test mode the sandbox stands in for the provider. When a buyer ticks the box, the payment step asks which test card to keep, and later charges behave accordingly:
| Test card | Renewals |
|---|---|
| •••• 4242 | Succeed |
| •••• 0002 | Are declined |
| •••• 3155 | Need the buyer’s confirmation |
| •••• 0069 | Fail as an expired card |