> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wava.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Test Data

> Phone numbers, IDs, and OTP codes for sandbox testing.

# 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 |

```bash theme={null}
# 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      |

<Tip>
  Test all error scenarios before going live. Your integration should gracefully handle every error case and display appropriate feedback to the buyer.
</Tip>
