'Linkando' uma transação
Existem dois motivos para querer ‘linkar’ uma transação:
Usuário fechou a janela de pagamento
Caso o usuário feche a janela de pagamento sem pagar, você pode reenviar o link de pagamento para ele. Para isso, você pode usar o endpoint https://api.cxpag.com/v1/transaction/:id
para reenviar o link de pagamento.
Valor da transação errado
Como a transação é criada usando um QR Code que o usuário pode ler, ele pode alterar o valor e, no final, o valor do pagamento pode ser diferente do valor da transação. Nesse caso, na URL de callback, você receberá tanto o valor da transação quanto o valor do pagamento. Para resolver essa situação, você pode utilizar o endpoint https://api.cxpag.com/v1/transaction/:id
para obter o valor da transação e compará-lo com o valor do pagamento.
Exemplo
const res = await fetch('https://api.cxpag.com/v1/transaction/idtransaction, {
method: 'POST',
headers: {
'Application-Type': 'application/json',
apikey: 'sua-api-key',
apisecret: 'sua-api-secret'
},
body: JSON.stringify({
// obrigátório
returnLink: 'https://localhost:3000/test',
})
}).catch(err => console.log(err))
const data = (await res.json()) as {
link: string,
transaction: string
}
Nota: Caso deseje aceitar o valor incorreto, você pode utilizar o endpoint
https://api.cxpag.com/v1/confirm/transactionId
para aceitar o pagamento, mesmo que o valor esteja errado. Ou, alternativamente, pode utilizar o nosso Manager para aceitar o pagamento.