Marcação de Chargeback
A marcação de Chargeback é indispensável para calibrarmos a assertividade da nossa análise de risco.
Marcação de Chargeback
Exemplo de Request
POST {ENDPOINT}/v1/chargeback
REQUEST HEADER
Content-Type: application/json
Authorization: Bearer {TOKEN}
X-Api-Version: v2
REQUEST BODY (ver descrição dos campos)
{
"code": "{Codigo do pedido}",
"message": "Mensagem de exemplo",
"chargebackStatus": 1,
"chargebackDateUTC": "{Data da notificação de chargeback pela adquirente}",
"reasonCode": "{Código do motivo da solicitação de chargeback}",
"disputeReason": 1,
"bin": "123456",
"pan": "123456",
"cardBrandId": "3",
"cardBrand": "VISA",
"disputeValue": 100.00,
"cardOwnerName": "{Nome do Titular do Cartão de Crédito}",
"shippingStatus": 0,
"nsu": "{Número de identificação da operação de venda realizada}",
"tid": "{Transaction ID da venda realizada}",
"psp": "{Número de identificação da disputa}"
}Exemplo de Response
RESPONSE HEADER
Content-Type: application/json
Request-ID: {"REQUESTID_DA_REQUISIÇÃO"}
RESPONSE BODY
{
"code": "{CODIGO_DO_MEU_PEDIDO}",
"status": "Chargeback done",
"errors": null
}Tabela de codigos e descricao
Bandeira Cartao de Credito (cardBrandId e cardBrand)
| Código | Descrição |
|---|---|
| 1 | Diners |
| 2 | MasterCard |
| 3 | Visa |
| 4 | Outros |
| 5 | American Express |
| 6 | HiperCard |
| 7 | Cartão Aura |
| 10 | Cartão Elo |
Descrição de campos do json da Marcação de Chargeback
Propriedade | Descrição | Tipo | Tamanho | Obrigatório |
|---|---|---|---|---|
code | ID do pedido (mesmo valor enviado anteriormente na propriedade “transactionId” ou “code” do json de análise de risco do pedido, dependendo do endpoint de API que utilizem para esse envio). | String | 50 | S |
message | Mensagem | |||
chargebackStatus | 0 - para “Pre-Chargeback”, 1 - para “Débito de Chargeback” (valor padrão) | Integer | N | |
chargebackDateUTC | Data da notificação de chargeback pela adquirente | Datetime | S | |
reasonCode | Código do motivo da solicitação de chargeback | String | 100 | N |
disputeReason | Motivo da Disputa: 0 - para "Desacordo Comercial", 1 - para "Fraude", 2 - para “Erro de Processamento" | Integer | N | |
bin | 6 primeiros dígitos do cartão de crédito | String | 50 | N |
pan | Campo alternativo ao bin do cartão e que possui esse nome em alguns casos. 6 primeiros dígitos do cartão. | String | 50 | N |
cardBrandId | ID da bandeira do cartão de crédito | Integer | N | |
cardBrand | Descrição da bandeira do cartão de crédito | String | 50 | N |
disputeValue | Valor do Chargeback | Decimal | 20,4 | N |
cardOwnerName | Nome do Titular do Cartão | String | 200 | N |
shippingStatus | Status de entrega da compra: 0 - para "Entregue", 1 - para "Entrega Barrada", 2 - para "Em rota para Devolução" | Integer | N | |
nsu | Número de identificação da operação de venda realizada | String | 200 | N |
tid | Transaction ID da venda realizada | String | 200 | N |
psp | Número de identificação da disputa | String | 100 | N |
Retornos de Erros da API de Marcacao de Chargeback
Token inválido ou expirado
HTTPCode: 401 Unauthorized
Body: {Vazio}Requisição sem a propriedade "code"
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"Code: Required field"
]
}Requisição sem a propriedade "chargebackDateUTC"
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"ChargebackDateUTC: Required field"
]
}Valor da propriedade "code" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"Code: Exceeded maximum size of 50 characters."
]
}Valor da propriedade "message" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"Message: Exceeded maximum size of 100 characters."
]
}Valor da propriedade "reasonCode" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"ReasonCode: Exceeded maximum size of 100 characters."
]
}Valor da propriedade "bin" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"Bin: Exceeded maximum size of 50 characters."
]
}Valor da propriedade "pan" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"Pan: Exceeded maximum size of 50 characters."
]
}Valor da propriedade "cardBrand" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"cardBrand: Exceeded maximum size of 200 characters."
]
}Valor da propriedade "disputeValue" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"DisputeValue: Must be greater than or equal to 0."
]
}Valor da propriedade "nsu" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"NSU: Exceeded maximum size of 200 characters."
]
}Valor da propriedade "tid" excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"TID: Exceeded maximum size of 200 characters."
]
}Valor da propriedade “psp” excedeu o limite de caracteres
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"PSP: Exceeded maximum size of 200 characters."
]
}Valor da propriedade “shippingStatus” invalido
HTTPCode: 400 Bad Request
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"ShippingStatus: Not a valid ShippingStatus."
]
}Status do pedido na ClearSale não permite marcação de chargeback no momento
HTTPCode: 422 Unprocessable Entity
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"Não é possível marcar o chargeback, verifique o status do mesmo."
]
}Requisição com body request vazio
HTTPCode: 500 Internal Server Error
Body:
{Vazio}Erro com causa não mapeada (sera necessário análise da ClearSale
HTTPCode: 500 Internal Server Error
Body:
{
"code": "{Codigo do pedido}",
"status": "Fail",
"errors": [
"Ocorreu um erro ao tentar marcar o Chargeback."
]
}Marcação de Chargeback feita em duplicidade para um mesmo pedido em menos de 1 minuto de diferença
HTTPCode: 202 Accepted
Body:
{
"code": "{Codigo do pedido}",
"status": "Chargeback is being processed.",
"errors": null
}Updated 8 days ago
