Subscriptions¶
Source: pharmanet-web/src/pages/Dashboard/
Pages¶
| Page | Route | Description |
|---|---|---|
SellerSubscription |
/subscription |
Current subscription status |
NewSubscription |
/subscription/new |
Choose and purchase a plan |
SubscriptionCallback |
/subscription/payment-callback |
Payment verification |
Plans¶
| Plan | Price (ETB) | Benefits |
|---|---|---|
| Monthly | 500 | Full visibility in nearby pharmacy search |
| Yearly | 5,000 | Full visibility + priority placement |
Without an active subscription, the pharmacy is hidden from customer discovery.
Flow¶
sequenceDiagram
participant S as Seller
participant SUB as Subscription Flow
participant CP as Chapa
participant DB as Supabase
S->>SUB: View current subscription
SUB-->>S: Status, expiry, auto-renew
S->>SUB: Choose plan (monthly/yearly)
SUB->>DB: Create pending subscription
SUB->>CP: Initialize Chapa payment
CP-->>S: Hosted checkout
S->>CP: Complete payment
CP-->>SUB: Callback URL
SUB->>DB: Verify + activate subscription
DB-->>SUB: Set start/end dates
SUB->>S: Confirmation
Services¶
Source: pharmanet-web/src/services/pharmacySubscription.js
| Function | Description |
|---|---|
getActiveSubscription(pharmacyId) |
Current active sub |
getMySubscription(pharmacyId) |
Most recent sub |
createSubscription(payload) |
Create pending |
activateSubscription(id, start, end) |
Activate after payment |
renewSubscription(pharmacyId) |
Renew |
cancelSubscription(pharmacyId) |
Cancel auto-renew |
updateAutoRenew(pharmacyId, autoRenew) |
Toggle auto-renew |
Auto-Renew¶
Subscriptions support auto-renew toggle. When enabled, the system attempts to renew via Chapa before expiry.
Related¶
- Featured Products — Product-level boosts
- Payments — Chapa integration
- Admin: Subscriptions — Admin oversight
- Mobile: Subscriptions — Mobile subscription view