Pular para o conteúdo principal
curl -X POST https://checkout.noxpay.io/v2/naas/submerchants/static_link \
  -H "api-key: <key>" \
  -H "X-Signature: <assinatura-do-corpo>" \
  -H "Content-Type: application/json" \
  -d '{
    "timestamp": "2026-05-27T14:30:00Z",
    "payload": {
      "correlation_id": "a1b2c3d4-e5f6-4789-abcd-000000000001",
      "link_path": "plano-basico",
      "currency_code": "USDT_POLYGON",
      "amount_fiat": 99.90,
      "webhook": "https://yourserver.com/payment-webhook",
      "return_url": "https://acme.com/obrigado"
    }
  }'
import requests

body, sig = sign_envelope({
    "correlation_id": "a1b2c3d4-e5f6-4789-abcd-000000000001",
    "link_path":      "plano-basico",
    "currency_code":  "USDT_POLYGON",
    "amount_fiat":    99.90,
    "webhook":        "https://yourserver.com/payment-webhook",
    "return_url":     "https://acme.com/obrigado",
})
response = requests.post(
    "https://checkout.noxpay.io/v2/naas/submerchants/static_link",
    headers={"api-key": "<key>", "X-Signature": sig, "Content-Type": "application/json"},
    data=body,
)
print(response.json())
const { body, signature } = signEnvelope({
  correlation_id: "a1b2c3d4-e5f6-4789-abcd-000000000001",
  link_path:      "plano-basico",
  currency_code:  "USDT_POLYGON",
  amount_fiat:    99.90,
  webhook:        "https://yourserver.com/payment-webhook",
  return_url:     "https://acme.com/obrigado",
});
const response = await fetch("https://checkout.noxpay.io/v2/naas/submerchants/static_link", {
  method: "POST",
  headers: { "api-key": "<key>", "X-Signature": signature, "Content-Type": "application/json" },
  body,
});
const data = await response.json();
{ "link": "https://checkout.noxpay.io/pay/acmepay/plano-basico" }
{ "error": "link_path already exists for this sub-merchant" }
{ "error": "sub-merchant has no portal account" }
Cria um link de pagamento estático para um sub-merchant. O link resolve o slug do sub-merchant automaticamente e roteia o checkout pela conta dele.
Este endpoint opera no nível do merchant master. Não inclua correlation_id no envelope — passe-o dentro do payload.
O sub-merchant deve ter concluído o KYB e ter uma conta no portal. link_path deve ser único por sub-merchant e é permanente após a criação.

Campos do payload

CampoTipoObrigatórioDescrição
correlation_idstring (UUID)SimUUID retornado por Cadastrar Sub-merchant.
link_pathstringSimSegmento de caminho da URL. Apenas letras, números, _ e -. Máx 32 caracteres. Deve ser único por sub-merchant.
currency_codestringSimCódigo da moeda para este link (ex: USDT_POLYGON, BTC).
amount_fiatnumberNãoValor fixo em BRL. Omita para permitir que o pagador insira o valor.
amount_cryptonumberNãoValor fixo em cripto. Mutuamente exclusivo com amount_fiat.
webhookstringNãoURL que recebe uma notificação POST quando o pagamento é concluído.
return_urlstringNãoURL para onde o pagador é redirecionado após o checkout.

Response 201 Created

{ "link": "https://checkout.noxpay.io/pay/acmepay/plano-basico" }
O link é construído a partir do alias do sub-merchant (definido via Definir Alias). Se nenhum alias foi definido, um slug gerado automaticamente é usado. 400 — campos obrigatórios ausentes; formato de link_path inválido; ou link_path já existe para este sub-merchant. 404correlation_id não encontrado ou não pertence a este merchant master. 422 — sub-merchant ainda não tem conta no portal (KYB não concluído).
curl -X POST https://checkout.noxpay.io/v2/naas/submerchants/static_link \
  -H "api-key: <key>" \
  -H "X-Signature: <assinatura-do-corpo>" \
  -H "Content-Type: application/json" \
  -d '{
    "timestamp": "2026-05-27T14:30:00Z",
    "payload": {
      "correlation_id": "a1b2c3d4-e5f6-4789-abcd-000000000001",
      "link_path": "plano-basico",
      "currency_code": "USDT_POLYGON",
      "amount_fiat": 99.90,
      "webhook": "https://yourserver.com/payment-webhook",
      "return_url": "https://acme.com/obrigado"
    }
  }'
import requests

body, sig = sign_envelope({
    "correlation_id": "a1b2c3d4-e5f6-4789-abcd-000000000001",
    "link_path":      "plano-basico",
    "currency_code":  "USDT_POLYGON",
    "amount_fiat":    99.90,
    "webhook":        "https://yourserver.com/payment-webhook",
    "return_url":     "https://acme.com/obrigado",
})
response = requests.post(
    "https://checkout.noxpay.io/v2/naas/submerchants/static_link",
    headers={"api-key": "<key>", "X-Signature": sig, "Content-Type": "application/json"},
    data=body,
)
print(response.json())
const { body, signature } = signEnvelope({
  correlation_id: "a1b2c3d4-e5f6-4789-abcd-000000000001",
  link_path:      "plano-basico",
  currency_code:  "USDT_POLYGON",
  amount_fiat:    99.90,
  webhook:        "https://yourserver.com/payment-webhook",
  return_url:     "https://acme.com/obrigado",
});
const response = await fetch("https://checkout.noxpay.io/v2/naas/submerchants/static_link", {
  method: "POST",
  headers: { "api-key": "<key>", "X-Signature": signature, "Content-Type": "application/json" },
  body,
});
const data = await response.json();
{ "link": "https://checkout.noxpay.io/pay/acmepay/plano-basico" }
{ "error": "link_path already exists for this sub-merchant" }
{ "error": "sub-merchant has no portal account" }