UPI Collect Payment
Create a collect transaction for given VPA. In UPI collect transaction, payment collect request is sent to the UPI app.
Please use the relevant parameters received from the Payment Method API in UPI for payment_method_type and payment_method fields.
application/x-www-form-urlencoded
We recommend passing the customer_id as the x-routing-id. If the customer is checking out as a guest, you can pass an alternative ID that helps track the payment session lifecycle. For example, this could be an Order ID or Cart ID.
This ID is associated with the customer. It plays a key role in ensuring consistency and maintaining connections across different systems. If you fail to pass the same x-routing-id for the same customer in all related API calls, it could lead to issues with API functionality. Therefore, it’s crucial that you use the same x-routing-id for all requests tied to the same customer.
Example:- customer_1122
order\_id pertaining to the order for which the payment is started.
ID of the merchant_account that you hold with us.
Must be UPI.
Please use the relevant value received from the Payment Method API in the payment_method field.
The platform from which the transaction is initiated. This is used to share the payment channel with Juspay. Accepted values: ANDROID_APP, ANDROID_WEB, IOS_APP, IOS_WEB, DESKTOP.
NPCI has mandated the removal of UPI Collect for most transactions by January 31st, 2026. While iOS and PACB flows are currently exempt, merchants must update their integration to pass the payment_channel in the Transaction API to Juspay. This ensures that valid, exempted transactions are correctly identified and processed.
Must be UPI_COLLECT for Old UPI Collect Request. This field is obsolete for New UPI Collect Request
VPA to which the collect request must be sent.
This is a boolean variable and accepts true/false. We recommend that you set this to true and use the redirection flow. If set to true, then the user is redirected to the return\_url configured for the order. If set to false, then the user will be stopped at the response page from the gateway. Your client should be able to read the page/title to infer that the user has completed the transaction.
If it is set to json, then the response will be HTTP 200 with a JSON formatted text. Otherwise, the response is HTTP 302 with the Location attribute having the destination URL.
The key offers should be passed only when juspay offers are being used. The value for this key can set as the offerID which is received from /v1/offers/list api
:order_id
:txn_id
PENDING_VBV
error
Order timed out
invalid_request

