Should I revoke premium access on refund?
For full refunds, yes revoke premium access by setting isPremium to false. For partial refunds, typically no the user keeps premium for the current period. Always notify the user via email about the refund status and any access changes.
Verify This Answer
Cross-check this information using these trusted sources:
More FAQs in Handling Razorpay Refunds and Failed Payments in Node.js
Use razorpay.payments.refund(paymentId, { amount: payment.amount, notes: { reason } }). For a partial refund, specify a smaller amount. Update the payment status to 'refunded' in the database, store the refund ID, and revoke premium access if applicable.
Handle the payment.failed webhook: update the payment status to 'failed', store the failure reason and code, notify the user via email, and provide a retry endpoint that creates a new order. Users can retry the payment with the new order ID.
Handle refund.processed (refund completed successfully update status and notify user) and refund.failed (refund could not be processed investigate and retry). Always verify the webhook signature before processing.
Still have questions?
Browse all our FAQs or reach out to our support team
