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
Token de autenticação no formato Bearer.
Valor bruto da cobrança em reais (duas casas decimais).
Moeda da cobrança (ISO 4217). Hoje sempre BRL — para pagamento em outra moeda, use checkoutCurrency com paymentMethod = INTERNATIONAL.
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.
Moeda em que o pagador vai pagar no gateway (ISO 4217, ex.: USD, EUR, MXN). Obrigatório quando paymentMethod = INTERNATIONAL.
Descrição livre da cobrança.
Data de expiração no formato ISO 8601.
Referência externa do seu sistema para rastreio.
Chave de idempotência para a tentativa. Reuso da mesma chave retorna 409.
URL chamada quando a cobrança for paga (POST com payload).
URL de retorno após pagamento (Revolut).
Expiração da tentativa no gateway (ISO 8601).
Dados do cliente. Usados pelos gateways quando não forem substituídos no momento do pagamento. Origem (PRE_FILLED ou COLLECT_AT_CHECKOUT).
Novo Lista de destinatários para split de pagamento. Omitir este campo cria a cobrança sem split.Mostrar Campos de cada item
E-mail do destinatário cadastrado na plataforma. O destinatário precisa ter uma conta ativa na plataforma como usuário CUSTOMER. Emails não encontrados ou de usuários com outro perfil caem como residual para o dono da cobrança — não bloqueia a criação , mas o valor não será repassado ao destinatário pretendido.
Tipo do split:
FIXED — valor fixo em reais (informe amount). Soma dos itens FIXED deve ser ≤ grossAmount.
PERCENT — percentual sobre o netAmount (informe percent). Soma dos itens PERCENT deve ser ≤ 100.
Valor fixo em reais (ex.: "50.00"). Obrigatório quando kind = FIXED.
Percentual de 0.01 a 100. Obrigatório quando kind = PERCENT.
Response
Sem paymentMethod: ID da cobrança .
Com paymentMethod: ID da tentativa (o ID da cobrança vai em chargeId).
ID da cobrança (presente apenas quando a resposta é uma tentativa).
PENDING / PROCESSING / PAID / EXPIRED / CANCELED / FAILED / REFUNDED.
PIX ou INTERNATIONAL (presente apenas quando há tentativa).
Valor bruto da cobrança (2 casas decimais).
Moeda da cobrança (ISO 4217).
Instruções para o front concluir o pagamento. Método (PIX / INTERNATIONAL).
Base64 da imagem QR (PIX apenas).
BR Code PIX em texto (PIX apenas).
Token público para inicializar o Revolut Checkout Web SDK (INTERNATIONAL apenas).
Moeda do checkout (INTERNATIONAL apenas).
Conversão cambial aplicada (INTERNATIONAL apenas). Moeda destino (ex.: USD).
Valor final cobrado (com spread).
Configuração de split informada na criação (presente quando split[] foi enviado). Valor fixo em reais (FIXED).
Liquidação calculada: quanto cada destinatário recebe. O “troco” de arredondamento (PERCENT) sempre vai para o dono. ID do usuário na plataforma.
Valor que o usuário receberá (centavos).
true quando for o dono da cobrança.
Data de criação (ISO 8601).
Data de atualização (ISO 8601).
cURL (without attempt)
cURL (with PIX)
cURL (com split)
cURL (with INTERNATIONAL)
Node
Python
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"
}
}'
200 — sem tentativa
200 — com PIX
200 — com INTERNATIONAL
400 — paymentMethod inválido
400 — checkoutCurrency ausente
401 — não autorizado
409 — idempotencyKey reutilizada
200 — PIX com split
{
"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âmetro Tipo Obrigatório Descrição paymentMethodstring Sim PIX ou INTERNATIONALcurrencystring Condicional Moeda de destino (obrigatório para INTERNATIONAL, ISO 4217) redirectUrlstring Não URL de retorno (usado em INTERNATIONAL) attemptIdempotencyKeystring Não Chave 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"
}'