Documentation Index
Fetch the complete documentation index at: https://memberpulseptyltd.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Journey Overview
| Attribute | Value |
|---|---|
| Journey ID | UJ-M-005 |
| Actor | Member with failed payment |
| Goal | Resolve payment issue and restore/maintain membership |
| Trigger | Payment fails for renewal, event, or other purchase |
| Outcome | Payment successful, access restored |
Preconditions
- Member has attempted a payment
- Payment was declined or failed
- Member has access to update payment method
Journey Flow
Detailed Steps
Payment Failure Detection
System detects payment failure via:
- Stripe webhook:
payment_intent.payment_failed - Stripe webhook:
invoice.payment_failed - Real-time checkout error
- Timestamp
- Amount
- Failure reason (Stripe error code)
- Attempt number
- Payment method used
Immediate Notification
Member receives immediate notification:In-App:
- Banner on dashboard: “Payment failed - Action required”
- Modal if currently in checkout
Dunning Sequence (Subscriptions)
For subscription renewals, automated retry schedule:
| Day | Action |
|---|---|
| 0 | Initial failure, email sent |
| 1 | Auto-retry #1 |
| 3 | Auto-retry #2, email reminder |
| 5 | Auto-retry #3 |
| 7 | Final retry, urgent email |
| 10 | Membership suspended, final notice |
| 14 | Membership cancelled (grace period end) |
Member Updates Payment Method
Member clicks recovery link:
- Directed to payment update page
- Current (failed) method shown
- Option to:
- Update existing card details
- Add new card
- Use saved alternative card
- Try digital wallet (Apple/Google Pay)
- New card validated with $0 authorization
- New card set as default
Retry Payment
After updating payment method:Automatic Retry:
- System immediately retries failed payment
- Uses new default payment method
- Member sees processing indicator
- Member clicks “Retry Payment”
- Full checkout flow with new card
Payment Failure Types
| Failure Type | Common Causes | System Response |
|---|---|---|
| Card Declined | Insufficient funds, card limit | Retry with different card |
| Card Expired | Past expiry date | Update card details |
| Authentication Failed | 3D Secure rejected | Retry authentication |
| Network Error | Temporary connectivity | Auto-retry |
| Fraud Block | Suspicious activity | Contact bank |
| Invalid Card | Incorrect details | Re-enter card |
Recovery UI States
- Payment Update Form
Smart Retry Logic
System implements intelligent retry:| Factor | Optimization |
|---|---|
| Time of day | Retry at different times |
| Day of week | Avoid weekends for business cards |
| Card type | Different retry intervals |
| Previous success | Prioritize previously working methods |
| Failure reason | Skip retries for hard declines |
Escalation Path
If automated recovery fails:- Day 7: Support team notified
- Day 10: Member account flagged
- Day 14: Account manager outreach (if applicable)
- Manual options:
- Phone payment
- Invoice/bank transfer
- Payment plan arrangement
Related Entities
Related Journeys
Acceptance Criteria
Frontend
- Payment failure banner on dashboard
- Payment update page with current card shown
- Stripe Elements for new card entry
- Error messages in plain language (not codes)
- Retry button with loading state
- Success confirmation on resolution
- Email links deep-link to recovery page
Backend
-
POST /api/payments/update-method- Update payment method -
POST /api/payments/retry- Retry failed payment -
GET /api/payments/failures- Get pending failures - Webhook:
payment_intent.payment_failed - Webhook:
invoice.payment_failed - Scheduled dunning job
Permissions
- Member can only resolve their own failures
- Support can manually resolve on behalf
Business Rules
- Maximum 4 auto-retries before stopping
- Grace period access during recovery window
- Hard declines (fraud, stolen) not retried
- Payment method update resets retry counter
Error Handling
- All failure reasons mapped to friendly messages
- Stripe error codes logged for debugging
- Support notified of repeated failures