TktPlz supports ticket cancellations and refunds for events where the organizer has enabled this option. Whether a refund is available depends on an event-level setting controlled by the organizer, not by TktPlz globally. When a cancellation is processed, the refund is initiated through Razorpay and typically credited back within 5–7 business days.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Sumitbose5/tktplz/llms.txt
Use this file to discover all available pages before exploring further.
When refunds are available
Refunds are only possible when the event has both of the following flags set by the organizer:| Field | Description |
|---|---|
isRefundable | When true, the event allows refunds for cancelled tickets |
isTicketsCancelleable | When true, attendees are permitted to cancel their own tickets |
How to request a refund
Go to Your Orders
Navigate to Your Orders from the main menu. Each order card shows the event name, booking ID, ticket count, status badge, and total amount paid. Orders that have already been cancelled are shown with a strikethrough and a “Refund Initiated” or “Refund Processed” label.
Open Order Details
Click on the order you want to cancel. Cancelled tickets cannot be opened — only
CONFIRMED orders show the full detail page.The Order Details page shows:- Event details (date, time, venue or online link)
- Seat or zone assignments
- Booking information (number of tickets, amount paid, payment method)
- QR code entry pass
- Payment ID and Order ID
Cancel your ticket
If the event allows cancellations and the event is more than 12 hours away, a Cancel Ticket button appears. Clicking it opens a confirmation modal.The modal reminds you that:
- Refunds are processed within 5–7 business days
- Cancellation charges may apply as per the organizer’s terms
Refund initiated
TktPlz calls
POST /api/payment/refund with your orderId and the full totalAmount. If successful, your ticket status changes to CANCELLED - REFUND DUE and you receive a confirmation email with the refund ID and estimated processing time.POST /api/payment/refund
Initiates a ticket cancellation and refund. This endpoint is called by the Order Details page when you confirm cancellation. Request bodyThe Razorpay order ID associated with the ticket to be cancelled. Shown on the Order Details page as “Order ID”.
Amount to refund in INR. If omitted, defaults to the full
totalAmount from the original booking. The refund amount cannot exceed the original ticket amount.true when the refund was successfully initiated with Razorpay.| Status | Error | Meaning |
|---|---|---|
400 | "Order ID is required" | orderId was not provided |
404 | "Ticket not found" | No ticket exists for the given orderId |
400 | "Only confirmed tickets can be cancelled" | Ticket is not in CONFIRMED status |
400 | "Refund already processed or in progress" | A non-failed refund already exists for this order |
400 | "Refund amount cannot exceed ticket amount" | refundAmount is greater than the original charge |
500 | "Refund processing failed" | Razorpay returned an error; the refund record is saved as failed |
Cancellation policy
The organizer sets the cancellation policy when creating the event. Two separate flags control behavior:isRefundable— whether a monetary refund is issued on cancellationisTicketsCancelleable— whether attendees can initiate cancellations themselves
Ticket status lifecycle
Your ticket’sstatus field tracks the state of your booking through the full cancellation and refund process.
| Status | Shown in Your Orders as | Meaning |
|---|---|---|
CONFIRMED | Green — Confirmed | Booking is active; ticket is valid |
CANCELLED - REFUND DUE | Orange — Refund Initiated | Cancellation processed; refund sent to Razorpay |
CANCELLED - REFUND PROCESSED | Red — Refund Processed | Razorpay has completed the refund |
CANCELLED | Red — Cancelled | Ticket cancelled without a refund |
Once a ticket moves to any
CANCELLED status, the Order Details page becomes inaccessible for that order. You can still see the order summary card in Your Orders.Refund schema
TktPlz records every refund in therefunds table. The following fields are tracked:
| Field | Type | Description |
|---|---|---|
id | int | Auto-incremented refund record ID |
orderId | varchar | Razorpay order ID the refund belongs to |
amount | decimal | Amount refunded in INR |
reason | varchar | Reason string (e.g. "User cancellation") |
status | varchar | Current refund status: pending, processing, completed, or failed |
refund_id | varchar | Razorpay refund ID (e.g. rfnd_...) |
refundedAt | timestamp | When the refund was confirmed as completed |
createdAt | timestamp | When the refund record was first created |
updatedAt | timestamp | Last time the record was modified |
Refund status values
processing
processing
The refund request was accepted by Razorpay and is in transit. Your ticket is already marked
CANCELLED - REFUND DUE. No action is needed from you.completed
completed
Razorpay has confirmed the refund has been credited to your original payment method. Your ticket status updates to
CANCELLED - REFUND PROCESSED and a confirmation email is sent.failed
failed
The refund was rejected by Razorpay (for example, if the payment method was closed). TktPlz records the failure. Contact support if your refund remains in
failed status.Email notifications
TktPlz sends two emails during the refund process:Refund initiated email
Sent when your cancellation is confirmed and the refund is submitted to Razorpay. Includes the event name, refund amount, Razorpay refund ID, and estimated processing time of 5–7 business days.
Refund completed email
Sent when Razorpay confirms the refund has been processed. Includes the event name, refund amount, and refund ID. This email confirms the money has been returned to your original payment method.
