Testar a integração
Antes de ir à produção, recomendamos testar o funcionamento correto da sua integração e do processamento das transações. Isso permitirá verificar se a integração foi feita corretamente e se as transferências estão sendo processados sem erros. Veja abaixo como testar a sua integração.
O teste de integração de Payouts envolve a criação de transações com status predefinidos. Esses status serão definidos com base no valor que você enviar para o campo external_reference. Em outras palavras, você enviará os dados para criar uma transação com base no status que deseja obter como resposta e, dessa forma, poderá verificar se o processamento está ocorrendo corretamente. Por exemplo, se o campo external_reference=new, um status=new devería ser devolvido.
Para testar sua integração com Payouts, crie transações enviando um POST, com seu Access Token de teste e o header X-Test-Token:true ao endpoint /v1/transaction-intents/processAPI para que a requisição seja feita em um ambiente de testes. Modifique o campo external_reference de acordo com o status que deseja obter. Abaixo, você encontrará um exemplo de curl e uma tabela com detalhes sobre os diferentes estados.
curl
curl --request POST \ --url https://api.mercadopago.com/v1/transaction-intents/process \ --header 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ --header 'Content-Type: application/json' \ --header 'X-Enforce-Signature: false' \ --data '{ "external_reference": "000197", "point_of_interaction": { "type": "PSP_TRANSFER" }, "seller_configuration": { "notification_info": { "notification_url": "http://example.mx/notification" } }, "transaction": { "from": { "accounts": [ { "amount": 25 } ] }, "to": { "total_amount": 25, "accounts": [ { "amount": 25, "bank_id": "646", "number": "646180110400000007", "holder": "JUAN JOSE MARIA", "type": "savings_account", "description": "envio de 25" } ] }, "total_amount": 25 }
Valor do campo external_reference | Resposta |
new | Uma nova transação será criada e a resposta retornará o valor new para o campo status. |
failed_by_bank | Uma nova transação será criada, desta vez rejeitada pelo banco. A resposta retornará o valor failed para o campo status. O status_detail dentro do objeto from.accounts será by_bank. |
failed_by_provider | Uma nova transação será criada, desta vez rejeitada pelo provedor. A resposta retornará o valor failed para o campo status. O status_detail dentro do objeto from.accounts será by_provider. |
failed_by_caps | Uma nova transação será criada, desta vez rejeitada por não cumprir com as normas do Banco Central. A resposta retornará o valor failed para o campo status. O status_detail dentro do objeto from.accounts será by_caps. |
failed_other_reason | Uma nova transação será criada, desta vez rejeitada por outras razões. A resposta retornará o valor failed para o campo status. O status_detail dentro do objeto from.accounts será other_reason. |
failed_by_high_risk | Uma nova transação será criada, desta vez rejeitada por risco de fraude. A resposta retornará o valor failed para o campo status. O status_detail dentro do objeto from.accounts será by_high_risk. |
failed_invalid_destination_account | Será criada uma nova transação, desta vez rejeitada por ter inserido dados incorretos da conta de destino. A resposta retornará o valor failed para o campo status. O status_detail dentro do objeto from.accounts será invalid_destination_account. |
failed_by_compliance | Uma nova transação será criada, e desta vez será rejeitada por não cumprir com normas. A resposta retornará o valor failed para o campo status. O status_detail dentro do objeto from.accounts será by_compliance. |
failed_insufficient_funds | Uma nova transação será criada, e desta vez será rejeitada por falta de fundos na conta de origem. A resposta retornará o valor failed para o campo status. O status_detail dentro do objeto from.accounts será insufficient_funds. |
partially_processed | Será criada uma nova transação cujo processamento ainda não foi completado. A resposta retornará o valor partially_processed para o campo status. |
partially_processed_pending_bank | Será criada uma nova transação cujo processamento ainda não foi concluído devido a questões relacionadas à conta de destino. A resposta retornará o valor partially_processed para o campo status. O status_detail dentro do objeto from.accounts será pending_bank. |
reverted | Será criada uma nova transação, desta vez reembolsada. A resposta retornará o valor reverted para o campo status. O status_detail dentro do objeto from.accounts será refunded. |
partially_reverted_partially_refunded | Será criada uma nova transação, desta vez parcialmente reembolsada. A resposta retornará o valor partially_reverted para o campo status. O status_detail dentro do objeto from.accounts será partially_refunded. |
timeout | Uma nova transação será criada que excederá o tempo de espera. A resposta retornará o valor processed para o campo status, mas será recebida após 2 minutos. |
internal_server_error | Será criada uma nova transação que falhará devido a erros do sistema. Ela retornará um Erro 500. |
| Qualquer outro valor | Serão gerados novos recursos com status processed. |
Pronto! Uma vez finalizadas estas etapas, a integração estará completa e você poderá subir em produção.
