Account APIs

Use the Account APIs to onboard sub-merchants.


You can use the Account APIs to create a sub-merchant account. After an account gets created, an account_id is assigned.

Explore the Account API collection in the Razorpay Postman Public Workspace. Fork the workspace and test the APIs with your

.

Changelog

The following changes have taken effect as of April 30, 2022:

  • The profile.business_model parameter accepts string values with a character limit between 1-255 characters. Earlier, it accepted only three values: b2b, b2c and b2b+b2c.
  • The profile.description parameter is deprecated. This information is captured by the profile.business_model parameter.

API EndpointDescription
Creates a sub-merchant account.
Retrieves the details of an account.
Updates an account for different product activation statuses.
Deletes a sub-merchant account.

Given below is the complete end-to-end flow explaining the transition among statuses:

Account Activation Flow

StatusDescription
CreatedThe account is created.
Under ReviewYour account moves to Under Review when all the required details are submitted. Our team will review the details and reach out for clarifications.
Needs ClarificationIt is possible that we will need clarifications regarding the KYC details submitted during the review process. All the details about fields that need clarification will be present in the product configuration API.
ActivatedYou account will be activated once all of the information provided has been approved. You will be able to start accepting payments and receive settlements in your registered bank accounts.
SuspendedDuring the KYC review, your account can be suspended if it is identified as potentially fraudulent. Please reach out to our for the next steps.
RejectedThe account attains this status when the KYC details submitted by the merchant are rejected during manual review.

id

string The unique identifier of a sub-merchant account generated by Razorpay. The maximum length is 18 characters. For example, acc_GLGeLkU2JUeyDZ.

type

string The account type. Possible value is standard.

status

string The status of the account. Possible values:

  • created: Account status when the merchant account is created.
  • activated: Account status when the merchant KYC is approved.
  • needs_clarification: Account status when the merchant is asked to provide clarifications related to the KYC details submitted.
  • under_review: Account status when the merchant submits all the KYC requirements.
  • suspended: Account status when the merchant account is identified as potentially fraudulent and is suspended.
  • rejected: Account status when the KYC details submitted by the merchant are rejected during manual review.

email

string The sub-merchant's business email address.

phone

integer The sub-merchant's business phone number. The minimum length is 8 characters and the maximum length is 15.

legal_business_name

string The name of the sub-merchant's business. For example, Acme Corp. The minimum length is 4 characters and the maximum length is 200.

customer_facing_business_name

string The sub-merchant billing label as it appears on the Razorpay Dashboard. The minimum length is 1 character and the maximum length is 255. This parameter might be required to complete the KYC process. However, it is optional for this API.

business_type

string The type of business operated by the sub-merchant. Possible values:

.

reference_id

string Partner's external account reference id. The minimum length is 1 character and the maximum length is 512.

profile

object The business details of the sub-merchant's account.

category

string The business category of the sub-merchant. Possible values:

subcategory

string The business sub-category of the sub-merchant. Possible values:

description

deprecated

string This parameter has been deprecated. Pass the description using the business_model parameter.

business_model

string The business description. The minimum length is 1 character and the maximum length is 255.

addresses

object Details of sub-merchant's address.

operation

object Details of the sub-merchant's operational address. This parameter might be required to complete the KYC process. However, it is optional for this API.

street1

string Address, line 1. The maximum length is 100 characters.

street2

string Address, line 2. The maximum length is 100 characters.

city

string The city. The maximum length is 100 characters.

state

string The state. The minimum length is 2 and the maximum length is 100.

postal_code

integer The postal code. This should be exactly 6 characters.

country

string The country. The minimum length is 2 and the maximum length is 64. This can either be a country code in capital letters or the full name of the country in lower case letters. For example, for India, you must write either IN or india.

.

registered

object Details of the sub-merchant's registered address.

street1

string Address, line 1. The maximum length is 100 characters.

street2

string Address, line 2. The maximum length is 100 characters.

city

string The city. The maximum length is 100 characters.

state

string The state. The minimum length is 2 and the maximum length is 100.

postal_code

