Use the following test data in the sandbox environment to simulate various transaction scenarios and ensure your integration handles them correctly.
This data will only work in the https://stage.tonder.io/ environment. Do not use real card or bank account numbers for testing.

Test Cards

You can use these card numbers to trigger specific responses from the API. Any valid future expiration date (e.g., 12/2027) and any 3-digit CVV (e.g., 123) can be used unless otherwise specified.
Card NumberScenarioExpected StatusNotes
4242424242424242Successful paymentauthorizedUse this for testing a standard, successful card transaction.
4000000000000002Card declineddeclinedSimulates a generic decline from the issuing bank.
4000000000009995Insufficient fundsdeclinedSimulates a decline due to insufficient funds.
40000000000001193D Secure requiredpendingTriggers a next_action object in the response for 3DS handling.
4000000000000341Processing errorfailedSimulates a generic processing error at the provider level.
4111111111111111Successful withdrawalprocessingFor testing successful direct-to-debit card withdrawals.
5555555555554444Withdrawal processing errorfailedFor testing a failed direct-to-debit card withdrawal.

Test Bank Accounts (CLABE for SPEI)

Use these CLABE numbers to test SPEI payments and withdrawals in Mexico.
CLABEScenarioExpected Result / Status
646180157000000004Successful transferprocessing status
012345678901234567Invalid checksum422 Validation error
999999999999999999Non-existent bankinstitution_not_found error

Testing Different Scenarios

Before going live, it’s a good practice to run through these common test cases to ensure your integration is robust.
  • How to test: Submit a payment request using the test card 4242424242424242.
  • What should happen: The API should return a 201 Created response with a status of authorized or success.
  • What to look for: Confirm that the response includes a valid transaction ID and that your system correctly records the successful payment.
  • How to test: Submit a payment request using the test card 4000000000000002.
  • What should happen: The API should respond with a status of declined.
  • What to look for: Ensure the response contains an error message explaining the reason for the decline and that your application handles this gracefully (e.g., by asking the user to try another card).
  • How to test: Initiate a payment with the test card 4000000000000119.
  • What should happen: The API will return a 202 Accepted response with a status of pending and will include a next_action.redirect_to_url object.
  • What to look for: Verify that your application can correctly parse this response and simulate redirecting the user to the provided URL for authentication.
  • How to test: Submit a payment request with payment_method.type set to OXXO or oxxopay.
  • What should happen: The API should return a 201 Created response with a status of pending and provide a payment_instructions object.
  • What to look for: Check that the response includes a barcode and a reference code. Ensure your application can display these instructions clearly to the user.

Next Steps