Pular para o conteúdo principal
curl -X POST https://checkout.noxpay.io/v2/naas/submerchants/enroll \
  -H "api-key: <key>" \
  -H "X-Signature: <assinatura-do-corpo>" \
  -H "Content-Type: application/json" \
  -d '{
    "timestamp": "2026-05-25T14:30:00Z",
    "payload": {
      "tax_id":       "30259965000164",
      "legal_name":   "Acme Pagamentos Ltda.",
      "trade_name":   "AcmePay",
      "is_brazilian": true,
      "split_pct":    1.5,
      "permissions": [
        { "product_code": "crossramp_checkout" },
        { "product_code": "global_account", "fee_pct": 0.5 }
      ]
    }
  }'
import requests

# Sem correlation_id — omitir em sign_envelope
body, sig = sign_envelope({
    "tax_id":       "30259965000164",
    "legal_name":   "Acme Pagamentos Ltda.",
    "trade_name":   "AcmePay",
    "is_brazilian": True,
    "split_pct":    1.5,
    "permissions":  [{"product_code": "crossramp_checkout"}, {"product_code": "global_account", "fee_pct": 0.5}],
})
response = requests.post(
    "https://checkout.noxpay.io/v2/naas/submerchants/enroll",
    headers={"api-key": "<key>", "X-Signature": sig, "Content-Type": "application/json"},
    data=body,
)
print(response.json())  # { "correlation_id": "a1b2c3d4-..." }
// Sem correlationId — omitir em signEnvelope
const { body, signature } = signEnvelope({
  tax_id:       "30259965000164",
  legal_name:   "Acme Pagamentos Ltda.",
  trade_name:   "AcmePay",
  is_brazilian: true,
  split_pct:    1.5,
  permissions:  [{ product_code: "crossramp_checkout" }, { product_code: "global_account", fee_pct: 0.5 }],
});
const response = await fetch("https://checkout.noxpay.io/v2/naas/submerchants/enroll", {
  method: "POST",
  headers: { "api-key": "<key>", "X-Signature": signature, "Content-Type": "application/json" },
  body,
});
const data = await response.json();
// data.correlation_id → use este UUID em todas as chamadas subsequentes
{ "correlation_id": "a1b2c3d4-e5f6-4789-abcd-000000000001" }
{ "error": "tax_id is required" }
{ "error": "tax_id is already registered as a master merchant" }
Registra um novo sub-merchant sob o merchant master e retorna o correlation_id (UUID) que identifica o relacionamento. Este UUID é exigido por todos os outros endpoints NaaS que operam em nome do sub-merchant.
Este endpoint opera no nível do merchant master. Não inclua correlation_id no envelope — omita esse campo completamente ao assinar.

Campos do payload

CampoTipoObrigatórioDescrição
tax_idstringSimCNPJ do sub-merchant. Pontos, barras e hífens são removidos automaticamente.
legal_namestringSimRazão social oficial.
trade_namestringNãoNome fantasia ou marca.
is_brazilianbooleanSimtrue para empresas brasileiras, false para estrangeiras.
split_pctnumberNãoPercentual de split padrão aplicado a todas as permissões, salvo override.
permissionsarraySimPelo menos uma entrada. Um objeto vazio {} concede acesso a todos os produtos.
Objeto de permissão:
CampoTipoDescrição
product_codestringProduto a habilitar. Omita para conceder acesso a todos os produtos.
fee_pctnumberOverride de taxa por entrada. Usa split_pct se omitido.
Produtos disponíveis:
CódigoDescrição
crossramp_checkoutLinks de checkout crypto-to-BRL
global_accountGerenciamento de carteiras Fireblocks e saques
Passe [{}] (um array com um objeto vazio) para conceder acesso a todos os produtos de uma vez, todos compartilhando o split_pct de nível superior.

Response 201 Created

{ "correlation_id": "a1b2c3d4-e5f6-4789-abcd-000000000001" }
Guarde o correlation_id retornado — é o UUID usado em todas as chamadas NaaS subsequentes para este sub-merchant. 400tax_id, legal_name ou permissions ausentes; ou product_code desconhecido. 409 — o tax_id já está registrado como merchant master.
curl -X POST https://checkout.noxpay.io/v2/naas/submerchants/enroll \
  -H "api-key: <key>" \
  -H "X-Signature: <assinatura-do-corpo>" \
  -H "Content-Type: application/json" \
  -d '{
    "timestamp": "2026-05-25T14:30:00Z",
    "payload": {
      "tax_id":       "30259965000164",
      "legal_name":   "Acme Pagamentos Ltda.",
      "trade_name":   "AcmePay",
      "is_brazilian": true,
      "split_pct":    1.5,
      "permissions": [
        { "product_code": "crossramp_checkout" },
        { "product_code": "global_account", "fee_pct": 0.5 }
      ]
    }
  }'
import requests

# Sem correlation_id — omitir em sign_envelope
body, sig = sign_envelope({
    "tax_id":       "30259965000164",
    "legal_name":   "Acme Pagamentos Ltda.",
    "trade_name":   "AcmePay",
    "is_brazilian": True,
    "split_pct":    1.5,
    "permissions":  [{"product_code": "crossramp_checkout"}, {"product_code": "global_account", "fee_pct": 0.5}],
})
response = requests.post(
    "https://checkout.noxpay.io/v2/naas/submerchants/enroll",
    headers={"api-key": "<key>", "X-Signature": sig, "Content-Type": "application/json"},
    data=body,
)
print(response.json())  # { "correlation_id": "a1b2c3d4-..." }
// Sem correlationId — omitir em signEnvelope
const { body, signature } = signEnvelope({
  tax_id:       "30259965000164",
  legal_name:   "Acme Pagamentos Ltda.",
  trade_name:   "AcmePay",
  is_brazilian: true,
  split_pct:    1.5,
  permissions:  [{ product_code: "crossramp_checkout" }, { product_code: "global_account", fee_pct: 0.5 }],
});
const response = await fetch("https://checkout.noxpay.io/v2/naas/submerchants/enroll", {
  method: "POST",
  headers: { "api-key": "<key>", "X-Signature": signature, "Content-Type": "application/json" },
  body,
});
const data = await response.json();
// data.correlation_id → use este UUID em todas as chamadas subsequentes
{ "correlation_id": "a1b2c3d4-e5f6-4789-abcd-000000000001" }
{ "error": "tax_id is required" }
{ "error": "tax_id is already registered as a master merchant" }