Testing In-person Payments
Overview
Stitch's test client simulates real acquirer responses so you can test your card-present integration against deterministic outcomes before going live. The cents portion of the transaction amount controls the simulated response. Use the amounts in the tables below to drive approvals, declines, PIN entry, slow approvals, and timeouts.
All examples use ZAR (R). The cents value drives the outcome; the rand portion is free for you to choose.
Test approvals
| Amount | Result | Notes |
|---|---|---|
R10.00 | Approved | Standard approval. Use this as your default. |
R10.08 | Approved (please sign) | Tests the signature-required flow. |
R10.11 | Approved (VIP) | Tests VIP cardholder handling. |
R10.16 | Approved (update track 3) | Tests the update-track-3 acknowledgement. |
Test declines
These amounts return common decline responses. Use them to verify that your integration handles each scenario correctly.
| Amount | Result |
|---|---|
R10.01 | Refer to issuer |
R10.05 | Do not honour |
R10.12 | Invalid transaction |
R10.14 | Invalid card number |
R10.41 | Lost card |
R10.43 | Stolen card |
R10.51 | Insufficient funds |
R10.54 | Expired card |
R10.55 | Incorrect PIN (see Test PIN flows) |
R10.57 | Not permitted to cardholder |
R10.61 | Exceeds withdrawal amount |
R10.65 | Exceeds withdrawal limit / request PIN |
R10.91 | Issuer unavailable |
The rand portion of the amount does not affect the response. R10.51, R250.51, and R3500.51 all return insufficient_funds. Pick whichever rand value suits your test scenario.
Test PIN flows
A configurable subset of test PANs is enabled for online PIN validation. The PIN entered on the terminal is compared to the PIN configured for that card; if it does not match, the transaction returns incorrect_pin. PANs that are not on the configured list do not have PIN validation enabled, and any PIN value will be accepted.
The specific PANs and PINs available for PIN testing vary per integration. Contact the Stitch Card Switch team to obtain the test cards assigned to your test client.
Do not use real cardholder cards with your test client. The test environment is not a PCI-scoped production system, and real card data presented at the terminal will be visible to Stitch infrastructure. Use only the test cards provided by the Card Switch team.
Edge cases
Single Tap and PIN simulation
To exercise the single-tap-and-PIN flow on contactless transactions, use the exact amount R50.05 on a contactless entry mode.
| Scenario | Result |
|---|---|
| First tap, no PIN provided | Terminal is prompted to request a PIN. |
| PIN subsequently provided and valid | Approved. |
| PIN subsequently provided but missing | Returns incorrect_pin. |
Acquirer timeout
Amounts whose cents end in .69 (for example R10.69) simulate an acquirer that never responds. After roughly 30 seconds, the transaction completes with an acquirer_timeout result. Use this to test how your integration handles long-running and timed-out transactions.
Slow approvals
The following exact amounts return an approval, but only after a deliberate delay. Use them to verify your integration's behaviour while a transaction is still in flight (loading states, retries, user-cancellation paths).
| Amount | Delay before approval |
|---|---|
R10.10 | 10 seconds |
R20.20 | 20 seconds |
R30.30 | 30 seconds |
R40.40 | 40 seconds |
R50.50 | 50 seconds |
R60.60 | 60 seconds |
R70.70 | 70 seconds |
R80.80 | 80 seconds |
R90.90 | 90 seconds |
Fall-forward to chip-with-PIN
Contact-with-CVV transactions whose cents end in .65 are approved. This simulates the real-world flow where a contactless attempt is declined with a request to fall forward to chip-with-PIN, and the chip attempt succeeds.
Common issues
| Symptom | What to try |
|---|---|
| Every test transaction is declining. | Use cents values from the Test approvals and Test declines tables above. Other amounts produce unpredictable outcomes. |
| PIN entry does not appear to be validated. | PIN validation runs only for the configured test cards listed in Test PIN flows. Other PANs do not validate PIN entry. |
| Transactions take far longer than expected to complete. | Check whether you used a slow-approval amount such as R10.10. |
| The transaction never returns a response. | Check whether the cents value ended in .69. This simulates an acquirer timeout. |