> ## Documentation Index
> Fetch the complete documentation index at: https://docs.noxpay.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Criar Link Estático

> POST /v2/naas/submerchants/static_link — cria um link de pagamento estático permanente para um sub-merchant.

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.

<Warning>
  Este endpoint opera no nível do merchant master. **Não inclua `correlation_id` no envelope** — passe-o dentro do `payload`.
</Warning>

<Info>
  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.
</Info>

## Campos do payload

| Campo            | Tipo          | Obrigatório | Descrição                                                                                                          |
| ---------------- | ------------- | ----------- | ------------------------------------------------------------------------------------------------------------------ |
| `correlation_id` | string (UUID) | Sim         | UUID retornado por [Cadastrar Sub-merchant](/pt/api-reference/naas/enroll).                                        |
| `link_path`      | string        | Sim         | Segmento de caminho da URL. Apenas letras, números, `_` e `-`. Máx 32 caracteres. Deve ser único por sub-merchant. |
| `currency_code`  | string        | Sim         | Código da moeda para este link (ex: `USDT_POLYGON`, `BTC`).                                                        |
| `amount_fiat`    | number        | Não         | Valor fixo em BRL. Omita para permitir que o pagador insira o valor.                                               |
| `amount_crypto`  | number        | Não         | Valor fixo em cripto. Mutuamente exclusivo com `amount_fiat`.                                                      |
| `webhook`        | string        | Não         | URL que recebe uma notificação POST quando o pagamento é concluído.                                                |
| `return_url`     | string        | Não         | URL para onde o pagador é redirecionado após o checkout.                                                           |

## Response `201 Created`

```json theme={null}
{ "link": "https://checkout.noxpay.io/pay/acmepay/plano-basico" }
```

O `link` é construído a partir do alias do sub-merchant (definido via [Definir Alias](/pt/api-reference/naas/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.

**`404`** — `correlation_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).

<RequestExample>
  ```bash cURL theme={null}
  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"
      }
    }'
  ```

  ```python Python theme={null}
  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())
  ```

  ```javascript Node.js theme={null}
  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();
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={null}
  { "link": "https://checkout.noxpay.io/pay/acmepay/plano-basico" }
  ```

  ```json 400 theme={null}
  { "error": "link_path already exists for this sub-merchant" }
  ```

  ```json 422 theme={null}
  { "error": "sub-merchant has no portal account" }
  ```
</ResponseExample>
