Actions
Task #170
openPayment / Subscription Module
Start date:
03/13/2026
Due date:
03/13/2026 (53 days late)
% Done:
0%
Estimated time:
Description
The Payment Module allows users to purchase membership plans to access premium features of the matrimony platform.
Premium features may include:
- Viewing contact details
- Unlimited profile views
- Sending unlimited interests
- Messaging access
Users must complete payment to activate a membership plan.
Table
subscription_plan_master
- id INT PK Unique plan ID
- plan_name VARCHAR(100) — Name of the plan
- plan_duration_days INT — Plan validity in days
- price DECIMAL(10,2) — Plan price
- features TEXT — Plan benefits
- is_active BOOLEAN — Status
- created_at DATETIME — Created timestamp
- updated_at DATETIME — Updated timestamp
user_subscription_table
- id INT PK Subscription ID
- profile_id INT FK User profile
- plan_id INT FK Subscription plan
- payment_id VARCHAR(200) — Payment gateway transaction ID
- payment_method VARCHAR(50) — UPI / Card / Netbanking
- payment_status VARCHAR(50) — Success / Failed / Pending
- amount_paid DECIMAL(10,2) — Amount paid
- start_date DATETIME — Plan start date
- expiry_date DATETIME — Plan expiry date
- is_active BOOLEAN — Subscription status
- created_at DATETIME — Created timestamp
Validations
subscription_plan_master
plan_name
- Mandatory
- Minimum 3 characters
- Must be unique
plan_duration_days
- Mandatory
- Must be positive integer
Price
- Mandatory
- Must be greater than 0
features
- Optional
- Max 1000 characters
is_active
- Default value: true
Inactive plans should not appear in frontend.
user_subscription_table
profile_id
- Mandatory
- Must exist in registration_table
- Must be active user
plan_id
- Mandatory
- Must exist in subscription_plan_master
- Must be active plan
payment_id
- Mandatory when payment success
- Must be unique
payment_status
Allowed values:
- Pending
- Success
- Failed
amount_paid
- Must match plan price
start_date
- Auto generated after payment success
expiry_date
Calculation:
- expiry_date = start_date + plan_duration_days
is_active
- Default true after successful payment
No data to display
Actions