Skip to main content
Estes endpoints já estão implementados e verificados contra o sandbox da DSI (criação do pagamento com link real e fechamento do status por webhook). Falta o host público definitivo dos callbacks para operar em produção; por isso o grupo continua marcado como Em breve.
Um canal (POS, quiosque, web ou app) usa estes endpoints para cobrar pelo PayBridge. O canal envia apenas os dados da transação (pedido, valor, método, storeId, terminalId); o PayBridge resolve o provedor, cria o pagamento e devolve um link de pagamento que o canal mostra ao cliente. O status final chega pelo webhook de status. A configuração do comércio (credenciais, métodos, terminais) já vive no provedor via o config sync, por isso a cobrança viaja lean.

Autenticação

string
obrigatório
API key do Fire vendor-scoped com o scope paybridge:charge. O accountId e o vendorId são derivados da key; uma key sem vendor responde 403.
Todas as respostas vêm envolvidas em { "success": true, "data": { … } }.

Cobrança e tentativas

Cobrança (intent)

A cobrança de um pedido: valor total, moeda, loja, terminal e canal. O canal cria uma só vez.

Tentativa (attempt)

Cada tentativa de pagamento dentro da cobrança. Ocupa uma vaga (slot): uma vaga por método no pagamento misto, e uma tentativa nova na mesma vaga quando se repete.
Status da cobrança: Status da tentativa:

Fluxo

1

Criar a cobrança

O canal chama POST /intents com o pedido, o valor, o método e seu storeId/terminalId. O PayBridge cria o pagamento no provedor e devolve o paymentLink na primeira tentativa.
2

Mostrar o link

O canal mostra o paymentLink (redirect, QR ou iframe) para o cliente pagar.
3

Saber o resultado

O Fire recebe o status do provedor por webhook e atualiza a tentativa e a cobrança. O canal consulta com GET /intents/{intentId}.
4

Fechar o caso

Se o cliente não pagar, cancele a tentativa. Se o pagamento já está aprovado, reembolse. Se falhar ou faltar valor, adicione outra tentativa com POST /intents/{intentId}/pay.

Endpoints


Criar cobrança

POST /api/v1/external/paybridge/intents
string
obrigatório
Identificador do pedido no sistema do canal (máx. 80 caracteres). É a chave de idempotência: repetir o mesmo valor devolve a cobrança já criada, sem duplicá-la.
string
obrigatório
Código do método de pagamento no Fire (por exemplo deuna, rutpay). Precisa estar ativo no catálogo; caso contrário responde 400.
number
obrigatório
Valor total a cobrar, na unidade maior da moeda (por exemplo 19.90).
string
obrigatório
Moeda ISO 4217 de 3 letras (USD, CLP, COP, ARS, VES, BRL).
string
obrigatório
UUID da loja no Fire. Viaja ao provedor como branchOffice.
string
obrigatório
Id do terminal POS ou do dispositivo de quiosque. Viaja ao provedor como pointOfSale.
string
obrigatório
Canal que origina a cobrança: POS, KIOSK, WEB ou APP.
string
País da cobrança (ISO alpha-2). Pode ser omitido quando o método pertence a um só país: nesse caso o Fire deriva. Em métodos multipaís é obrigatório; sem ele a tentativa fica failed porque não é possível resolver a conexão do país.
object
Dados opcionais do pagador. São repassados ao provedor quando ele exige.
object
A cobrança com todas as suas tentativas.
Se o provedor recusar a criação do pagamento, a resposta continua sendo 201: a cobrança existe e a tentativa fica em failed com o motivo em errorDescription. Verifique o status da tentativa, não apenas o código HTTP.

Consultar cobrança

GET /api/v1/external/paybridge/intents/{intentId} Devolve o status local da cobrança e todas as suas tentativas. Não chama o provedor: o status é mantido em dia pelo webhook.
string
obrigatório
UUID da cobrança devolvido na criação. Só aparecem as cobranças da conta da API key; a de outra conta responde 404.
object
O mesmo objeto devolvido pela criação.

Adicionar uma tentativa

POST /api/v1/external/paybridge/intents/{intentId}/pay Serve para dois casos: repetir um método que falhou e pagamento misto (vários métodos no mesmo pedido).
string
obrigatório
UUID da cobrança.
string
obrigatório
Método da nova tentativa.
number
Valor da tentativa. Se omitido, usa o que falta (amountTotal - amountPaid).
number
Vaga à qual a tentativa pertence. Se omitido, abre-se uma vaga nova (pagamento misto). Para repetir, envie o slot da tentativa que falhou. Uma vaga com tentativa ativa responde 400.
object
A cobrança atualizada, com a nova tentativa dentro de attempts.
Uma cobrança já fechada (succeeded, canceled ou reversed) não aceita tentativas novas: responde 400.

Cancelar tentativa

POST /api/v1/external/paybridge/attempts/{attemptId}/cancel Cancela uma tentativa ativa cujo link ainda não foi pago (ou venceu).
string
obrigatório
Id da tentativa a cancelar.
object
A cobrança atualizada; a tentativa fica em canceled.
O provedor só aceita o cancelamento quando o link já está aguardando o pagamento (waitingPayment). Uma tentativa recém-criada normalmente responde “não se aplica ao cancelamento”: nesse caso o Fire não marca a tentativa como cancelada e devolve o erro, para não dar como cancelado um pagamento que segue vivo do outro lado.

Reembolsar tentativa

POST /api/v1/external/paybridge/attempts/{attemptId}/refund Reembolsa uma tentativa já aprovada (succeeded).
string
obrigatório
Id da tentativa aprovada.
object
A cobrança atualizada; a tentativa passa a solving até o provedor confirmar.
Apenas reembolso total. O provedor não admite valores parciais: se você enviar amount no body, a resposta é 400. O reembolso é assíncrono — a tentativa fica em solving e passa a refunded quando chega o webhook refundPayment (ou volta a solving com o motivo se chegar refundFailed).

Erros

Todos os erros trazem { "success": false, "error": "…", "message": "…" }.

Relacionado

Webhook de status

Como o provedor avisa o Fire que o pagamento foi aprovado, cancelado ou reembolsado.

Config sync para a DSI

Como a configuração do comércio chega ao provedor para a cobrança ser lean.

Métodos suportados por país

Quais métodos cada país pode cobrar e com qual código.

Disponibilidade de métodos

Qual método está ligado em cada loja, dispositivo e canal.