Migrate from UPI Collect to UPI Intent/QR Code - S2S Integration

According to NPCI guidelines, the UPI Collect flow is deprecated. Update your S2S integration to use UPI Intent or UPI QR code.


According to NPCI guidelines, the UPI Collect flow is being deprecated effective 28 February 2026 to align with the latest ecosystem compliance standards and ensure higher transaction success rates. Customers can no longer make payments by manually entering VPA/UPI ID/mobile numbers.

  • If you are a new customer, use .
  • If you are an existing customer, you must migrate to UPI Intent or UPI QR code to continue accepting UPI payments.

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).

To migrate from UPI Collect, you need to remove the UPI Collect flow configuration from your API calls and replace it with UPI Intent.

Based on your API endpoint, remove the following UPI Collect configuration:

  • For /v1/payments/create/json and /v1/orders endpoints:
// Remove this configuration
"upi": {
"flow": "collect",
"vpa": "user@upi"
}
  • For /v1/payments/create/upi endpoint:
// Remove this configuration
"upi": {
"flow": "collect",
"vpa": "gauravkumar@exampleupi",
"expiry_time": 5
}

Replace the above configuration with UPI Intent:

"upi": {
"flow": "intent"
}

Follow the platform-specific implementation details below:

Web (Desktop Web)

After updating your API configuration to use UPI Intent (as shown above), the UPI QR code will be generated for desktop web users.

Supported API Endpoints:

  • https://api.razorpay.com/v1/payments/create/json
  • https://api.razorpay.com/v1/orders
  • https://api.razorpay.com/v1/payments/create/upi

Refer to the

for implementation details.

Mobile Web and WebView

After updating your API configuration to use UPI Intent (as shown above), follow these additional steps:

  1. Use the Intent flow API instead of the Collect flow API.
  2. Once the intent URL is generated, you can:
    • Embed the URL into a QR code that you generate on your end, or
    • Use the returned deeplink directly to initiate the UPI Intent flow.

Refer to the

for implementation details.


Is this integration guide useful?