Test Data
Use these values when testing in the development environment (https://api.dev.wava.co/v1).
Nequi test data
Use any valid Colombian phone number format for Nequi test payments. In the sandbox, push notifications are simulated.
To confirm a Nequi order in development, call GET /v1/orders/{orderId}. This automatically confirms the order and triggers the webhook.
| Field | Test Value | Notes |
|---|
| Phone number | +573001234567 | Any valid Colombian format works |
# 1. Create the Nequi order
curl -X POST "https://api.dev.wava.co/v1/orders" \
-H "merchant-key: YOUR_DEV_KEY" \
-H "Content-Type: application/json" \
-d '{ "amount": 10000, "description": "Test", "currency": "COP",
"shopper": { "first_name": "Test", "last_name": "User",
"email": "test@test.com", "phone_number": "+573001234567", "country": "CO" },
"payment_gateway": { "id_payment_gateway": 1 }, "order_key": "test-001" }'
# 2. Auto-confirm by calling GET
curl -X GET "https://api.dev.wava.co/v1/orders/{orderId}" \
-H "merchant-key: YOUR_DEV_KEY"
Daviplata test OTPs
When testing Daviplata payments, use these OTP values:
| OTP Code | Result | Use case |
|---|
123456 | ✅ Success | Happy path testing |
000000 | ✅ Success | Alternative success test |
111111 | ✅ Success | Alternative success test |
999999 | ❌ Error: invalid OTP | Negative testing — triggers DAVIPLATA_OTP_ERROR (6105) |
| Any other value | ❌ Error: invalid OTP | Negative testing |
Test document numbers
Use any numeric string as a national ID number in the sandbox. The document type should be a valid ID from GET /v1/national-document-types/CO.
| Field | Test Value | Notes |
|---|
| National ID | 12345678 | Any numeric string works |
| Document type | 1 (CC) | Cedula de Ciudadania |
| Document type | 2 (CE) | Cedula de Extranjeria |
| Document type | 3 (TI) | Tarjeta de Identidad |
Negative testing
Use these approaches to test error handling in your integration:
| Scenario | How to trigger |
|---|
| Invalid OTP | Submit OTP 999999 for Daviplata |
| Invalid merchant key | Use an incorrect or expired merchant key |
| Missing required fields | Omit amount, description, or payment_gateway |
| Invalid email | Submit an invalid email format in shopper.email |
| Invalid phone | Submit non-numeric characters in shopper.phone_number |
| Order not found | Call GET /v1/orders/99999999 with a non-existent order ID |
| Gateway not supported | Use an id_payment_gateway not enabled for your store |
Test all error scenarios before going live. Your integration should gracefully handle every error case and display appropriate feedback to the buyer.