Testar a integração
O processo de teste permite verificar se as configurações realizadas durante a sua integração funcionam corretamente antes de receber pagamentos reais. Com o Wallet Connect, o teste reproduz o fluxo completo: a criação da vinculação, a aprovação pelo comprador, a geração do token de pagamento e o processamento de um pagamento pela Orders API.
Antes de iniciar, garanta que os itens abaixo estejam disponíveis.
| Pré-requisito | Descrição |
| Contas de teste | Você deve ter duas contas de teste distintas, e ambas são obrigatórias: uma de vendedor, para configurar a aplicação e realizar as cobranças, e uma de comprador, para aprovar a vinculação e simular a compra. |
| Saldo na conta do comprador | A conta de teste do comprador precisa ter saldo suficiente, já que o pagamento é debitado diretamente da carteira. Defina o valor ao criar a conta de teste. |
| Credenciais de teste | O Access Token de teste do vendedor é repassado pela equipe responsável pela sua integração e também pode ser consultado na seção Credenciais. |
Nesta etapa, você valida se a sua aplicação está apta a gerar links de autorização.
Para isso, envie uma solicitação ao endpoint /v2/wallet_connect/agreementsPOST, incluindo o Access Token de testeChave privada utilizada no backend para autenticar as requisições. No Wallet Connect, o Access Token e a Public Key são repassados pela equipe responsável por criar a sua aplicação, tanto os de teste quanto os de produção. Também é possível visualizá-los em Suas integrações > Dados da integração > Testes > Credenciais de teste. O Access Token de teste começa com o prefixo `APP_USR`. da conta de teste do vendedor.
curlcurl -X POST \ 'https://api.mercadopago.com/v2/wallet_connect/agreements' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ -d '{ "return_uri": "https://www.mercadopago.com/", "external_flow_id": "test_flow_001", "external_user": { "id": "test_user_001", "description": "Usuário de teste" }, "agreement_data": { "validation_amount": 10.00, "description": "Teste de vinculação" } }'
Se a solicitação for bem-sucedida, a resposta retornará o status 201 com o identificador da vinculação criada e a URI de autorização a ser utilizada na etapa seguinte.
json{ "agreement_id": "22abcd1235ed497f945f755fcaba3c6c", "agreement_uri": "{{wc_agreement_uri_example}}" }
Nesta etapa, você valida a experiência de autorização do ponto de vista do comprador.
Acesse a agreement_uri retornada na etapa anterior utilizando a conta de teste do comprador e conclua o fluxo de autorização. Ao finalizar, você será redirecionado para a return_uri informada na criação, com o resultado da operação nos query parameters.
Faça login com o Usuário e a Senha disponíveis em Suas integrações > Sua aplicação > Testes > Contas de teste. Se a verificação por e-mail for solicitada, informe o Código de verificação disponível para essa conta na mesma página.
{return_uri}?agreement_id={agreement_id}&code={code}&flow=agreement&external_flow_id={external_flow_id}&code_type=validation_code
Guarde o valor do parâmetro code, pois ele será utilizado na etapa seguinte para gerar o token de pagamento.
code tem validade limitada e pode ser utilizado apenas uma vez. Caso a janela expire, será necessário criar uma nova vinculação de teste e repetir a aprovação.Nesta etapa, você valida a troca do código de autorização pela credencial que permite executar cobranças.
Para isso, envie uma solicitação ao endpoint /v2/wallet_connect/agreements/{agreement_id}/payer_tokenPOST, informando o agreement_id obtido na primeira etapa e o code obtido na aprovação.
curlcurl -X POST \ 'https://api.mercadopago.com/v2/wallet_connect/agreements/{{AGREEMENT_ID}}/payer_token' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ -d '{ "code": "{{AUTHORIZATION_CODE}}" }'
Se a solicitação for bem-sucedida, a resposta retornará o status 201 com o payer_token associado à vinculação de teste.
json{ "payer_token": "abcdef1e23f4567d8e9123eb6591ff68df74c57930551ed980239f4538a7e530" }
Nesta etapa, você valida a cobrança de ponta a ponta, debitando o valor da carteira da conta de teste do comprador.
Para isso, envie uma solicitação ao endpoint /v1/ordersPOST, utilizando o payer_token obtido na etapa anterior.
curlcurl -X POST \ 'https://api.mercadopago.com/v1/orders' \ -H 'Content-Type: application/json' \ -H 'X-Idempotency-Key: 0d5020ed-1af6-469c-ae06-c3bec19954bb' \ -H 'Authorization: Bearer {{YOUR_ACCESS_TOKEN}}' \ -d '{ "type": "online", "external_reference": "test_order_001", "total_amount": "10.00", "description": "Pedido de teste", "capture_mode": "automatic", "transactions": { "payments": [ { "amount": "10.00", "payment_method": { "type": "wallet", "id": "wallet", "token": "{{PAYER_TOKEN}}", "statement_descriptor": "Teste" } } ] } }'
Se a solicitação for bem-sucedida, a resposta retornará o status 201 com a order processada. Verifique se os campos status e status_detail retornaram, respectivamente, processed e accredited, o que confirma que o valor foi debitado da carteira do comprador de teste.
json{ "id": "ORDBTA01KJZ06DEJX3DMY26FAB44BXNN", "type": "online", "external_reference": "test_order_001", "total_amount": "10.00", "total_paid_amount": "10.00", "status": "processed", "status_detail": "accredited", "transactions": { "payments": [ { "id": "PAY01KJZ06DEJX3DMXXXXXXXXXXXX", "amount": "10.00", "paid_amount": "10.00", "status": "processed", "status_detail": "accredited" } ] } }
insufficient_amount, verifique se a conta de teste do comprador possui saldo suficiente. Para os demais cenários de erro, consulte a seção Possíveis erros.Após validar o funcionamento correto da integração em ambiente de teste, substitua as credenciais de teste pelas de produção e avance para subir em produção.