{
"courseId": "60d5ec49f1b2c72b8c8e4f1a"
}
{
"success": true,
"purchaseId": "65f1a2b3c4d5e6f7g8h9i0j1",
"orderId": "order_NXs8jKl9mP0qRs",
"keyId": "rzp_test_1DP5mmOlF5G5ag"
}
Initiate a course purchase by creating a Razorpay payment order
{
"courseId": "60d5ec49f1b2c72b8c8e4f1a"
}
{
"success": true,
"purchaseId": "65f1a2b3c4d5e6f7g8h9i0j1",
"orderId": "order_NXs8jKl9mP0qRs",
"keyId": "rzp_test_1DP5mmOlF5G5ag"
}
userId is automatically extracted from the authentication token.
{
"courseId": "60d5ec49f1b2c72b8c8e4f1a"
}
{
"success": true,
"purchaseId": "65f1a2b3c4d5e6f7g8h9i0j1",
"orderId": "order_NXs8jKl9mP0qRs",
"keyId": "rzp_test_1DP5mmOlF5G5ag"
}
{
"success": false,
"message": "Invalid request data"
}
{
"success": false,
"message": "Data Not Found"
}
{
"success": false,
"message": "An unexpected error occurred"
}
| Status Code | Description |
|---|---|
| 200 | Success or data not found (check success field) |
| 400 | Invalid request data - courseId is required |
| 401 | Unauthorized - Invalid or missing authentication token |
| 500 | Internal server error |
'created' in the databaseprice - (discount * price / 100)purchaseId, orderId, and keyId to initiate payment/api/user/verify-razorpay endpoint to complete the purchase'created'purchaseId must be passed to the payment verification endpoint after successful paymentcoursePrice and discount fieldsCURRENCY environment variable or 'INR'{
courseId: z.string().min(1)
}