Skip to main content
POST
Available in🇮🇳 India🇸🇬 Singapore🇺🇸 United States
Use this endpoint to create a Customer Identifier with both bank_account and vpa receiver types. You can customise the merchant prefix of the vpa (payto00000) as per your business requirements. This is an on-demand feature and is not available by default. To enable creation of custom merchant prefix, raise a request on our Support Portal.
Watch Out!You cannot create a Customer Identifier with VPA Receiver alone. You can only add VPA to an existing Customer Identifier.

Request Parameters

json object
required
Configuration of desired receivers for the Customer Identifier.
array
List of desired receiver types. Possible values:
  • bank_account
  • vpa
json object
Descriptor details for the virtual UPI ID. This is to be passed only when vpa is passed as the receiver types.
string
You can provide a custom descriptor for the UPI ID. This is a unique identifier provided by you to identify the customer. For example, gaurikumari and akashkumar are the descriptors in the usernames rpy.payto00000gaurikumari and rpy.payto00000akashkumar respectively. The combination of merchant prefix and descriptor must be 20 characters. The length of the merchant prefix can vary between 4-10 characters, and the length of descriptor from 10-16 characters.
json object
Descriptor details for the Bank Account. This is to be passed only when bank_account is passed as the receiver types.
string
A unique, numeric / alphanumeric custom descriptor defined by you for the bank account. The maximum length allowed is 10 digits.
Handy Tips
Please reach out to the support team if you are unable to pass the parameter with bank_account.
string
A brief description of the Customer Identifier.
string
Unique identifier of the customer to whom the Customer Identifier must be tagged. Create a customer using the Customer API.
json object
Any custom notes you might want to add to the Customer Identifier can be entered here. Know more about notes.
integer
UNIX timestamp at which the Customer Identifier is scheduled to be automatically closed. For example, 1681615838. This needs to be passed only if you want the Customer Identifier to be temporary and auto-deleted after a specific usage time.
Watch Out!
  • While sharing the details of Customer Identifiers (created using RBL bank) with the customers, ensure that the fifth character in the IFSC is number 0 and not the letter O. For example, valid IFSC is RATN0VAAPIS and not RATNOVAAPIS.
  • A Customer Identifier will close automatically only if the UNIX timestamp is passed in the close_by request parameter.

Response Parameters

string
The unique identifier of the Customer Identifier.
string
The merchant billing label as it appears on the Dashboard.
string
Indicates the type of entity. Here, it is virtual account.
string
Indicates whether the Customer Identifier is in active or closed state.
string
A brief description about the Customer Identifier.
integer
The amount expected by the merchant.
integer
The amount paid by the customer into the Customer Identifier.
json object
Any custom notes you might want to add to the Customer Identifier can be entered here. Know more about notes.
string
Unique identifier of the customer the Customer Identifier is linked with. Know more about Customer API.
json object
Configuration of desired receivers for the Customer Identifier.
string
The unique identifier of the virtual bank account or virtual UPI ID. Sample IDs for:
  • Virtual bank account: ba_Di5gbQsGn0QSz3
  • Virtual UPI ID: vpa_CkTmLXqVYPkbxx
string
Name of the entity. Possible values are:
  • bank_account
  • vpa
string
The IFSC for the virtual bank account created. For example, RAZR0000001. This parameter appears in the response only when bank_account is passed as the receiver type.
string
The bank associated with the virtual bank account. For example, RBL Bank. This parameter appears in the response only when bank_account is passed as the receiver type.
string
The unique account number provided by the bank. For example, 1112220061746877. This parameter appears in the response only when bank_account is passed as the receiver type.
string
The merchant billing label as it appears on the Dashboard. This parameter appears in the response only when bank_account is passed as the receiver type.
json object
Any custom notes you might want to add to the virtual bank account or virtual UPI ID can be entered here. Know more about notes. This parameter appears in the response only when bank_account is passed as the receiver type.
string
The UPI ID consists of the username and the bank handle. The username consists of the namespace (assigned by the bank to Razorpay), the merchant prefix (which can be customised by you) and the descriptor (which you provide to identify the customer). The unique identifier which forms the first half of the virtual UPI ID. For example, rpy.payto00000gaurikumari. This parameter appears in the response only when vpa is passed as the receiver type. The descriptor can be 10 characters only.
string
The bank name that forms the second half of the virtual UPI ID. For example, icici. This parameter appears in the response only when vpa is passed as the receiver type.
string
The UPI ID that combines the username and the handle with the @ symbol. For example, rpy.payto00000gaurikumari@icici. This parameter appears in the response only when vpa is passed as the receiver type.
integer
UNIX timestamp at which the Customer Identifier is scheduled to be automatically closed. This is returned only if the UNIX timestamp was specified during the Customer Identifier creation. There is no expiry time for a Customer Identifier unless specified during creation.
integer
UNIX timestamp at which the Customer Identifier is automatically closed.
integer
UNIX timestamp at which the Customer Identifier was created.

Errors

Code: 4xxOccurs when there is a mismatch between the API credentials passed in the API call and the API credentials generated on the dashboard.Solution: Make sure that the API keys are active and entered correctly. Also, make sure there are no whitespaces before or after the keys.
Code: 400Occurs when a mandatory field is empty.Solution: Make sure that all the mandatory fields are filled.
Code: 400Occurs when the customer_id passed is wrong or does not belong to the identifier associated to the API Keys used.Solution: Make sure that the customer_id and the API keys used belong to the same identifier and same mode, whether test or live respectively.
Code: 400Occurs when the receivers field is empty.Solution: Make sure that the receivers field is populated with receiver type as either bank account or VPA according to your receiver requirement.
Code: 400The description provided by you already exists for another account.Solution: Provide a different description, as the same description already exists for an account.