Skip to content

/merchant/psp/sub-merchant/open-partner Create Sub-merchant ​

Background ​

/merchant/psp/sub-merchant/open-partner is provided for the primary merchant to create sub-merchants. Through this endpoint, the primary merchant submits the sub-merchant's legal entity information, registration information, business information, applied products, and expected transaction volume to create the sub-merchant.

Merchant Creation Flow Diagram ​

mermaid
sequenceDiagram
    autonumber
    participant M as Primary merchant
    participant A as adopay
    participant O as adopay operations staff

    M->>A: Call the create sub-merchant endpoint
    A->>A: Validate and persist, recorded as pending review
    A-->>M: Return the application acceptance result
    A->>O: Submit the sub-merchant application for review
    O->>O: Review the merchant documents

    alt Review approved
        O->>A: Submit the approval result
        A->>A: Create the sub-merchant
        A->>A: Create the login account
        A->>A: Open the settlement account
        A-->>M: Callback with the final merchant creation result (SUCCESS)
        M-->>A: Acknowledge SUCCESS or OK
    else Review rejected
        O->>A: Submit the rejection final result
        A->>A: Terminate the creation flow and record the rejection result
        A-->>M: Callback with the merchant creation result (FAILED)
        M-->>A: Acknowledge SUCCESS or OK
    end

Integration Specifications ​

Endpoint ​

ItemValue
MethodPOST
Path/merchant/psp/sub-merchant/open-partner
Content-Typeapplication/json
PurposeCreate a sub-merchant

Request Fields ​

FieldLocationTypeLengthRequiredDescription
X-Merchant-IdHeaderstring64YesPrimary merchant number.
X-TimestampHeaderint19YesUnix timestamp of the request in seconds, used for request freshness validation.
X-NonceHeaderstring64YesRandom string for anti-replay.
DigestHeaderstring52YesRequest body digest, in the format SHA-256=<BASE64_DIGEST>.
AuthorizationHeaderstring-YesES256 request signature information, where keyId is the merchant key version number.
seqNoBodystring128YesRequest sequence number, used as the idempotency key.
subMerchantNoBodystring64NoSub-merchant number. The request value takes priority; if empty, Adopay generates one automatically.
subMerchantNameBodystring128YesSub-merchant name.
subjectTypeBodystring64YesLegal entity type of the sub-merchant: COMPANY (company) / INDIVIDUAL (individual).
registrationCountryBodystring64YesCountry of registration.
registrationNoBodystring64YesLegal entity registration number.
taxNoBodystring64NoTax ID (CPF/CNPJ).
industryBodystring32YesIndustry; see the "Industry Enum" section.
websiteUrlBodystring255YesOfficial website URL.
bizDescriptionBodystring512YesBusiness description.
bizModelBodystring16YesMerchant business model: currently B2B (business to business) and B2C (business to customer), and BOTH (all).
appliedProductBodystring16YesProduct to be enabled.
monthlyTransactionAmountBodydecimal(25,4)25,4YesExpected monthly transaction amount.
monthlyTransactionCountBodyint19NoExpected monthly transaction count.
averageOrderAmountBodydecimal(25,4)25,4NoAverage order value.
collectionSceneBodystring16Nocashin scene description.
payoutSceneBodystring16Nocashout scene description.
notifyUrlBodystring255NoURL where the partner receives the sub-merchant creation result notification. The submitted value takes priority; otherwise the partner's configured URL is used.

Industry Enum ​

Enum ValueDescription
ECOMMERCEE-commerce / retail
GAMINGGaming
DIGITAL_CONTENTDigital content / streaming
SAASSaaS / software / tools
TRADEB2B trade
PROFESSIONAL_SERVICESCorporate / professional services
TRAVELTravel / hotels / ticketing
EDUCATIONEducation
LOGISTICSLogistics / transportation
FINANCIAL_SERVICESFinance / fintech
ADVERTISINGAdvertising / marketing
OTHEROther

Request Examples ​

Request headers:

http
POST /merchant/psp/sub-merchant/open-partner HTTP/1.1
Content-Type: application/json
X-Merchant-Id: 92315566000120
X-Timestamp: 1790200000
X-Nonce: 550e8400-e29b-41d4-a716-446655440000
Digest: SHA-256=<BASE64_DIGEST>
Authorization: Signature keyId="v1",alg="ES256",headers="(request-target) x-timestamp x-nonce digest",signature="<ES256_SIGNATURE_BASE64>"

Request body example:

json
{
  "seqNo":"2322342374234234423423",
  "subMerchantNo": "S10001",
  "subMerchantName": "Example Sub Merchant Ltda.",
  "subjectType": "business",
  "registrationCountry": "BR",
  "registrationNo": "12345678000190",
  "taxNo": "12345678000195",
  "industry": "SAAS",
  "websiteUrl": "https://merchant.example.com",
  "bizDescription": "Provide online software and payment services.",
  "bizModel": "B2B",
  "appliedProduct": "pix",
  "monthlyTransactionAmount": 100000.00,
  "monthlyTransactionCount": 1000,
  "averageOrderAmount": 100.00,
  "collectionScene": "ONLINE",
  "payoutScene": "SUPPLIER",
  "notifyUrl": "https://merchant.example.com/callback/sub-merchant/create"
}

Response Fields ​

The endpoint uses the standard status, msg, and data response structure. This endpoint has no business response fields; data returns an empty object. A status of 200 in the response body means the creation request was accepted.

FieldTypeAlways ReturnedDescription
statusintYesResponse code
msgstringYesCorresponds to status
dataobjectYesBusiness response data; this endpoint has no business response fields and returns an empty object.

Response Example ​

json
{
  "status": 200,
  "msg": "sucesso",
  "data": {}
}

Response Error Codes ​