Billing & Payments¶
The app handles recurring billing automatically through Shopify's subscription billing system.
How Billing Works¶
All subscriptions use anniversary-date billing. When a customer signs up, their first order is placed immediately and Shopify creates a subscription contract with a billing schedule based on their chosen frequency (monthly, quarterly, six-monthly, or annual). Subsequent orders are billed at each frequency interval from the customer's signup date — not on a fixed calendar date shared by all members.
The member discount is applied automatically at signup checkout and on each recurring billing cycle. This discount only applies to subscription orders — it does not apply to separate one-off purchases.
On each billing date, the app charges the customer's payment method and creates an order. The entire process is automatic — no manual intervention needed.
Pre-Billing Reminders¶
The app sends customers email reminders before their upcoming billing date so they can make changes if needed:
| Reminder | Timing | Purpose |
|---|---|---|
| First reminder | 14 days before billing | Early notice to pause, skip, or update payment |
| Final reminder | 2 days before billing | Last chance to make changes |
Payment Failures¶
When a billing attempt fails, the app automatically retries and notifies the appropriate party depending on the type of failure.
Retry Schedule¶
| Attempt | Timing |
|---|---|
| Initial attempt | On the scheduled billing date |
| 1st retry | 24 hours after failure |
| 2nd retry | 3 days after 1st retry |
| 3rd retry | 7 days after 2nd retry |
| After final failure | Subscription placed on hold |
Maximum 4 total attempts per billing cycle (1 initial + 3 retries).
What Happens When Payment Fails¶
The app categorises each failure and responds accordingly:
Customer-fixable issues (e.g., declined card, insufficient funds, expired card):
- Customer receives an email with a clear explanation of what went wrong (e.g., card declined, insufficient funds, expired card) and a link to the customer portal
- Email includes the retry schedule so they know when the next attempt will occur
- Automatic retries continue on schedule
Merchant-fixable issues (e.g., insufficient inventory, payment provider not enabled):
- You receive an email with customer details, the error, and guidance on how to resolve it
- Email includes the retry schedule so you can fix the issue before the next attempt
- Automatic retries continue on schedule
Temporary issues (e.g., network errors, transient Shopify errors):
- Customer receives a reassuring email that the issue is temporary
- Automatic retries continue on schedule and typically succeed
After Final Failure¶
If all retry attempts fail, the customer receives a final email informing them that their subscription is now on hold. The subscription is placed in a Failed status.
The customer can reactivate it from the portal after updating their payment method. Reactivation charges the customer immediately.
Curated product alerts
For Curated clubs, the app proactively checks that all products are available before billing and alerts you if there are issues. See Merchant Emails for details.
Order Now¶
Customers and merchants can trigger immediate billing using the Order Now action. This charges the customer right away for their next scheduled order.
Since the order is placed early, future orders also shift forward accordingly.
If an Order Now attempt fails:
- The customer receives an email about the failure
- For merchant-fixable issues (e.g., insufficient inventory), you also receive an alert email
- No automatic retries occur (unlike regular billing)
- You or the customer need to resolve the issue and trigger Order Now again
Updating Payment Methods¶
Customers can update their payment method from the customer portal. Depending on the payment provider:
- Shop Pay customers: Redirected to update their card directly
- Other payment methods: An email is sent with a secure link to update card details
When a customer updates their card, all their wine club subscriptions automatically use the new payment details.