Create Merchant API

The Create Merchant API creates a new merchant account on PayU and posts all KYC details. This API returns the Merchant ID (MID) in the response.

📘

Note:

After using this API to create merchants, you can use the Update Merchant API to update the merchant details. For more information, refer to Update Merchant Details API.

Authentication

This API is authorised through a client token generated using the client ID and secret. To create a token, call the get token API with refer merchant as a scope. Refer to the Get Token API doc for more information.

❗️

Important considerations for using this API

  1. The mobile, PAN number, GSTIN passed in the request has to be valid as checks are performed in real-time.
  2. If Business Entity type is passed in the create merchant API, ensure that the PAN also belongs to the same entity.
Sample Request
curl --location 'https://uat-partner.payu.in/api/v3/merchants' \
--header 'accept: application/json' \
--header 'authorization: Bearer 74ff89df8ff4aeb3d7cb2c0297cfcb358a8c4c1d69b3980d509bf300c5e82e5f' \
--header 'content-type: application/x-www-form-urlencoded' \
--data-urlencode 'merchant[display_name]=DIVY HARESHKUMAR SHAH' \
--data-urlencode 'merchant[email][email protected]' \
--data-urlencode 'merchant[mobile]=9911100364' \
--data-urlencode 'merchant[business_details][pan]=FANPS6362D' \
--data-urlencode 'merchant[business_details][business_entity_type]=Sole Proprietorship' \
--data-urlencode 'merchant[business_details][registered_name]=DIVY HARESHKUMAR SHAH' \
--data-urlencode 'merchant[business_details][business_category]=Arts, Gifts & Stationery' \
--data-urlencode 'merchant[business_details][business_sub_category]=Art Dealers and Galleries' \
--data-urlencode 'merchant[business_details][pancard_name]=DIVY HARESHKUMAR SHAH' \
--data-urlencode 'merchant[product]=PayUbiz' \
--data-urlencode 'merchant[bank_details][account_no]=919010067278549' \
--data-urlencode 'merchant[bank_details][account_holder_name]=DIVY HARESHKUMAR SHAH' \
--data-urlencode 'merchant[bank_details][ifsc_code]=UTIB0003557' \
--data-urlencode 'merchant[website_details][website_url]=https://www.example.com' \
--data-urlencode 'merchant[monthly_expected_volume]=12000' \
--data-urlencode 'merchant[signing_authority_details][name]=DIVY HARESHKUMAR SHAH' \
--data-urlencode 'merchant[signing_authority_details][pancard_number]=FANPS6362D' \
--data-urlencode 'merchant[signing_authority_details][email][email protected]' \
--data-urlencode 'merchant[integration_type]=ThirdParty' \
--data-urlencode 'merchant[gst_number]=24FANPS6362D1ZE' \
--data-urlencode 'merchant[udyam_number]=UDYAM-UP-19-0002053' \
--data-urlencode 'merchant[gst_consent]=false'
Sample Response

Success Scenario

{
  "merchant": {
    "name": "DIVY HARESHKUMAR SHAH",
    "email": "[email protected]",
    "registered_mobile": "9916965913",
    "mid": 8791796,
    "product": "PayUbiz",
    "business_type": "LongTail",
    "business_name": null,
    "pancard_name": null,
    "pancard_number": null,
    "website_url": null,
    "android_url": null,
    "ios_url": null,
    "gst_number": null,
    "created_at": "2025-06-26T07:16:25.000Z",
    "mobile": "9916965913",
    "blocked": false,
    "first_name": "DIVY",
    "last_name": "HARESHKUMAR SHAH",
    "bank_detail": {
      "bank_account_number": null,
      "ifsc_code": null,
      "holder_name": null,
      "nodal_code": null,
      "nodal_status": null
    },
    "operating_address": {
      "address_line": null,
      "city": null,
      "state": null,
      "pincode": null
    },
    "registration_address": {
      "address_line": null,
      "city": null,
      "state": null,
      "pincode": null
    },
    "business_entity": "Sole Proprietorship",
    "status": "account_created",
    "partner_source": "Create Merchant API",
    "pan_verification_status": "Pending",
    "website_approval_status": null,
    "notification_email": "[email protected]",
    "settlement_status": "Active",
    "is_service_agreement_accepted": false,
    "is_authorisation_letter_required": false,
    "monthly_expected_volume": null,
    "business_category": null,
    "business_sub_category": null,
    "bank_verification_status": null,
    "uuid": "11f0-525d-76182ba4-954a-021ec077a271",
    "penny_deposit_status": null,
    "document_status": "Docs Approved",
    "kyc_status": {
      "status": "LOCKED",
      "kyc_status": "LOCKED"
    },
    "agreement_status": "Approved",
    "integration_type": "Not Selected",
    "service_intent": "default"
  }
}

