http://localhost:8000/api/payment
Creates a Razorpay order for selected subscription plan.
Authorization: Bearer <vendor_token>
Content-Type: application/json
{
"plan_id": "planObjectId",
"amount": 999
}
{
"success": true,
"message": "Order created successfully",
"data": {
"order": {
"_id": "paymentId",
"amount": 999,
"status": "CREATED"
},
"key_id": "razorpay_key",
"amount": 99900,
"currency": "INR",
"order_id": "razorpay_order_id"
}
}
401 Plan not found or invalid amount
500 Error creating order
Verifies Razorpay payment signature, updates payment status, and activates vendor subscription upon successful verification.
Authorization: Bearer <vendor_token>
Content-Type: application/json
{
"razorpay_order_id": "order_id",
"razorpay_payment_id": "payment_id",
"razorpay_signature": "signature"
}
{
"success": true,
"message": "Payment already verified",
"data": {
"_id": "paymentId",
"status": "SUCCESS",
"razorpayPaymentId": "payment_id"
}
}
{
"success": true,
"message": "Payment verified and subscription activated",
"data": {
"payment": {
"_id": "paymentId",
"status": "SUCCESS",
"razorpayPaymentId": "payment_id"
},
"subscription": subscription_id
}
}
404 - Order not found
400 - Invalid payment signature
400 - Error while creating subscription
500 - Server error
Activate Pay-As-You-Go plan without online payment.
Authorization: Bearer <vendor_token>
Content-Type: application/json
{
"plan_id": "planObjectId"
}
{
"success": true,
"message": "PAYG subscription activated",
"data": {
"_id": "subscriptionId",
"status": "ACTIVE",
"pricingSnapshot": {
"employeeLimit": 10,
"type": "PAYG"
}
}
}
400 Invalid PAYG plan
401 Unauthorized
500 Server error