Referência da API
Buscar transação
Busca uma transação por ID interno, seu `externalId` ou pelo identificador `endToEnd` do PIX. O parâmetro `searchBy` define qual campo é usado.
GET
/transactions/:transactionIdAutenticação
HTTP Basic Auth. Envie sua secret key no header:
Authorization: Basic {base64(secret:SUA_SECRET_KEY)}Parâmetros
transactionIdstring (path)obrigatórioO valor a buscar. Pode ser o ID numérico interno, seu externalId ou o identificador endToEnd do PIX — escolha o `searchBy` correspondente.
Exemplo: 1234567
searchBy'id' | 'externalId' | 'end2End'opcionalQual campo usar na busca. Padrão `id`.
Exemplo: externalId
Respostas
200
Transação encontrada.
JSON
{
"id": 1234567,
"method": "PIX",
"externalId": "pedido-5678",
"status": "APPROVED",
"amount": 1000,
"pixCode": "00020126580014br.gov.bcb.pix...",
"createdAt": "2026-04-08T14:32:01.923Z",
"approvedAt": "2026-04-08T14:32:45.102Z",
"end2End": "E12345678202604081432123456789012",
"payerName": "João Silva",
"payerDocument": "12345678901"
}404
Nenhuma transação encontrada para o identificador e searchBy informados.
JSON
{
"statusCode": 404,
"message": "Transaction not found"
}Exemplos
cURL
# Por ID interno (padrão)
curl -X GET "https://api.pagnovo.com/transactions/1234567" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)"
# Pelo seu externalId
curl -X GET "https://api.pagnovo.com/transactions/pedido-5678?searchBy=externalId" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)"
# Pelo endToEnd do PIX (útil para conciliar com extrato bancário)
curl -X GET "https://api.pagnovo.com/transactions/E12345678202604081432123456789012?searchBy=end2End" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)"JavaScript
const token = Buffer.from("secret:" + process.env.PAGNOVO_SECRET_KEY).toString("base64");
const res = await fetch("https://api.pagnovo.com/transactions/pedido-5678?searchBy=externalId", {
headers: { Authorization: `Basic ${token}` },
});
if (res.status === 404) {
console.log("não encontrada");
} else {
const tx = await res.json();
console.log(tx.status, tx.amount / 100);
}