Skip to main content
  • Customers can no longer make payments or register UPI mandates by manually entering VPA/UPI id/mobile numbers.
  • Save VPA and Validate VPA features will not be available after migration as these features work only with the UPI Collect flow.
Exemptions UPI Collect will continue to be supported for:
  • MCC 6012 & 6211 (IPO and secondary market transactions)
  • iOS mobile app and mobile web transactions
  • UPI Mandates (execute/modify/revoke operations only)
  • eRupi vouchers
  • PACB businesses (cross-border/international payments)
Action Required
  • If you are a new Razorpay user, use UPI Intent.
  • If you are an existing Razorpay user not covered by exemptions, you must migrate to UPI Intent or UPI QR code to continue accepting UPI payments if:
    • You use Server-to-Server (S2S) API integration for UPI payments
    • Your API calls include "flow": "collect" parameter
    • You use the /v1/payments/create/upi endpoint with Collect flow
    • Your users enter UPI id/VPAs for payment

Prerequisite

Contact Razorpay support to enable UPI Intent for your Razorpay account if it is not already enabled.

Migration Steps by Platform

Desktop Web

Migrate from the Collect flow API to the Intent flow API. Once the intent URL is generated, you should embed this URL into the QR code that you generate at your end. Change Needed
  1. Update your API call to use UPI Intent flow instead of UPI Collect flow. Remove vpa and expiry_time parameters from the request body. Replace collect with intent as the value of the upi.flow parameter. Refer to the UPI Intent guide for further information.
    Replace UPI Collect with Intent
  2. The API returns an intent URL in the response. Embed this intent URL into a QR code on your end and display it to customers on desktop.
    API Response
  3. Use webhooks to get payment status updates.

mWeb & WebView

On mobile web and WebView, you must migrate from UPI Collect to UPI Intent. UPI Intent returns a deeplink that launches UPI apps for payment completion. Change Needed
  1. Update your API call to use UPI Intent flow instead of UPI Collect flow. Remove vpa and expiry_time parameters from the request body. Replace collect with intent as the value of the upi.flow parameter.
    Replace UPI Collect with Intent
  2. The API returns an intent URL in the response. Embed this intent URL into a QR code on your end and display it to customers on mobile.
    API Response
  3. Use webhooks to get payment status updates.