Skip to content

IMPS

QP Integration option

This integration option supports the following operations:


Payout

Request

Send a payout request with the following additional parameters:

Parameter Type Description
method object A section of the payment method information.
type * required
string imps
account * required
string The IMPS account number for a payout.
account_name * required
string The IMPS account name for a payout.
ifsc_code * required
string The IMPS IFSC code for a payout.
customer object A section of the customer details.
first_name * required
string The customer's first name.
last_name * required
string The customer's last name.
email * required
string The customer's email address.
address * required
string The customer's address.
phone * required
string 10 digits of the customer's phone number without the country code.
Response

The imps response section will have the parameters copied from the request.

EP Integration option

This integration option supports the following operations:


Payment

Request

Send a payment request with the following additional parameters:

Parameter Type Description
method object A section of the payment method.
type * required
string imps

Info

A minimum payment amount is 300 Indian rupees (submitted as 30000).

Response

The payment response additionally contains the form section. Redirect your customer to the URL received as a value of the form.action parameter, so he or she can complete the payment.

Info

The customer has only 15 minutes to confirm the payment.


Payout

Request

Send a payout request with the following additional parameters:

Parameter Type Description
method object A section of the payment method.
type * required
string imps

Info

A minimum payout amount is 3000 Indian rupees (submitted as 300000).

Response

The payout response additionally contains the form section. Redirect your customer to the URL received as a value of the form.action parameter.

Info

The customer has only 15 minutes to confirm the payout.


Status query

Request

If you specify notification_url in the payment or payout request, Riverbanq sends a webhook notification about a transaction status. Please note, it might take some time for Riverbanq to get the transaction status confirmation from the payment method provider.

If needed, send a status query request to get the current transaction status.

Response

The response contains the transaction status, a section of the payment method as well as other details related to the transaction according to the description of a transaction status query.

PZC Integration option

This integration option supports payment and payout transaction types:


Payment

Payment flow

  1. The customer selects IMPS as a payment opiton.
  2. The merchant sends a payment request to Riverbanq.
  3. The page with the payment data is displayed to the customer.
  4. The customer copies the payment data and makes a payment using an application or an internet banking option of their choice.
  5. The customer is redirected to the return_url where the payment status is displayed.
  6. Riverbanq sends a webhook notification to the merchant.

Note

The amount parameter value in the webhook notification and in the response to the transaction status query can be different from the value sent in the initial payment request and will equal the actual paid amount.

Request

Send a payment request with the following additional parameters in the method section:

Parameter Type Description
return_url *required
string A URL, to which the customer is returned once the transaction is completed.
method *required
object A section of the payment method.
type *required
string imps
customer object A section of information about the customer.
first_name string The customer's first name.
last_name string The customer's last name.
phone
string (10) The customer's phone number.
email string The customer's email address.
Request example
{
    "request": {
        "amount": 10,           
        "currency": "INR",                        
        "test": false,
        "description": "description",           
        "return_url": "https://someurl.com",
        "method": {
            "type": "imps"                
        }
    }
}
Response
Response example
{
    "transaction": {
        "uid": "c432436c-b153-4466-89f1-7ebb54203361",
        "type": "payment",
        "status": "pending",
        "amount": 10,
        "currency": "INR",
        "description": "description",
        "created_at": "2023-08-04T14:50:20Z",
        "updated_at": "2023-08-04T14:50:20Z",
        "method_type": "imps",
        "receipt_url": "https://my.riverbanq.com/customer/transactions/c432436c-b153-4466-89f1-7ebb54203361/cb5026d14acf395cc973902ef0e9516a60d2e09544266342767a45f36507ba3d",
        "payment": {
            "status": "pending",
            "gateway_id": 3073,
            "message": "Transaction created"
        },
        "imps": {
            "type": "imps"
        },
        "customer": {
            "email": null,
            "ip": null
        },
        "message": "Transaction created",           
        "test": false,
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },       
            "gateway": {
            "iframe": false
        },
        "form": {
            "action": "https://checkout.pzc.com/payment/t4f9e9b3a-4223-4a97-965e-9c483fc8d163/12649778853",
            "method": "GET",
            "fields": []
        }
    }
}

Payout

Payout flow

  1. The customer initiates the payout.
  2. The merchant sends a payout request to the Riverbanq system.
  3. Riverbanq sends a response to the payout request to the merchant.
  4. Once the payout it finalized, Riverbanq sends a webhook notification to the merchant.
Request

Send a payout request with the following additional parameters:

Parameter Type Description
method object A section of the payment method information.
type * required
string imps
account * required
string The bank account number for the payout.
ifsc_code * required
string The IFSC-code of the recipient bank.
customer object A section of the customer details.
first_name * required
string (35) The customer's first name.
last_name * required
string (35) The customer's last name.
id_number * required
string The customer's identifier in the merchant's system.
Request example
{
    "request": {
        "amount": 10000,
        "currency": "INR",
        "description": "description",            
        "test": false,           
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "id_number": "1234567"
        },
        "method": {
            "type": "imps",
            "account": "1234",
            "ifsc_code": "ABCD0001238"
        }
    }
}
Response

The response will contain the imps section with the payment method parameters.

Response example
{
    "transaction": {
        "uid": "d1b8582b-c6e3-4b7d-8fd6-927a26fef68",
        "type": "payout",
        "status": "pending",
        "amount": 10,
        "currency": "INR",
        "description": "description",
        "created_at": "2023-08-04T11:05:22Z",
        "updated_at": "2023-08-04T11:05:23Z",
        "method_type": "imps",
        "receipt_url": "https://my.riverbanq.com/customer/transactions/d1b8582b-c6e3-4b7d-8fd6-927a26fef678/978ab9cfcf49e66dfe1bef13c5c81adbcaf9729e9ee7ee3858619f9091b4d3",
        "payout": {
            "status": "pending",
            "gateway_id": 3073,
            "message": "Payout request created"
        },
        "imps": {
            "type": "imps",
            "account": "123467911",
            "ifsc_code": "ABCD0001238"
        },
        "customer": {
            "email": null,
            "ip": null
        },
        "message": "Payout Request Created",            
        "test": false,
        "billing_address": {
            "first_name": "John",
            "last_name": "Doe",
            "id_number": "1234567"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        }
    }
}

