Test your POS Integrations API integration
Test against the sandbox base URL and a UAT terminal before going live. See POS Integrations API for the sandbox base URL, API key, and response codes.
Magic test amounts
| Amount | Expected behaviour |
|---|---|
50.05 ZAR (exact amount) | First a failed transaction, then an approved transaction |
Ends in .55 | An array of failed transactions |
Ends in .65 | Tap the card - first a failed transaction, then a successful transaction |
Ends in .51 | Declined sale |
Ends in .69 | Timeout - expect a failed transaction |
Suggested test matrix
| Scenario | |
|---|---|
| ☐ | Sale - approved |
| ☐ | Sale - declined |
| ☐ | Sale - 50.05 ZAR - first failed, then approved transaction |
| ☐ | Sale - amount ending .55 - array of failed transactions |
| ☐ | Sale - amount ending .65, tap card - first failed, then successful transaction |
| ☐ | Sale - amount ending .51 - declined |
| ☐ | Sale - amount ending .69 - timeout, expect a failed transaction |
| ☐ | 409 - terminal busy, retry when the terminal is free |
| ☐ | 503 - terminal offline, retry when Remote payments online appears again |
| ☐ | Webhook received and matched to the order via merchantTransactionId |
| ☐ | Webhook posData.requestId matches the requestId from your payment request |
| ☐ | More than one webhook arrives for the same requestId, for example after an incorrect PIN |
| ☐ | Refund (if applicable) - confirm the transactionId from the sale webhook is stored and usable |
| ☐ | Duplicate webhook delivery |
| ☐ | Full-day Reconciliation API recovery, as a fallback if a webhook is missed |
| ☐ | merchantTransactionId visible in Dashboard |
For each failure scenario, record what the webhook reports, what the Reconciliation API returns, and whether a refund is required.
Production handoff
When the test matrix is complete, contact Peach Payments to confirm readiness before you go live.
Updated 5 days ago
Did this page help you?