Test cards
| Number | Brand | CVV | Result |
|---|---|---|---|
4111 1111 1111 1111 | Visa | 999 | Approves |
5431 1111 1111 1111 | Mastercard | 999 | Approves |
6011 6011 1111 1111 | Discover | 999 | Approves |
3714 4963 5398 431 | Amex | 9997 | Approves |
Any future expiry date works. Use 10 / 25 to force an expired card decline.
Forcing failures
The sandbox uses the order total to trigger specific outcomes, which is how you test your error handling without waiting for a real decline.
| Total ends in | Result |
|---|---|
| .00 | Approved |
| .05 | Declined |
| .10 | Processor error or timeout |
Test ACH details
Routing number 123123123
Account number 1234567890
Account type Checking
SEC code WEB
Pre launch checklist
- Sale approves and the order completes
- Decline shows a usable message rather than a raw gateway code
- Partial refund appears in both WooCommerce and the gateway
- Void works on an uncaptured authorization
- Saved card appears in My Account and can be deleted
- Second order with a saved card completes without card entry
- Subscription renewal charges the vault token, if you sell subscriptions
- The gateway log contains no card number, CVV or security key
- Checkout works on a phone, not just a desktop browser
- One live transaction with a real card, then refunded
Testing on staging
Staging sites do not consume a licence slot. Use sandbox credentials there permanently, and keep the sandbox banner enabled so a copied database never quietly charges a real card.