Subscription plans, billing management, and payment processing for seller services
Additional states: PENDING (payment processing), EXPIRED (end of term)
Get all available subscription plans with pricing tiers
GET /merchant/api/v1/subscription_plans
Gateway
GET /api/subscription_plans
Seller Admin
Returns plans with variants: Day, Monthly, Quarterly, Yearly
GET /api/subscription-plans
Account Service
Compare features across different subscription plans
GET /merchant/api/v1/subscription_plan_features
Gateway
GET /api/subscription_plan_features
Seller Admin
Returns feature matrix: max_stores, limits per plan tier
GET /api/subscription-plan-features
Account Service
Subscribe a domain to a plan with payment processing
POST /merchant/api/v1/domains/:domain_id/subscriptions
Gateway
POST /api/subscriptions
Seller Admin
Request Body:
{
"plan_variant_id": "uuid",
"coupon_code": "DISCOUNT20",
"payment_channel": "JUSPAY"
}
GET /api/subscription-plans/:plan_variant_id
Account Service
POST /api/coupons/validate
Coupon Service
POST /api/payments/initiate
Payment Service (JUSPAY/Stripe)
POST /api/subscriptions
Account Service
POST /api/billing/schedule
Billing Service
Get paginated list of all subscriptions for a domain
GET /merchant/api/v1/domains/:domain_id/subscriptions
Gateway
GET /api/subscriptions?domain_id=:domain_id
Seller Admin
Returns paginated response with content[], pageable, totalPages
GET /api/subscriptions?domain_id=:domain_id&page=0&size=20
Account Service
Get the currently active subscription for a domain
GET /merchant/api/v1/domains/:domain_id/subscriptions/active
Gateway
GET /api/subscriptions/active?domain_id=:domain_id
Seller Admin
Returns subscription with plan details, billing info, next_billing_date
GET /api/subscriptions/active?domain_id=:domain_id
Account Service
GET /api/subscription-plans/:plan_id
Account Service
Get payment transaction details for a subscription
GET /merchant/api/v1/domains/:domain_id/subscriptions_transactions/:id
Gateway
GET /api/subscriptions_transactions/:id
Seller Admin
Returns transaction with amount, status, payment_channel, invoice details
GET /api/subscription-transactions/:id
Billing Service
GET /api/payments/:payment_id
Payment Service
Temporarily pause an active subscription
PUT /merchant/api/v1/domains/:domain_id/subscriptions/:id/pause
Gateway
PUT /api/subscriptions/:id/pause
Seller Admin
Status: ACTIVE → PAUSED | Billing cycles suspended
GET /api/subscriptions/:id
Account Service
PUT /api/subscriptions/:id/status
Account Service
PUT /api/billing/schedule/:id/pause
Billing Service
POST /api/notifications/subscription-paused
Notification Service
Resume a paused subscription
PUT /merchant/api/v1/domains/:domain_id/subscriptions/:id/resume
Gateway
PUT /api/subscriptions/:id/resume
Seller Admin
Status: PAUSED → ACTIVE | Billing cycles resumed
GET /api/subscriptions/:id
Account Service
PUT /api/subscriptions/:id/status
Account Service
PUT /api/billing/schedule/:id/resume
Billing Service
POST /api/notifications/subscription-resumed
Notification Service
Permanently cancel an active or paused subscription
PUT /merchant/api/v1/domains/:domain_id/subscriptions/:id/cancel
Gateway
PUT /api/subscriptions/:id/cancel
Seller Admin
Status: ACTIVE/PAUSED → CANCELLED | Irreversible action
GET /api/subscriptions/:id
Account Service
PUT /api/subscriptions/:id/status
Account Service
DELETE /api/billing/schedule/:id
Billing Service
POST /api/payments/cancel-recurring
Payment Service
POST /api/notifications/subscription-cancelled
Notification Service
Plan Variants: Each plan has multiple variants (Day, Monthly, Quarterly, Yearly) with different pricing tiers
Payment Channels: JUSPAY, STRIPE, CHARGEBEE supported for payment processing
Grace Period: 5 days default grace period for failed payment recovery
Tax Handling: GST 18% applied, tax_inclusive flag determines pricing display
Store Limits: max_stores (default 5) enforced per subscription plan