Fund Accounts

List of APIs to create, update and delete a Fund Account for a Contact in RazorpayX.


Fund accounts are accounts associated with a contact. Payouts are made to fund accounts.

Currently, RazorpayX supports 4 types of fund accounts:

  • bank_account: Make payouts to a beneficiary's bank account via bank transfer using one of the available such as NEFT, IMPS or RTGS.
  • vpa (Virtual Payment Address): Make payouts to a beneficiary's UPI ID via a UPI transfer.
  • cards: Make payouts directly to a beneficiary's card via a bank transfer using one of the available such as NEFT, IMPS, UPI or card mode.
  • wallet: Make payouts directly to a beneficiary's wallet. Currently, you can make payouts to a beneficiary via an Amazon Pay Gift Card.

Read more: Payout modes available for each fund account type.

Handy Tips
You can improve payout processing times by creating fund accounts a few hours before you make payouts to the fund account.

You can try out our APIs on the Razorpay Postman Public Workspace.

Run in Postman

Create a Fund Account🔗

Bank Account🔗

Use the below endpoint to create a fund account of type bank_account.

/fund_accounts

Handy Tips

  • A new fund account is created if any combination of the following details is unique: contact_id, bank_account.name, bank_account.ifsc and bank_account.account_number.
  • If all the above details match the details of an existing fund account, the API returns details of the existing fund account.
  • You cannot edit the details of a fund account.

Request Parameters🔗

contact_idmandatory

string This is the unique identifier linked to a contact. For example, cont_00000000000001.

account_typemandatory

string The account type you want to link to the contact ID. Here it is bank_account.

bank_account

The contact's bank account details.

namemandatory
string Account holder's name. Name must be between 3 - 120 characters. This field is case-sensitive. Name cannot end with a special character, except .. Supported characters: a-z, A-Z, 0-9, space, ’ , - , _ , / , ( , ) and , .. For example,Gaurav Kumar.
ifscmandatory
string Beneficiary bank IFSC. Has to be 11 characters. Unique identifier of a bank branch. For example, HDFC0000053.
account_numbermandatory
string Beneficiary account number. Between 5 and 35 characters. Supported characters: a-z, A-Z and 0-9. Beneficiary account number. For example, 765432123456789.

Response Parameters🔗

id

string The unique identifier linked to the fund account. For example, fa_00000000000001.

entity

string Here it will be fund_account.

contact_id

string The unique identifier linked to the contact. For example, cont_00000000000001.

account_type

string The fund account type being created. Here it will be bank_account.

bank_account

The contact's bank account details.

ifsc
string Beneficiary bank IFSC. For example, HDFC0000053.
bank_name
string The contact's bank name. For example, HDFC.
name
string Account holder's name. For example,Gaurav Kumar.
account_number
string Beneficiary account number. For example, 765432123456789.
active

boolean Possible values:

  • true: active
  • false: inactive
batch_id

string This parameter is populated if the fund account was created as part of a bulk upload. For example, batch_00000000000001.

created_at

integer Timestamp, in Unix, when the fund account was created. For example, 1545320320.

VPA (UPI ID)🔗

Use the below endpoint to create a fund account of type vpa.

/fund_accounts

Handy Tips

  • A new fund account is created if any combination of the following details is unique: contact_id and vpa.address.
  • If all the above details match the details of an existing fund account, the API returns details of the existing fund account.
  • You cannot edit the details of a fund account.

Request Parameters🔗

contact_idmandatory

string This is the unique identifier linked to a contact. For example, cont_00000000000001.

account_typemandatory

string The fund account type you want to link to the contact ID. Here it is vpa.

vpa

The contact's virtual payment address (VPA) details.

addressmandatory
string Between 3 and 100 characters. Supported characters: a-z, A-Z, 0-9, ., - and one @. The virtual payment address. For example, gauravkumar@exampleupi.

Response Parameters🔗

id

string The unique identifier linked to the fund account. For example, fa_00000000000001.

entity

string Here, it will be fund_account.

contact_id

string The unique identifier linked to the contact. For example, cont_00000000000001.

account_type

string The fund account type being created. Here, it will be vpa.

vpa

The contact's virtual payment address (VPA) details.

username
string The username portion of the virtual payment address. For example, gaurav.kumar.
handle
string The handle portion of the virtual payment address. For example, exampleupi.
address
string The virtual payment address. For example, gaurav.kumar@exampleupi.
active

boolean The status of the fund account. Possible values:

  • true: active
  • false: inactive
batch_id

string This parameter is populated if the fund account was created as part of a bulk upload. For example, batch_00000000000001.

created_at

integer Timestamp, in Unix, when the fund account was created. For example, 1545320320.

Activate or Deactivate a Fund Account🔗

Use the below endpoint to activate or deactivate a fund account. This helps you block payouts to certain fund accounts, as and when required.

/fund_accounts/:id

Path Parameters🔗

idmandatory
string The unique identifier linked to the fund account. For example, fa_00000000000001.

Request Parameters🔗

activemandatory
boolean The state to which you want to move the fund account. Possible values:
  • true (default) = active
  • false = inactive

    Pass false to deactivate an account and pass true to activate an account.

Fetch All Fund Accounts🔗

Use the below endpoint to fetch details of all available fund accounts in the system.

/fund_accounts

Query Parameters🔗

account_type
string The fund account type to be fetched. Possible values:
contact_id
string The unique contact ID for which fund accounts are to be fetched. For example, cont_00000000000001.
from
integer Timestamp, in Unix, from when fund accounts are to be fetched.
to
integer Timestamp, in Unix, till when fund accounts are to be fetched.
count
integer The number of fund accounts to be fetched. Default = 10. Maximum = 100. This can be used for pagination, in combination with skip.
skip
integer The number of fund accounts to be skipped. Default = 0. This can be used for pagination, in combination with count.

Fetch Fund Account Details by ID🔗

Use the below endpoint to fetch details of the required fund account.

/fund_accounts/:id

Path Parameters🔗

idmandatory
string The unique identifier linked to the fund account. For example, fa_00000000000001.
×