UPI Collect-New Update


We are currently in the Collect Sunset phase. During this transition, Collect transactions are supported exclusively for iOS devices. If you use a custom checkout flow, you must now send device-related information in your API calls. We use this data to determine whether to allow or reject a Collect request.

  • One Time Payments

For one-time payment requests, you must include the x-device-os header in your API call.

  • Header Name: x-device-os
  • Accepted Values: Windows, iOS, Android, Mac OS, Other
  • Requirement: Mandatory for Collect requests.

⚠️ Must pass the Header!


If you send a null value or omit this header entirely, your Collect requests will be rejected. All other transaction types will continue to work as usual.

The APIs affected are:
Endpoints
1. /payments/v2/pay
2. /pg/v1/pay
  • Recurring Payments

For recurring payments, you must use the existing deviceOS field located within the deviceContext object of your Pay request.

  • Field Name: deviceOS
  • Accepted Values (Enum): ANDROID, iOS
  • Requirement: Mandatory for Collect requests.
The APIs affected are:
Endpoints
/v3/recurring/auth/init
/subscriptions/v2/setup

⚠️ Must pass the Header!


If you send a null value or omit this header entirely, your Collect requests will be rejected. All other transaction types will continue to work as usual.

Is this article helpful?