The Shopify Subscriptions Reference App provides a comprehensive customer portal built as a Shopify Customer Account UI extension, allowing subscribers to manage their subscriptions directly.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Shopify/subscriptions-reference-app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The customer portal is a UI extension that appears in Shopify Customer Accounts, providing customers with self-service subscription management capabilities:View Subscriptions
Browse all active, paused, and canceled subscriptions
Manage Deliveries
Update shipping addresses and delivery methods
Control Billing
Pause, resume, skip, or cancel subscriptions
Update Payment
Manage payment methods for recurring charges
The customer portal is implemented as a UI extension in
extensions/buyer-subscriptions/ and integrates seamlessly with Shopify Customer Accounts.Portal Structure
The customer portal consists of two main views:Subscription List
Displays all subscriptions for the logged-in customer:- Active subscriptions with next billing date
- Paused subscriptions with pause status
- Canceled subscriptions with cancellation date
- Quick status badges and pricing information
Subscription Details
Shows comprehensive information for a single subscription:- Upcoming order details and next billing date
- Price breakdown and line items
- Delivery information (shipping or pickup)
- Past order history
- Management actions (pause, resume, cancel, skip)
Router Implementation
The portal uses client-side routing inextensions/buyer-subscriptions/src/App.tsx:6-17:
Subscription Details Page
The details page provides a comprehensive view and management interface fromextensions/buyer-subscriptions/src/SubscriptionDetails/SubscriptionDetails.tsx:32-183:
Customer Actions
Customers can perform several actions on their subscriptions:Pause Subscription
Implementation from
extensions/buyer-subscriptions/src/SubscriptionDetails/DetailsActions/DetailsActions.tsx:20-44:
Pause actions initiated from the customer portal trigger the same backend services as admin-initiated pauses, ensuring consistency.
Resume Subscription
Customers can reactivate paused subscriptions:- Resume modal shows next billing date
- Displays price comparison (last order vs. next order)
- Confirms billing will restart immediately
Cancel Subscription
Customers can permanently cancel their subscriptions:- Cancel modal explains the action is permanent
- Shows final billing information
- Requires explicit confirmation
Skip Next Order
Customers can skip upcoming billing cycles:- Available on the Upcoming Order Card
- Skips the next scheduled billing date
- Automatically schedules the following billing cycle
Delivery Management
Customers can update delivery information:Update Shipping Address
The address update flow:
Delivery Method Selection
When updating addresses, customers can:- Choose standard shipping options
- Select local pickup if available
- View shipping costs for each method
- See estimated delivery times
Order Information
Upcoming Order Card
Displays details about the next scheduled order:- Next billing date and time
- Product line items with images
- Quantities and pricing
- Skip order option
- Inventory error warnings (if applicable)
Past Orders Card
Shows history of completed orders:- Order date and order number
- Total amount charged
- Link to order status page
- Payment status
Price Summary Card
Breaks down subscription pricing:- Line item subtotals
- Discounts applied
- Shipping costs
- Taxes
- Total amount
Payment Method Management
Customers manage payment methods through Shopify’s native payment management:- View current payment method
- Receive payment update emails from merchants
- Update payment methods via secure Shopify-hosted pages
- Receive confirmation of payment updates
Payment method updates use Shopify’s built-in customer payment management for security and PCI compliance.
Email Notifications
The customer portal integrates with email notifications inapp/routes/customerAccount.emails.ts:14-56:
- Subscription paused confirmation
- Subscription resumed confirmation
- Payment retry notifications
- Payment failure warnings
- Payment method update requests
Status Badges
Visual indicators for subscription status:ACTIVE
ACTIVE
Subscription is active and billing normally. Shows next billing date prominently.
PAUSED
PAUSED
Subscription is temporarily paused. Shows pause status and resume option.
CANCELLED
CANCELLED
Subscription has been permanently canceled. Shows historical data only, no management actions available.
Error Handling
The customer portal gracefully handles various error conditions:Inventory Errors
- Banner displays inventory error message
- Customers can’t skip if already skipped due to inventory
- Clear messaging about merchant restocking
Payment Errors
- Failed payment banner on subscription details
- Link to update payment method
- Clear explanation of retry schedule
Loading States
Responsive Design
The portal adapts to different screen sizes:- Mobile: Single column layout
- Tablet: Two column layout
- Desktop: Full grid layout with optimized spacing
Best Practices
Clear Action Labels
Use descriptive button labels and confirmation modals to prevent accidental actions
Related Features
- Contract Management - Backend implementation of customer actions
- Payment Retries - What happens when payments fail
- Billing Schedules - When customers are billed