# Código de Autorização e Código NSU

A partir de 29 de outubro de 2025, os endpoints relacionados a orders, **charges** e subscriptions passam a incluir dois novos campos no payload de resposta em ambiente de Sandbox. Esses mesmos campos entrarão em vigor em ambiente de produção no dia 03 de novembro de 2025:

* **`acquirerAuthorizationCode`**
* **`acquirerAuthorizationNsu`**

Esses campos estarão presentes nas **charges** retornadas pelos seguintes endpoints:

* `/orders`
* `/subscriptions`
* `/charges`

***

### <i class="fa-gear-code">:gear-code:</i> Novos campos adicionados

| Campo                       | Tipo     | Descrição                                                                                                               |
| --------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------- |
| `acquirerAuthorizationCode` | `string` | Código de autorização **emitido pela adquirente** ou instituição financeira responsável pela transação.                 |
| `acquirerAuthorizationNsu`  | `string` | NSU (**Número Sequencial Único**) **gerado pela adquirente** ou banco, utilizado para rastrear a operação externamente. |

Esses campos permitem **rastreabilidade avançada das transações financeiras**, facilitando processos de conciliação, auditoria e integração com adquirentes e bancos.

***

### <i class="fa-scale-balanced">:scale-balanced:</i> Diferença entre códigos internos e externos

A Barte já disponibiliza os campos `authorizationCode` e `authorizationNsu`, que são **códigos internos de gerenciamento**, utilizados dentro dos sistemas Barte para identificar e vincular transações.

Os novos campos `acquirerAuthorizationCode` e `acquirerAuthorizationNsu` são **códigos externos**, emitidos diretamente pelas **adquirentes** ou **instituições financeiras**, e servem para rastrear as transações em sistemas externos.

| Tipo de código | Campo                                                    | Origem             | Utilização                      |
| -------------- | -------------------------------------------------------- | ------------------ | ------------------------------- |
| Interno        | `authorizationCode` / `authorizationNsu`                 | Barte              | Controle e rastreamento interno |
| Externo        | `acquirerAuthorizationCode` / `acquirerAuthorizationNsu` | Adquirente / Banco | Consulta e conciliação externa  |

***

### <i class="fa-code">:code:</i> Exemplo de payload atualizado

O payload abaixo é o objeto da charge.

```json
{
  "uuid": "f337e5a4-62a3-41af-8449-c9898f1de66b",
  "title": "Teste",
  "expirationDate": "2025-10-14",
  "value": 100,
  "paymentMethod": "CREDIT_CARD_EARLY_SELLER",
  "status": "PAID",
  "customer": {
    "document": "001052647",
    "type": "SSN",
    "name": "Joshua Henry",
    "email": "Heyj5wohn4445@gmail.com",
    "phone": "9409822523"
  },
  "authorizationCode": "7021748",
  "authorizationNsu": "5737396",
  "acquirerAuthorizationCode": "A1B2C3D4",
  "acquirerAuthorizationNsu": "99887766",
  "refunds": [],
  "createdAt": "2025-10-14 22:35:30",
  "paidDate": "2025-10-14",
  "originalValue": 100,
  "installments": 5,
  "brand": "mastercard"
}
```

***

### <i class="fa-thumbtack">:thumbtack:</i> Observação

> A partir de 29 de outubro de 2025, todas as respostas dos endpoints que retornam um ou vários objetos da charge (orders, charges, subscriptions) passarão a conter os campos `acquirerAuthorizationCode` e `acquirerAuthorizationNsu`. Esses dois campos entrarão em vigor em ambiente de produção no dia 03 de novembro de 2025.
>
> Essa atualização não altera os campos internos `authorizationCode` e `authorizationNsu`, que continuarão sendo utilizados para rastreamento dentro dos sistemas Barte.
>
> Nada muda no contrato existente, são apenas campos adicionais (sem breaking change).
>
> Melhora a conciliação, agiliza auditoria/suporte e aumenta a rastreabilidade em interações — especialmente com bancos.
>
> Dica (para quem faz parsing estrito de payloads): se sua aplicação rejeita atributos desconhecidos, ajuste para permitir/ignorar esses dois novos campos.
