pk_test_ key or an OAuth application registered in TEST mode.
It shares the production API shape, but write behaviour is deliberately narrow.
What a test key can do
- Read cards, locations, customers, enrolments, transactions, and webhook configuration.
- Create test ledger transactions against an existing enrolment.
- Call
/marketplace/accruefor an existing customer and existing enrolment. - Simulate wallet pushes without delivering a notification.
- Receive signed transaction webhooks marked with
testMode: true. - List and clean up test transactions.
What it cannot do
- Create, update, or anonymise a live customer.
- Create or change a live enrolment.
- Create, edit, or delete webhook configuration.
- Use
/marketplace/enroll. - Create a customer or enrolment as a side effect of
/marketplace/accrue. - Deliver a real wallet push.
Testing a POS transaction
- Use
GET /customersor a scannedcard_serialto resolve a customer. - Use
GET /enrollmentsto find the matching card enrolment. - Post the transaction with a stable
external_transaction_id. - Confirm the response includes
test_mode: true. - Confirm your webhook receiver branches on
testMode.
test:. The same permanent reference
cannot be reused later for a live transaction.
To remove all test ledger rows after certification:
Test reads return the business’s current records so an integration can prove
its matching logic. Treat test keys as sensitive because those records can
contain personal data.

