# Test mode (sandbox)

> Create payments with "mode": "test" and pay them with these test details. No real money moves.

Create a payment with `"mode": "test"` and pay it on the payment page with the details below. No real money moves, and real cards, accounts and wallets can't pay test payments. Use your **live** API key: it creates test and live payments alike.

## Cards

Use any future expiry date and any 3-digit CVV.

| Card number | What happens |
| --- | --- |
| `4242 4242 4242 4242` | OTP `123456`. For amounts under ₦7,500. |
| `5555 5555 5555 4444` | PIN `1234`, then OTP `123456`. |
| `5200 0000 0000 1096` | 3-D Secure. |

## Bank account (GTBank)

Any 10-digit account number, then the token `123456`.

## Paybeta wallet

| | |
| --- | --- |
| **Wallet ID** | `0123456789` |
| **Password** | None |
| **Transaction PIN** | `1234` |
| **Code** | `123456` |

No real wallet is used.

## Transfer and USSD

Bank transfer and USSD payments don't complete in test mode.

## Going live

Change `mode` to `live`. Nothing else changes: the same API key, host, webhook and verify call. Live payments charge the customer for real, and `merchant_amount` settles on the next business day.