Failure Scenario

Various error responses can be received when the API fails. Here are some common examples:

401 Unauthorized

{
  "error": "invalid_token",
  "error_description": "The access token provided is invalid"
}

Action: Regenerate the token using the Get Token API.

422 Unprocessable Entity

{
  "errors": {
    "detail": [
      "Merchant already exists with given PAN details or email id"
    ]
  }
}

Action: Use a different PAN or email ID.

422 Unprocessable Entity

{
  "errors": {
    "detail": [
      "Missing param: business_entity_id"
    ]
  }
}

Action: Include the missing parameter in your request.

Response Parameters

merchant JSON object descriptions

FieldDescription
nameName of the merchant
emailEmail address of the merchant
registered_mobileRegistered mobile number of the merchant
midMerchant ID generated by PayU
productProduct type (e.g., PayUbiz)
business_typeType of business (e.g., LongTail)
business_nameName of the business
pancard_nameName as on PAN card
pancard_numberPAN card number
website_urlURL of the merchant's website
android_urlURL of Android app
ios_urlURL of iOS app
gst_numberGST registration number
created_atTimestamp of merchant creation (ISO 8601 format)
mobileContact mobile number
blockedWhether the merchant is blocked (true/false)
first_nameFirst name of the merchant
last_nameLast name of the merchant
business_entityBusiness entity type
statusCurrent account status
partner_sourceSource of merchant creation
pan_verification_statusStatus of PAN verification
website_approval_statusStatus of website approval
notification_emailEmail for notifications
settlement_statusStatus of settlement account
is_service_agreement_acceptedWhether service agreement is accepted
is_authorisation_letter_requiredWhether authorization letter is required
monthly_expected_volumeExpected monthly transaction volume
business_categoryCategory of business
business_sub_categorySub-category of business
bank_verification_statusStatus of bank verification
uuidUnique identifier
penny_deposit_statusStatus of penny deposit verification
document_statusStatus of document verification
kyc_statusKYC verification status
agreement_statusStatus of agreement
integration_typeType of integration
service_intentService intent type

registration_address or operating_address JSON object description

FieldDescription
address_lineStreet address of the merchant
cityCity of the merchant
stateState of the merchant
pincodePostal code of the merchant

bank_detail JSON object description

FieldDescription
bank_account_numberBank account number of the merchant
ifsc_codeIFSC code of the bank branch
holder_nameName of the account holder
nodal_codeNodal code (if applicable)
nodal_statusStatus of nodal account
KYC and Document Status

The following statuses can be returned for KYC and document verification:

StatusDescription
DOCUMENT_SUBMITTEDDocuments have been submitted for verification
VERIFIEDDocuments have been verified successfully
REJECTEDDocuments have been rejected
LOCKEDKYC process is locked (cannot be modified)
PENDINGDocuments are pending verification

If a document is rejected, the error_message field will contain the reason for rejection.

📘

Note:
All timestamps are provided in ISO 8601 format (YYYY-MM-DDThh:mm:ss.sssZ).

Request parameter

📘

Mandatory and interdependent parameters:

  • The merchant display name, email, mobile, and business entity type parameters are mandatory. For the list of sample errors, refer to the Failure scenario table.
  • If the PAN number is posted, PAN name must also be posted along with it. When posting bank account details, all the bank account details should be sent, i.e., account no, IFSC, account holder name.
Parameters Reference
ParameterReference
merchant[business_category]For the list of business categories, refer to Business Category List
merchant[business_entity_type]For the list of business entity types, refer to Business Entity Type
merchant[business_details][business_sub_category]For the list of business sub-categories, refer to Business Sub-Category List

Use the following references to get additional information:

Language
Credentials
OAuth2
Click Try It! to start a request and see the response here!