# Enviar botão de pagamento

`POST /send/payment-request`

Pasta: **Enviar Mensagem**

## Autenticação

```http
token: {{token}}
```

## Descrição

# Enviar botão de pagamento (review_and_pay)

Envia o botão nativo `review_and_pay` com pedido, itens e valor total. Diferente de `/send/request-payment` (fluxo UAZAPI/PIX).

## Endpoint

```http
POST {{baseUrl}}/send/payment-request
```

## Autenticação

Envie o token da instância no header:

```http
token: {{token}}
```

## Corpo da requisição

| Campo | Tipo | Obrigatório | Descrição |
| --- | --- | --- | --- |
| jid | string | Sim | Destinatário (JID ou número) |
| currency | string | Sim | Moeda (ex.: BRL, USD) |
| total_amount | int | Sim | Total na menor unidade (centavos se offset=100) |
| offset | int | Não | Divisor monetário (padrão 100) |
| reference_id | string | Sim | ID de referência do pagamento |
| type | string | Não | Padrão: physical-goods |
| payment_method | string | Não | Padrão: confirm |
| payment_status | string | Não | Padrão: captured |
| order | object | Sim | Pedido |
| order.status | string | Sim | completed | pending | partially_shipped (ou valor aceito pelo WA) |
| order.description | string | Não | Descrição |
| order.additional_note | string | Não | Nota adicional |
| order.items | array | Sim | Itens do pedido |
| order.items[].retailer_id | string | Não | SKU/ID interno |
| order.items[].name | string | Sim | Nome do item |
| order.items[].amount | int | Sim | Preço unitário (mesma escala de total_amount) |
| order.items[].quantity | int | Sim | Quantidade |

## Exemplo de Requisição

```bash
curl -X POST "{{baseUrl}}/send/payment-request" \
  -H "token: {{token}}" \
  -H "Content-Type: application/json" \
  -d '{"jid": "{{remoteJid}}", "currency": "BRL", "total_amount": 9900, "offset": 100, "reference_id": "REF-2026-0001", "type": "physical-goods", "payment_method": "confirm", "payment_status": "captured", "order": {"status": "pending", "description": "Pedido #1001", "additional_note": "Entrega em 3 dias", "items": [{"retailer_id": "sku-001", "name": "Plano Pro", "amount": 9900, "quantity": 1}]}}'
```

## Resposta de Sucesso

```json
{
  "success": true,
  "result": {
    "id": "3EB0A1B2C3D4E5F6",
    "timestamp": "2026-07-17T12:34:56Z",
    "sender": "5511888888888@s.whatsapp.net"
  }
}
```

## Erros comuns

- Campos binding required ausentes (jid, currency, total_amount, reference_id, order)
- Instância desconectada
- JID inválido

## Observações

- A resposta usa `result` (não `message`).

## Corpo (exemplo)

```json
{
  "jid": "{{remoteJid}}",
  "currency": "BRL",
  "total_amount": 9900,
  "offset": 100,
  "reference_id": "REF-2026-0001",
  "type": "physical-goods",
  "payment_method": "confirm",
  "payment_status": "captured",
  "order": {
    "status": "pending",
    "description": "Pedido #1001",
    "additional_note": "Entrega em 3 dias",
    "items": [
      {
        "retailer_id": "sku-001",
        "name": "Plano Pro",
        "amount": 9900,
        "quantity": 1
      }
    ]
  }
}
```

## cURL

```bash
curl -X POST "{{baseUrl}}/send/payment-request" \
  -H "token: {{token}}" \
  -H "Content-Type: application/json" \
  -d '{
  "jid": "{{remoteJid}}",
  "currency": "BRL",
  "total_amount": 9900,
  "offset": 100,
  "reference_id": "REF-2026-0001",
  "type": "physical-goods",
  "payment_method": "confirm",
  "payment_status": "captured",
  "order": {
    "status": "pending",
    "description": "Pedido #1001",
    "additional_note": "Entrega em 3 dias",
    "items": [
      {
        "retailer_id": "sku-001",
        "name": "Plano Pro",
        "amount": 9900,
        "quantity": 1
      }
    ]
  }
}'
```

---

[Índice da pasta](./index.md) · [Índice geral](../index.md) · [UI](https://gozap.dev/docs?op=enviar-mensagem/enviar-botao-de-pagamento)
