Simular Fluxo Chargeback Sandbox
Para testar o fluxo de disputas sem depender de um chargeback real junto à operadora, é possível simular um chargeback de teste vinculado a uma transação existente (identificada pelo TID).
Pré-requisitos
- A transação deve estar capturada para que o chargeback seja aceito.
Comportamento do fluxo:
- A cada alteração de status do chargeback, será enviado o webhook
chargeback.updatecom seu respectivo status:
| Ação | Webhook | Status |
|---|---|---|
| Criar chargeback | chargeback.update | awaitingDocumentation |
| Enviar documentação | chargeback.update | inAnalysis |
| Disputa perdida/desistir | chargeback.update | lostDispute |
| Disputa ganha | chargeback.update | winsDispute |
A funcionalidade de simulação está disponível exclusivamente no ambiente sandbox.
Caso necessite simular um chargeback no ambiente de homologação, você deve realizar uma chamada na API Simular Chargeback (sandbox) utilizando o método POST.
Modelo de requisição
curl --location 'https://sandbox.openfinance.celcoin.dev/baas/v1/cash/chargeback/simulate?account={account}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN}' \
--data '{
"chargebackvalue": 1000,
"tid": "12121211212121212"
}'Parâmetros da requisição
| Campo | Descrição | Tipo | Obrigatório |
|---|---|---|---|
| chargebackvalue | Valor do chargeback simulado. Valor em centavos (se omitir, usa o valor da transação) | int | Não |
| tid | TID de uma transação. | string | Sim |
| status | Situação do chargeback. Obrigatório na 2ª chamada de um mesmo TID = Status do chargeback. Status aceitos: awaitingDocumentation, inAnalysis, winsDispute, lostDispute | string | Não |
| chargebackReason | Motivo do chargeback. Padrão: "Chargeback simulado para teste" | string | Não |
Como simular:
1ª chamada — criar o chargeback
Envie só o tid (e opcionalmente valor/motivo). O chargeback é criado sempre com status awaitingDocumentation, mesmo que você mande status no body.
Exemplo de request
curl --location 'https://sandbox.openfinance.celcoin.dev/baas/v1/cash/chargeback/simulate?account={account}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN}' \
--data '{
"tid": "12345678901234567890",
"chargebackReason": "Teste de webhook"
}'response
Retorno 200
{
"chargebackGalaxPayId": "5664",
"type": true
}2ª chamada — Alterar o status do chargeback
- Obrigatório enviar o campo "status".
- Use o mesmo tid e informe o status desejado:
Exemplo de request
curl --location 'https://sandbox.openfinance.celcoin.dev/baas/v1/cash/chargeback/simulate?account={account}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN}' \
--data '{
"tid": "12345678901234567890",
"status": "inAnalysis"
}'Depois repita com outros status, por exemplo:
Exemplo de request
curl --location 'https://sandbox.openfinance.celcoin.dev/baas/v1/cash/chargeback/simulate?account={account}' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {TOKEN}' \
--data '{
"tid": "12345678901234567890",
"status": "lostDispute"
}'Possíveis erros:
- 400:
{
"error": {
"message": "O valor do chargeback não pode ser maior que o valor da transação."
}
}{
"error": {
"message": "Nenhuma liquidação encontrada com o TID informado."
}
}{
"error": {
"message": "Nenhuma liquidação encontrada com o TID informado."
}
}