integer The postal code. This should be exactly 6 characters.

country

string The country. The minimum length is 2 and the maximum length is 64. This can either be a country code in capital letters or the full name of the country in lower case letters. For example, for India, you must write either IN or india.

.

legal_info

object The legal details about the sub-merchant's business.

pan

string Valid PAN number details of the sub-merchant's business.

  • This is a 10-digit alphanumeric code. For example, AVOJB1111K.
  • The 4th digit should be either of 'C', 'H', 'F', 'A', 'T', 'B', 'J', 'G', 'L'.
  • The regex for Company PAN is /^[a-zA-z]{5}\d{4}[a-zA-Z]{1}$/.
    This parameter might be required to complete the KYC process. However, it is optional for this API. Business types like proprietorship and individual (not_yet_registered), do not require Business PAN.

gst

string Valid GSTIN number details of the sub-merchant.

  • This is a 15-digit PAN-based unique identification number.
  • The Regex for GSTIN is /^[0123][0-9][a-z]{5}[0-9]{4}[a-z][0-9][a-z0-9][a-z0-9]$/gi.

cin

string CIN is for Private Limited and Public Limited, whereas LLPIN is for LLP business type.

  • This is a 21-digit alpha-numeric number.
  • The Regex for CIN is /^([a-z]{3}-\d{4}|[ul]\d{5}[a-z]{2}\d{4}[a-z]{3}\d{6})$/i.

brand

object The branding details of the sub-merchant's business.

color

string The color code of sub-merchant's business brand. This is a 6-character hex code (Regex: [a-fA-F0-9]{6}).

notes

object Contains user-defined fields stored by the partner for reference purposes.

contact_name

string The name of the contact. The minimum length is 4 and the maximum length is 255 characters.

contact_info

object Options available for contact support.

chargeback

object The type of contact support.

email

string The email id of chargeback POC. The maximum length is:

  • local part (before @): 64 characters.
  • domain part (after @): 68 characters.
    The total character length supported is 132.

phone

integer The phone number of chargeback POC. The maximum length is 10 characters.

policy_url

string The URL of chargeback policy. Regex is (protocol://<domainname>:port/resource path?querystring#fragementid)
protocol-both http/https allowed. Only domain name is mandatory.

refund

object The type of contact support.

email

string The email id of refund POC. The maximum length is:

  • local part (before @): 64 characters.
  • domain part (after @): 68 characters.
    The total character length supported is 132.

phone

integer The phone number of refund POC. The maximum length is 10 characters.

policy_url

string The URL of refund policy. Regex is (protocol://<domainname>:port/resource path?querystring#fragementid)
protocol-both http/https allowed.

support

array The type of contact support.

email

string The email id of support POC. The maximum length is:

  • local part (before @): 64 characters.
  • domain part (after @): 68 characters.
    The total character length supported is 132.

phone

integer The phone number of support POC. The maximum length is 10 characters.

policy_url

string The URL of support policy. Regex is (protocol://<domainname>:port/resource path?querystring#fragementid)
protocol-both http/https allowed.

apps

object The app details of the sub-merchant's business

websites

array The website/app for the sub-merchant's business. A minimum of 1 website is required.

android

array Android app details

url

string The link of the Android app. Regex is (protocol://<domainname>:port/resource path?querystring#fragementid)
protocol-both http/https allowed.

name

string The name of the Android app.

ios

array iOS app details

url

string The link of the iOS app. Regex is (protocol://<domainname>:port/resource path?querystring#fragementid)
protocol-both http/https allowed.

name

string The name of the iOS app.

activated_at

integer Unix timestamp that indicates when the merchant account was activated. This parameter has null value till the account is activated.

live

boolean Indicates the payments acceptance status of the merchant account. Possible values:

  • true: Merchant can start accepting customer payments.
  • false: Merchant cannot accept customer payments.

hold_funds

boolean Indicates the settlements status of the merchant account. Possible values:

  • true: Settlement are on hold. Funds are not transferred to the merchant account.
  • false: Settlements can be transferred to the merchant account.


Was this page helpful?