# Documentação - Status de retorno do cartão
Não tínhamos no webhook a visibilidade de respostas das solicitações de compras, bem como o motivo da negativa. Sendo assim, foi feito um levantamento de retornos na mensageria da Dock para correções e melhorias.
# Épica
**[BCARDS-101] Melhoria Status Cartão**
As transações podem ser aprovadas ou negadas pela dock, porém até o momento o resultado desta operação (aprovação ou falha) não estava sendo publicada para as aplicações que consomem este evento. A principal alteração foi incluir se a transação foi aprovada, negada ou falha como parte do objeto de transação deste evento.
Status de retorno do Webhook:
- `APPROVED` - para transações aprovadas
- `DENIED` - para transações negadas
- `FAIL` - para transações falhas
Também foram feitas correções das descrições de alguns status que estavam descrevendo a transação de forma errada.
A classificação adequada dos códigos enviados como respostas para solicitações de autorização é um dos passos mais importantes para as decisões das transações.
---
## Tabela de códigos e respostas
As tabelas abaixo apresentam os códigos de respostas retornados corretamente referentes a cada tipo de status, bem como a descrição.
### Aprovada (`APPROVED`)
| Código do Status | Descrição | Description |
| ---------- | --------- | ----------- |
| 0 | Transação Aprovada | Approved transaction|
### Negada (`DENIED`)
| Código do Status | Descrição | Description |
| -------- | -------- | ------- |
| 5 | Transação Negada | Denied transaction |
| 6 | Refaça Transação | Redo the transaction |
| 7 | Condição especial (cartão roubado/Cancelado) | Special condition (stolen/canceled) |
| 12 | Transação não permitida para essa rede/estabelecimento | Transaction not allowed for this network or establishment |
| 14 | Cartão inválido. Verifique status do seu cartão | Invalid card. Check your card status |
| 41 | Data de validade invertida / Dados embossados divergem do cadastro | Inverted due date or embossing data differs from registration |
| 43 | Cartão Roubado | Stolen card |
| 54 | Dados informados incorretamente, tente novamente | Invalid data, try again |
| 76 | Cartão bloqueado | Blocked card |
| 81 | Pagamento Duplicado | Duplicated payment |
| 82 | Valor Fora do Limite | Value out of limit |
| 83 | Vencimento | Expiration |
| 84 | Concessionaria inválida | Invalid concessionaire |
| 94 | Transação repetida | Repeated transaction |
### Falha (`FAIL`)
| Código do Status| Descrição| Description |
| -------- | -------- | ------- |
| 1 | Referido por problemas no cartão | The error was mentioned due to card issues |
| 3 | Estabelecimento não cadastrado | Establishment not registered |
| 10 | Código de desbloqueio inválido | Invalid unlocking code |
| 13 | Valor inválido | Invalid amount |
| 30 | Erro de formato | Format error |
| 31 | Estabelecimento nao pertence a rede | Establishment does not belong to the network |
| 51 | Saldo insuficiente para transacionar | insufficient balance to trade |
| 52 | Cupom inválido | Invalid coupon |
| 55 | Senha não cadastrada / Senha inválida | Password not registered / Invalid password |
| 56 | Cartão inexistente | Non-existent card |
| 57 | Transação não permitida pelo emissor | transaction not allowed by card issuer |
| 58 | Terminal inválido | Invalid terminal |
| 59 | Transação negada. Entre em contato com o emissor do seu cartão | Transaction denied, contact your card issuer |
| 61 | Valor acima do limite diário | Value above the daily limit |
| 62 | Chave de sessão inválida | Invalid session key |
| 65 | Excedido quantidade de uso do overlimit | Overlimit usage amount exceeded |
| 80 | Total excedido | Total exceeded |
| 85 | Consulta de conta autorizada | Verification of account authorized |
| 96 | Erro de sistema | System error |
| 99 | Transação original não encontrada / Erro nos parâmetros | Original transaction not found / Parameters error |
Favor validar na documentação original da Dock pois podem haver atualizações.
https://lighthouse.dock.tech/docs/card-scheme-additional-details
# **Sobre Webhook**
Webhook é um recurso que permite serviços externos serem notificados quando um evento acontece.
Estes eventos de webhooks são publicados em um serviço de notificação (SNS - simple notification service), o qual será assinado previamente pelo cliente. Quando os eventos forem publicados o cliente será notificado através deste serviço de notificação.
Existem vários tipos de eventos. O evento em questão, se trata do evento de transação que representa o fluxo de compra com cartão de crédito.
*Exemplo do Webhook de transação:*
``` Json=
{
"object":{
"marketplace_id":"ceaeaa4af6d64d2da22ada2944ceead6",
"holder_id":"fb98aa126cd544e890ac081faaf7bbce",
"account_id":"047c867cc9a3433fa7834651a8f2c5d1",
"card_id":"4ee208fffe6d4bda8a338c9259541ef9",
"uuid":"e0ea6101-f272-4e7e-b5a3-9f6b2b1ad289",
"transaction_id":"e0ea6101-f272-4e7e-b5a3-9f6b2b1ad289",
"value":13.75,
"establishment":{
"name":"CASA DA CUCA",
"number":"000077764666666",
"postal_code":"065"
},
"mcc":5814,
"detail":"Approved transaction",
"operation_type":"debit",
"description":"Approved transaction",
"date":"2020-06-12T16:02:10.281",
"entry_mode":"1000",
"resource":"pre_paid_card.operation"
"status":"SUCCESS"
},
"type":"pre_paid_card.operation.success",
"resource":"pre_paid_card.operation",
"description":"A pre_paid_card.operation was success"
}
```