Implementado no Fire e verificado contra o sandbox da DSI. Falta definir o host público final; até
então a URL é combinada por ambiente.
POST neste endpoint do Fire. É o caminho
primário para fechar a cobrança: sem essa notificação, a cobrança fica esperando o cliente.
Endpoint
string
obrigatório
País da conexão DSI em ISO alpha-2 (
EC, CL, CO, AR, VE, BR). Define qual conexão e qual
segredo são usados para validar a assinatura. Aceita minúsculas.settings.callbacks.status, então
não há nada para configurar por fora: cada pagamento já viaja com o callback do seu país.
Autenticação: assinatura HMAC
Este endpoint não usa API key nem bearer. A autenticidade vem da assinatura.string
obrigatório
HMAC-SHA256 em hexadecimal do corpo cru da requisição, calculado com o segredo da conexão do
país. Um administrador do Fire carrega esse segredo ao configurar a conexão DSI do país — peça-o a
ele se precisar verificar a assinatura.
Cálculo da assinatura
- Assina-se o body cru, não um JSON reconstruído: reordenar chaves ou mudar espaços invalida a assinatura.
- A comparação é feita em tempo constante.
- Assinatura ausente ou inválida →
400, e nada é processado.
Payload
string
obrigatório
Referência que o Fire enviou ao criar o pagamento. É a chave de correlação: identifica a
tentativa (
attempt) exata à qual a notificação pertence.string
obrigatório
Id da transação na DSI. O Fire usa como id de evento para deduplicar.
string
obrigatório
Status alcançado:
approved, cancelled, waitingPayment, refundPayment ou refundFailed.integer
obrigatório
Valor pago em centavos (inteiro).
1990 = 19,90.string
Mensagem do provedor (motivo da recusa, detalhe do reembolso).
string
obrigatório
Filial do pagamento (o
branchOffice que o Fire enviou na criação).O que o Fire faz com cada status
paidPrice é guardado como referência do provedor; o valor que o Fire credita é o da tentativa.
Resposta
O Fire responde200 assim que valida a assinatura e enfileira a notificação. A transição de
status é aplicada por um worker segundos depois.
200
Um
200 significa recebida, não aplicada. Para saber o resultado final, consulte a cobrança com
GET /api/v1/external/paybridge/intents/{intentId}.Idempotência e repetições
Deduplicação
O Fire deduplica pela trinca
externalReference + transactionId + status. Reenviar a mesma
notificação devolve 200 com duplicate: true e não processa de novo.Sem retrocesso
Uma tentativa já em status terminal não volta atrás por uma notificação atrasada. A única exceção
são os reembolsos, que se aplicam sobre um pagamento aprovado.
Referência desconhecida
Se o
externalReference não corresponde a nenhuma tentativa, o Fire responde 200 e descarta,
para a DSI não repetir para sempre.Repetições seguras
O processamento é idempotente: dá para repetir após um
5xx sem risco de aplicar o mesmo status
duas vezes.Relacionado
Cobrar a partir de um canal
Como se cria a cobrança que esta notificação fecha.
Métodos suportados por país
Quais métodos cobram hoje pela DSI em cada país.

