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.update com seu respectivo status:
AçãoWebhookStatus
Criar chargebackchargeback.updateawaitingDocumentation
Enviar documentaçãochargeback.updateinAnalysis
Disputa perdida/desistirchargeback.updatelostDispute
Disputa ganhachargeback.updatewinsDispute

🚧

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

CampoDescriçãoTipoObrigatório
chargebackvalueValor do chargeback simulado. Valor em centavos (se omitir, usa o valor da transação)intNão
tidTID de uma transação.stringSim
status

Situação do chargeback. Obrigatório na 2ª chamada de um mesmo TID = Status do chargeback.

Status aceitos: awaitingDocumentation, inAnalysis, winsDispute, lostDispute

stringNão
chargebackReasonMotivo do chargeback. Padrão: "Chargeback simulado para teste"stringNã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."
    }
}