PE Integration option

Payment

Payment flow

  1. Customer initiates IMPS payment on the merchant's website.
  2. Merchant sends the payment request to Riverbanq
  3. Riverbanq returns a payment link to the merchant.
  4. The merchant redirects the customer to the payment link that opens in the corresponding application on the customer's device.
  5. The customer confirms the payment.
  6. Riverbanq sends a webhook notification to the merchant.

Info

This integration option only supports INR currency.

Request

Send a payment request with the following additional parameters:

Parameter Type Description
request object
return_url * required
string URL to return the customer to when the transaction is completed.
method object A section of the payment method.
type * required
string imps
customer * required
object A section of information about the customer.
first_name * required
string The customer's first name.
last_name * required
string The customer's last name.
email * required
string (100) The customer's email address.
phone * required
string The customer's phone number.
external_id string The customer's identifier in the merchant's system.
Request example
{
  "request":{
      "amount":20000,
      "currency":"INR",
      "description":"description",
      "duplicate_check": false,
      "test": false,      
      "tracking_id":"your_uniq_number",
      "ip":"127.0.0.1",
      "language":"en",
      "notification_url":"https://merchant.ltd/notification",
      "return_url":"https://merchant.ltd/return",
      "customer":{
        "first_name":"John",
        "last_name":"Doe",       
        "phone":"17777777777",       
        "email": "[email protected]"
      },
      "method":{
        "type": "imps"
      }
  }
}
Response

Redirect your customer to the URL received as the value of the form.action parameter.

Response example
{
    "transaction": {
        "uid": "87802f06-270d-4dde-bca3-49c799d0949c",
        "type": "payment",
        "status": "pending",
        "amount": 20000,
        "currency": "INR",
        "description": "description",
        "created_at": "2025-04-17T14:43:25Z",
        "updated_at": "2025-04-17T14:43:25Z",
        "method_type": "imps",
        "receipt_url": "https://my.riverbanq.com/customer/transactions/87802f06-270d-4dde-bca3-49c799d0949c/8cf133b729330a339c117270420b430918847ae4ee86f7b45e247a1a232adad5?language=en",
        "payment": {
            "status": "pending",
            "gateway_id": 5255,
            "message": "Transaction was initialized."
        },
        "imps": {
            "type": "imps"
        },
        "customer": {
            "first_name": "John",
            "last_name": "Doe",
            "email": "[email protected]",
            "phone": "17777777777",
            "ip": "127.0.0.1"
        },
        "manually_corrected_at": null,
        "version": 0,
        "message": "Transaction was initialized.",
        "tracking_id": "your_uniq_number",
        "test": false,
        "language": "en",
        "billing_address": {
            "first_name": "John",
            "last_name": "Doe",
            "email": "[email protected]",
            "phone": "17777777777"
        },
        "additional_data": {
            "payment_method": {
                "type": "alternative"
            }
        },       
        "gateway": {
            "iframe": false
        },
        "form": {
            "action": "payment-link",
            "method": "GET",
            "fields": []
        }
    }
}    

Payout

Request

Send a payout request with the following data:

Parameter Type Description
method object A section of the payment method.
type * required
string imps
account_number * required
string The identifier of the account for the payout.
ifsc_code * required
string The IFSC-code of the recipient bank.
customer object A section of information about your customer.
first_name * required
string The customer's first name.
last_name * required
string The customer's last name.
external_id string The customer's identifier in the merchant's system.
Request example
{
  "request":{
      "amount":20000,
      "currency":"INR",
      "description":"description",
      "test": false,
      "tracking_id":"your_uniq_number",
      "ip":"127.0.0.1",
      "language":"en",
      "notification_url":"https://your-notification.url",
      "return_url":"https://your-success.url",
      "customer":{
        "first_name":"John",
        "last_name":"Doe"        
      },
      "method":{
        "type": "imps",
        "account_number": "123456789",
        "ifsc_code": "ICIC0002293"
      }
  }
}
Response
Response example
{
      "transaction": {
          "uid": "ea1d9cec-24b1-4436-b290-6ff713995909",
          "type": "payout",
          "status": "pending",
          "amount": 20000,
          "currency": "INR",
          "description": "description",
          "created_at": "2025-04-17T15:24:51Z",
          "updated_at": "2025-04-17T15:24:51Z",
          "manually_corrected_at": null,
          "method_type": "imps",
          "receipt_url": "https://my.riverbanq.com/customer/transactions/ea1d9cec-24b1-4436-b290-6ff713995909/d330742681e13ce43491120b804b9aefff61abd68ab3a5a56239ac935af87b62?language=en",
          "payout": {
              "status": "pending",
              "gateway_id": 5255,
              "ref_id": "njfvvmyya",
              "message": "Transaction was initialized."
          },
          "imps": {
              "type": "imps"
          },
          "customer": {
              "email": null,
              "ip": "127.0.0.1"
          },
          "version": 0,
          "message": "Transaction was initialized.",
          "tracking_id": "your_uniq_number",
          "test": false,
          "language": "en",
          "billing_address": {
              "first_name": "John",
              "last_name": "Doe"
          },
          "additional_data": {
              "payment_method": {
                  "type": "alternative"
              }
          }       
      }
}