Pular para o conteúdo principal
POST
/
charge
curl -X POST "https://api.gates2b.com/charge" \
  -H "Authorization: Bearer {your-token}" \
  -H "Content-Type: application/json" \
  -d '{
    "grossAmount": "10.50",
    "currency": "BRL",
    "description": "Test charge",
    "expiresAt": "2030-12-31T23:59:59.000Z",
    "externalReference": "pedido-123",
    "customerMeta": {
      "name": "Cliente Exemplo",
      "email": "cliente@example.com",
      "source": "PRE_FILLED"
    }
  }'
{
  "id": "01KPQ3EG70VJ22B7B5VDKCPN7H",
  "userId": 222,
  "kind": "SALE",
  "status": "PENDING",
  "grossAmount": "10.50",
  "netAmount": "10.45",
  "sharedAmount": "0.00",
  "disputeReserve": "0.00",
  "refundedAmount": "0.00",
  "currency": "BRL",
  "description": "Test charge",
  "externalReference": "pedido-123",
  "expiresAt": "2030-12-31T23:59:59.000Z",
  "customerMeta": {
    "name": "Cliente Exemplo",
    "email": "cliente@example.com",
    "source": "PRE_FILLED"
  },
  "webhookUrl": null,
  "feesMeta": { "fees": "..." },
  "createdAt": "2026-04-21T01:05:49.924Z",
  "updatedAt": "2026-04-21T01:05:49.924Z"
}

Documentation Index

Fetch the complete documentation index at: https://docs.gates2b.com/llms.txt

Use this file to discover all available pages before exploring further.

paymentMethod = CREDIT_CARD não é aceito neste endpoint — dados sensíveis de cartão devem passar apenas pelo checkout público (POST /charge/{id}/checkout/payment com X-Checkout-Token).
Novo Split de Pagamento — distribua o valor da cobrança entre múltiplos destinatários usando o campo split[]. Suporta valor fixo (FIXED em reais) e percentual (PERCENT sobre o netAmount). Veja os detalhes na seção de parâmetros abaixo.

Parâmetros

Authorization
string
obrigatório
Token de autenticação no formato Bearer.
grossAmount
string
obrigatório
Valor bruto da cobrança em reais (duas casas decimais).
currency
string
obrigatório
Moeda da cobrança (ISO 4217). Hoje sempre BRL — para pagamento em outra moeda, use checkoutCurrency com paymentMethod = INTERNATIONAL.
paymentMethod
string
Se informado, cria a primeira tentativa junto com a cobrança. Valores aceitos:
  • PIX — cria tentativa com instruções PIX (QR code, EMV).
  • INTERNATIONAL — cria checkout session via Revolut. Requer checkoutCurrency.
Se omitido, a cobrança é criada em PENDING sem tentativa.
checkoutCurrency
string
Moeda em que o pagador vai pagar no gateway (ISO 4217, ex.: USD, EUR, MXN). Obrigatório quando paymentMethod = INTERNATIONAL.
description
string
Descrição livre da cobrança.
expiresAt
string
Data de expiração no formato ISO 8601.
externalReference
string
Referência externa do seu sistema para rastreio.
attemptIdempotencyKey
string
Chave de idempotência para a tentativa. Reuso da mesma chave retorna 409.
webhookUrl
string
URL chamada quando a cobrança for paga (POST com payload).
gatewayOptions
object
customerMeta
object
Dados do cliente. Usados pelos gateways quando não forem substituídos no momento do pagamento.
split
array
Novo Lista de destinatários para split de pagamento. Omitir este campo cria a cobrança sem split.

Response

id
string
Sem paymentMethod: ID da cobrança. Com paymentMethod: ID da tentativa (o ID da cobrança vai em chargeId).
chargeId
string
ID da cobrança (presente apenas quando a resposta é uma tentativa).
status
string
PENDING / PROCESSING / PAID / EXPIRED / CANCELED / FAILED / REFUNDED.
paymentMethod
string
PIX ou INTERNATIONAL (presente apenas quando há tentativa).
grossAmount
string
Valor bruto da cobrança (2 casas decimais).
currency
string
Moeda da cobrança (ISO 4217).
checkoutMeta
object
Instruções para o front concluir o pagamento.
fxMeta
object
Conversão cambial aplicada (INTERNATIONAL apenas).
expiresAt
string
Data de expiração.
description
string
Descrição da cobrança.
externalReference
string
Referência externa.
customerMeta
object
Dados do cliente.
splitConfig
array
Configuração de split informada na criação (presente quando split[] foi enviado).
splitSettlement
array
Liquidação calculada: quanto cada destinatário recebe. O “troco” de arredondamento (PERCENT) sempre vai para o dono.
createdAt
string
Data de criação (ISO 8601).
updatedAt
string
Data de atualização (ISO 8601).
curl -X POST "https://api.gates2b.com/charge" \
  -H "Authorization: Bearer {your-token}" \
  -H "Content-Type: application/json" \
  -d '{
    "grossAmount": "10.50",
    "currency": "BRL",
    "description": "Test charge",
    "expiresAt": "2030-12-31T23:59:59.000Z",
    "externalReference": "pedido-123",
    "customerMeta": {
      "name": "Cliente Exemplo",
      "email": "cliente@example.com",
      "source": "PRE_FILLED"
    }
  }'
{
  "id": "01KPQ3EG70VJ22B7B5VDKCPN7H",
  "userId": 222,
  "kind": "SALE",
  "status": "PENDING",
  "grossAmount": "10.50",
  "netAmount": "10.45",
  "sharedAmount": "0.00",
  "disputeReserve": "0.00",
  "refundedAmount": "0.00",
  "currency": "BRL",
  "description": "Test charge",
  "externalReference": "pedido-123",
  "expiresAt": "2030-12-31T23:59:59.000Z",
  "customerMeta": {
    "name": "Cliente Exemplo",
    "email": "cliente@example.com",
    "source": "PRE_FILLED"
  },
  "webhookUrl": null,
  "feesMeta": { "fees": "..." },
  "createdAt": "2026-04-21T01:05:49.924Z",
  "updatedAt": "2026-04-21T01:05:49.924Z"
}

Criar Tentativa Avulsa

POST /charge/{chargeId}/attempts Cria uma tentativa de pagamento para uma cobrança existente (server-side, autenticado via JWT). Aceita PIX e INTERNATIONAL.
ParâmetroTipoObrigatórioDescrição
paymentMethodstringSimPIX ou INTERNATIONAL
currencystringCondicionalMoeda de destino (obrigatório para INTERNATIONAL, ISO 4217)
redirectUrlstringNãoURL de retorno (usado em INTERNATIONAL)
attemptIdempotencyKeystringNãoChave de idempotência (recomendado)
curl -X POST "https://api.gates2b.com/charge/{chargeId}/attempts" \
  -H "Authorization: Bearer {your-token}" \
  -H "Content-Type: application/json" \
  -d '{
    "paymentMethod": "PIX",
    "attemptIdempotencyKey": "uuid-v4"
  }'