Testing
Keys prefixed with onvo_test_ operate in test mode. Use them to validate flows, states, webhooks, and error handling.
The payment methods on this page only work in test mode. If you try to use them with onvo_live_ keys, ONVO rejects the payment method creation.
Related API reference
Checklist before production
- Create a payment intent.
- Confirm a successful payment.
- Test a payment-method error.
- Test a refund.
- Validate webhook delivery and signature verification.
- Confirm that your system handles idempotent retries.
Cards
To create a test card, use card in the type attribute when creating a payment method and include the number in card.number.
Use any future expiration date, any valid CVV for the brand, and any cardholder name.
| Scenario | Brand | Number |
|---|---|---|
| Approved | Visa | 4242424242424242 |
| 3DS challenge | Visa | 4000000000003220 |
| Approved | Mastercard | 5555555555554444 |
| Approved | American Express | 378282246310005 |
| Declined payment | Visa | 4000000000000002 |
| Creation fails due to invalid verification | Visa | 4000000000000127 |
| External card processor error | Visa | 4000000000000119 |
Credix
To create a Credix test card, use credix in the type attribute and include the number in credix.number.
| Scenario | Brand | Number |
|---|---|---|
| Approved | Visa | 4111111111111111 |
| Declined | Visa | 4000000000000002 |
Bank Deposit (SINPE PIN)
To create a bank deposit test method, use bank_deposit in type and include identification and identificationType in bankDeposit.
| Scenario | Identification | Behavior |
|---|---|---|
| Successful | 00-0000-8888 | Simulates a successful deposit 15 seconds after confirming the payment intent. |
| Failed | 00-0000-9521 | Marks the charge as failed and the intent returns to requires_payment_method. |
| Successful with delay | 00-0000-4444 | Simulates a successful deposit 30 seconds later. |
| Partial | 00-0000-3333 | Simulates a 50% deposit followed by another deposit for the remaining 50%. |
SINPE Movil
To create a SINPE Movil test method, use mobile_number in type and include the number in mobileNumber.number.
| Scenario | Number | Behavior |
|---|---|---|
| Successful | +50688888888 | Simulates a successful transfer 15 seconds later. |
| Successful with delay | +50688884444 | Simulates a successful transfer 6 minutes later. |
| Failed | +50688889521 | Does not simulate a transfer and the intent state does not change. |
| Partial | +50688883333 | Simulates a 50% transfer followed by another transfer for the remaining 50%. |
Zunify
To create a Zunify test method, use zunify in type and include phoneNumber and pin in the zunify object.
| Scenario | Number | PIN | Behavior |
|---|---|---|---|
| Successful | 11223344 | 1234 | Simulates a Zunify charge and marks the intent as successful approximately 10 seconds later. |