Update Merchant
Update specific fields of an existing merchant.
Overview
The Update Merchant endpoint allows Payment Aggregators (PSPs) to update an existing sub-merchant’s company details, settlement information, contact details, and business information. This is a partial update (PATCH) — only include the fields you want to change. Fields not included in the request will remain unchanged. Important: Updates are only allowed when the sub-merchant is inPENDING or CHANGES_REQUESTED status. Merchants in other statuses (APPROVED, IN_REVIEW, REJECTED) cannot be edited.
Request Parameters
The request structure mirrors the Create Merchant endpoint. All fields are optional for partial updates.Parameter Definitions
Top-level
| Name | Type | Required | Description |
|---|---|---|---|
| company_details | object | No | Company and contact details to update. See Company Details |
| settlement_details | object | No | Bank account details to update. See Settlement Details |
Company Details
All fields from the Create Merchant are accepted, but none are required. Only include fields you want to change. Key fields:| Name | Type | Description | Constraints |
|---|---|---|---|
| string | Contact email. | RFC 5322 email format | |
| phone_number | string | Contact phone number. | E.164 format (e.g., +919876543210) |
| legal_name | string | Legal name of the company. | Max 255 chars |
| brand_name | string | Brand/trade name. | Max 255 chars |
| website | string | Company website URL. | Must include https:// prefix |
| international_org_type | string | Type of organization. | Same enum as Create |
| monthly_avg_transaction_volume | string | Transaction volume range. | Same enum as Create |
| business_category | string | Business category. | Same values as Create |
| business_category_other | string | Required when category includes “Other”. | |
| business_mode | string | Mode of business. | Enum: b2b, b2c, marketplace |
| mcc | string | Merchant Category Codes. | Comma-separated 4-digit codes |
Settlement Details
All fields from the Create Merchant are accepted. Only include fields you want to change.Examples
Response Examples
Error Codes
| Code | Message | Description |
|---|---|---|
| ERR_MERCHANT_001 | Validation error | Request validation failed — check details for field-level errors |
Implementation Notes
Editable Statuses
Only sub-merchants in these statuses can be updated:- PENDING — Initial state after creation
- CHANGES_REQUESTED — After review, when additional information is needed
Partial Updates
This endpoint supports partial updates — only send the fields you want to change. Omitted fields retain their current values.Address Handling
Whensame_as_registered_address is set to true, communication address fields are automatically copied from registered address fields. If you update registered address fields and want communication to match, include same_as_registered_address: true.
Validation
All the same validations from the Create Merchant endpoint apply:websitemust includehttps://prefixphone_numbermust be E.164 formatbusiness_category,business_mode,international_org_type,monthly_avg_transaction_volumemust use valid enum valuesmccmust be comma-separated 4-digit codesbusiness_category_otheris required when category includes “Other”
Authorizations
Client Application ID - Your unique application identifier used to authenticate API requests. You can find your Client ID in the Developer Settings section of the merchant dashboard.
Client Secret Key - Your secret key used alongside the Client ID for secure authentication. Keep this confidential and never expose it in client-side code. Available in the Developer Settings section of the merchant dashboard.
API Version - Specifies which version of the API to use (e.g., '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which API version your integration uses. Default version information is available in the Developer Settings.
Path Parameters
The ID of the merchant to update.
Body
Merchant update request - only include fields to update