Accept UPI payments in India using our APIs, and build your own payment form to have full control over your checkout journey.
Before you begin
The API-only integration works the same way for all payment methods. If you haven't done this integration yet, refer to our API-only integration guide.
When a shopper pays using UPI Collect, they enter their virtual payment address and complete the payment using the UPI app on their mobile device.
Make a payment
In your /payments request, specify:
paymentMethod.virtualPaymentAddress: The UPI VPA that the shopper entered.
amount.value: The value of the payment, in minor units.
The /payments response contains:
action.type: await, this means you need to wait for the webhook to know the payment outcome.
Show the waiting screen
- Show a waiting screen to the shopper. We recommend adding a countdown timer of 5 minutes to remind shoppers to complete the payment on their UPI app.
- Check your webhooks to see the payment result. We send you an AUTHORISATION webhook after the shopper completes the payment in their UPI app.
- Once you receive the webhook, redirect the shopper to your website, and present the payment result.
Present the payment result
Wait for a webhook to know the outcome of the payment. The webhooks you can receive for UPI Collect are:
|eventCode||success field||Description||Action to take|
|AUTHORISATION||false||The transaction failed.||Cancel the order and inform the shopper that the payment failed.|
|AUTHORISATION||true||The shopper successfully completed the payment.||Inform the shopper that the payment has been successful and proceed with the order.|
resultCode that you received in the /payments response to inform your shopper of the payment status. The
resultCode values you can receive for payments made through UPI Collect are:
|resultCode||Description||Action to take|
|Error||There was an error when the payment was being processed. For more information, check the
||Inform the shopper that there was an error processing their payment.|
|Pending||The payment order was successfully received.||Inform the shopper that you've received their order, and are waiting for the payment to clear.
You will receive the final result of the payment in an AUTHORISATION webhook.
|Refused||The payment was refused. For more information, check the
||Ask the shopper to try the payment again using a different payment method.|
Test and Go Live
Use these credentials to test UPI Collect:
Depending on your account setup, you may have access to the UPI simulator which you can use to test your UPI integration. Contact your Account Manager or our Support Team if you have questions about the simulator.
You can also use your personal account on a UPI app to test your integration by making live payments with a low value.