Make Payment [v2]
Since UPI payments don't need any redirection, you only need to call this API to make UPI payments. The API used to support OTP/token submission flows for BNPL but this is now deprecated and can be found in v3 APIs
Request Body required
- intent
- collect
Default value: collect
This is the flow of the UPI payment mode
Possible values: [gpay
, phonepe
, paytm
]
Specifies the UPI app that you want to open for the flow, the API will respond with an app specific intent URL. If it's not passed, the response will contain the generic intent URL.
Possible values: Value must match regular expression [a-zA-Z0-9.\-_]{2,256}@[a-zA-Z]{2,64}
This is the UPI id of the customer
Possible values: [UPI
]
This is the payment mode chosen by the customer to pay for your order
The order_id for which the payment is being made
- 200
- 4XX
- 5XX
When the payment completion request is successful, the response will be as below
Schema
This is the http status code
This is the order passed in the request
This is the unique transaction id generated by Nimbbl for this payment
Possible values: [success
]
This is the status of the request
This a message explaining the status of the payment
The time in seconds it took for the transaction to be completed
extra_info object required
This object provides information regarding how to redirect the customer
The payment attempts that have been used against this order
data object required
This is the url to which the customer should be redirected to complete the payment
This always comes as poll for UPI collect
info object required
The info object provides information on the next api call
Possible values: [/api/v2/transaction-enquiry
]
Mainly provides the enquiry url
request_args object
This contains the request params for the next api call
This is the order passed in the request
This is the unique transaction id generated by Nimbbl for this payment
This is the payment mode chosen by the customer to pay for this order
{
"status_code": 200,
"order_id": "o_9yo5wxlLlbJGK6dp",
"transaction_id": "o_9yo5wxlLlbJGK6dp-231210182525",
"status": "success",
"message": "Payment Initiated",
"completion_time": 35,
"extra_info": {
"attempts": 2,
"data": {
"redirectUrl": "upi://pay?pa=shop.payu@indus&pn=btpl&tr=1123&am=3.50&cu=INR&tn=UPI",
"action": "poll"
}
},
"info": {
"url": "/api/v2/transaction-enquiry",
"request_args": {
"order_id": "o_9yo5wxlLlbJGK6dp",
"transaction_id": "o_9yo5wxlLlbJGK6dp-231210182525",
"payment_mode": "UPI"
}
}
}
{
"status_code": 200,
"status": "success",
"order_id": "o_9yo5wxlLlbJGK6dp",
"transaction_id": "o_9yo5wxlLlbJGK6dp-231210182525",
"message": "Payment Initiated",
"completion_time": 35,
"extra_info": {
"attempts": 2
},
"info": {
"url": "/api/v2/transaction-enquiry",
"request_args": {
"order_id": "o_9yo5wxlLlbJGK6dp",
"transaction_id": "o_9yo5wxlLlbJGK6dp-231210182525",
"payment_mode": "UPI"
}
}
}
When the payment completion request is not successful, the response will be as below
Schema
The HTTP error status
The message from the server explaining the error
error object
The HTTP error status
The message from the server explaining the error
This is the http status code
The transaction status
error object
The transaction status
The message from the server explaining the error
{}
When there is a problem on the server, the response will be as below
Schema
The HTTP error status
The message from the server explaining the error
{
"status": 500,
"error": "HTTP 500: Internal Server Error"
}