Rotas
Criando transação
Você pode criar uma transação usando o endpoint https://api.cxpag.com/v1/transaction
com o método POST
.
// json enviado
{
// moeda da transação
"coin": "BTC",
// valor da transação
"products": [
{
"product": "produto 1",
"price": 1000,
"description": "produto de teste"
}
],
// link de retorno apoś a transação
"returnLink": "http://minhaapi.example/cxpag/callback",
// se a transação será liquidada
"liquidation": false,
// valor total da transação
"amount": 1000
}
// json recebido
{
// link de redirecionamento para a transação
"link": "http://localhost:3000/checkout/transaction?id=101ed267-35b1-4a08-b835-4ba422fb5424&token=d21b12d7dda4e77684d408d4508e522e",
// id da transação
"transaction": "101ed267-35b1-4a08-b835-4ba422fb5424"
}
Nota: O parâmetro
coin
eliquidation
são opcionais. Caso não sejam enviados, o usuário poderá escolher acoin
na página de pagamento e a transação não será liquidada.
“Linkando” uma transação
Você pode “linkar” uma transação usando o endpoint https://api.cxpag.com/v1/transaction/link
com o método POST
. Saiba mais sobre o que é uma transação “linkada” aqui.
// json enviado
{
// link de retorno apoś a transação
"returnLink": "http://minhaapi.example/cxpag/callback",
}
// json recebido
{
// link de redirecionamento para a transação
"link": "http://localhost:3000/checkout/transaction?id=101ed267-35b1-4a08-b835-4ba422fb5424&token=d21b12d7dda4e77684d408d4508e522e",
}
Status da transação
Há duas maneiras de verificar o status de uma transação, a primeira é usando o endpoint https://api.cxpag.com/v1/transaction/status/transactionId
com o método GET
, onde transactionId
é o id da transação.
// json recebido
{
// link de redirecionamento para a transação
"link": "http://localhost:3000/checkout/transaction?id=101ed267-35b1-4a08-b835-4ba422fb5424&token=d21b12d7dda4e77684d408d4508e522e"
}
A segunda maneira é usando o endpoint https://api.cxpag.com/v1/transactions/status
com o método GET
.
// json enviado
{
// id das transações
"transactions": ["101ed267-35b1-4a08-b835-4ba422fb5424"]
}
// json recebido
{
// status das transações
"transactions": [
{
"id": "101ed267-35b1-4a08-b835-4ba422fb5424",
"status": "done"
}
]
}
Nota: Para saber mais sobre os status de uma transação, clique aqui.
Confirmar uma transação
Digamos que o usuário pagou um valor menor do que o valor da transação, você pode confirmar a transação usando o endpoint https://api.cxpag.com/v1/transaction/confirm/transactionId
com o método POST
, onde transactionId
é o id da transação. O valor da transação será atualizado para o valor que o usuário pagou. Você também pode optar por cobrar o valor restante da transação
// json recebido
{
"msg": "Transação confirmada com sucesso"
}
Histórico do webhook
Você pode ver o histórico do webhook usando o endpoint https://api.cxpag.com/v1/webhook/history
com o método POST
.
const res = await fetch(`https://api.cxpag.com/v1/webhook/history`, {
headers: {
"Application-Type": "application/json",
apikey: "sua-api-key",
apisecret: "sua-api-secret",
},
body: JSON.stringify({
// número da página, default: 1
page: 1,
}),
})
res.json() as {
// número da página
page: number
// número de páginas
pages: number
// número total de webhooks
total: number
// histórico do webhook
history: {
// url do webhook
url: string
// status do webhook
status: "success" | "error"
// número de tentativas
attempts: number
// data da última tentativa
lastAttempt: string
}[]
}