Pular para o conteúdo principal

Consultar último webhook

Use esta rota para consultar o mesmo corpo JSON que a Marlim envia no POST ao seu webhook_url na última tentativa de envio para aquela transação (inclui sucesso, falha temporária com retry ou último payload antes de esgotar retentativas).

O retorno da API é apenas esse objeto — não inclui URL do webhook, contadores de retry nem metadados de entrega.

O registro é atualizado quando:

  • a transação é finalizada no terminal e a Marlim dispara o webhook (pagamento aprovado ou recusado);
  • ocorre estorno e existe webhook_url na transação (payload com status: refunded).
GETv1/om/webhooks/:transaction_id

Path

AtributoTipoDescrição
transaction_idstringIdentificador da transação (marlim_transaction_id) retornado na criação.

Autenticação

Mesma API key utilizada nas demais rotas OM (header ou query, conforme o padrão da documentação). A chave deve ser a mesma associada à transação (marlim_api_key gravada na transação). Caso a transação não exista, a chave não corresponda ou não haja registro de envio de webhook para esse ID, a API responde 404 (sem expor se o ID existe em outro cliente).

Retry automático

Se o POST ao seu webhook_url falhar (timeout, erro de rede, resposta 5xx, etc.), a API agenda novas tentativas automaticamente:

  • intervalo aproximado de 60 segundos entre cada tentativa na fila;
  • número máximo de tentativas adicionais definido na infraestrutura (pode variar; em períodos de teste o limite pode ser menor).

O estado interno da entrega (sucesso, pendente, esgotado) não aparece neste GET: a resposta continua sendo somente o último payload armazenado, idêntico em formato ao webhook assíncrono em Criar Transação.

Response (corpo do webhook)

Mesmo objeto enviado no POST para o seu endpoint. Exemplo com transação paga em crédito:

PropriedadeTipoDescrição
card_emv_responsestring \| nullResposta EMV do cartão.
statusstringEstado: paid, refused, refunded, etc.
authorization_codestring \| nullCódigo de autorização da bandeira.
nsustring \| nullIdentificador na adquirente.
acquirer_response_codestring \| nullResposta da adquirente.
marlim_transaction_idstring \| nullID da transação na Marlim.
date_createdstringData de criação (ISO).
payment_methodstringEx.: credit, debit.
installmentsstringNúmero de parcelas (débito: 1).
authorized_amountintValor autorizado em centavos.
paid_amountintValor pago em centavos.
paid_per_monthintValor por parcela (centavos).
interest_ratenumberTaxa de juros (percentual conforme regra OM).
interest_rate_per_monthintJuros por mês (centavos ou escala da API).
interest_rate_totalintJuros totais (centavos ou escala da API).
card_last_digitsstring \| nullÚltimos dígitos do cartão.
card_first_digitsstring \| nullPrimeiros dígitos do cartão.

Erros comuns

HTTPSituação
404Transação inexistente, API key não autorizada para essa transação, ou ainda não existe registro de webhook (ex.: sem webhook_url ou envio ainda não tentado).

Exemplo

Request
curl GET https://api.om.marlim.co/v1/om/webhooks/jvZXFHgHTc5Akefp7KBF
--H "Content-Type": "application/json"
--H "api_key": "api_key_value"
--data-raw '{}'
Response
{
"card_emv_response": "B029841DC7A33FE0",
"status": "paid",
"authorization_code": "300164",
"nsu": "17661083300164",
"acquirer_response_code": "0000",
"marlim_transaction_id": "jvZXFHgHTc5Akefp7KBF",
"date_created": "2026-03-17T14:43:38.932Z",
"payment_method": "credit",
"installments": "2",
"authorized_amount": 1063,
"paid_amount": 1063,
"paid_per_month": 532,
"interest_rate": 3.12,
"interest_rate_per_month": 32,
"interest_rate_total": 63,
"card_last_digits": "5364",
"card_first_digits": "5364"
}