Testing your integration in the sandbox environment is essential before going live with Blink Data.
Sandbox URL: https://sandbox.data.blinkpay.co.nz
The sandbox environment provides:
Limitations:
Sandbox credentials are provisioned when you sign up at merchants.blinkpay.co.nz. If Settings > API Settings shows no sandbox key, select Request Sandbox API Key there. See Getting API Credentials.
In the sandbox, test every flow with PNZ, the test bank; it supports every data type, including statements. The production banks (ANZ, ASB, BNZ, Westpac, Kiwibank and NZHL) are used in production, with their bank values, decoupled identifiers and statement availability listed on the Bank Coverage page. GET /v1/meta lists the banks enabled for your organisation in the environment you are calling. The bank value is case-sensitive; an unrecognised value is rejected with 400 (see Error Codes).
To see the Data API in action before building your integration, visit our demo site:
ACME Loans Demo: https://acme-loans-dev.blinkpay.co.nz
This demonstrates the full data consent and retrieval experience.
The sandbox has one test bank, PNZ: Payments NZ's API Centre test bank, and the only bank shown in the Gateway. Use these values for every flow:
| Item | Value |
|---|---|
| Test bank | PNZ (the only bank in the sandbox Gateway) |
| Redirect or Gateway login | Username user01, password password |
| Decoupled, auto-approve | Mobile number +64-259531933. In the Gateway, choose Send to PNZ app. The consent is approved automatically. |
| Decoupled, any other number | Accepted, but the consent never authorises: it stays AwaitingAuthorisation until the bank's authorisation window ends, then becomes Rejected (timeout). Other numbers do not simulate a decline. |
| Decline | On the PNZ login page, choose Cancel before logging in. The consent becomes Rejected. |
Automated Testing
The auto-approve number needs no customer interaction, which makes it the easiest way to drive consents to Authorised in automated tests.
Objective: Verify end-to-end data access using Redirect Flow
Steps:
user01 / passwordAuthorisedExpected Results:
AuthorisedObjective: Verify data access using Decoupled Flow
Steps:
+64-259531933)AuthorisedExpected Results:
+64-259531933 does this, and any other number stays AwaitingAuthorisation until the window endsObjective: Verify timeout handling
Steps:
RejectedExpected Results:
RejectedObjective: Verify rejection handling
Steps:
RejectedExpected Results:
RejectedObjective: Verify revoked consent handling
Steps:
DELETE /v1/consents/{consent_id} (204)BDT410Expected Results:
BDT410 after revocation, and revoking the consent again returns 409 BDT702Objective: Verify pagination implementation
Steps:
size=10Expected Results:
To test your error handling, you can deliberately produce each failure state:
| Error State | When It Occurs |
|---|---|
Rejected | The customer chooses Cancel on the PNZ login page, or never completes authorisation before the bank's window elapses |
GatewayTimeout | A Gateway Flow consent is abandoned before the customer selects a bank, and the 15-minute Gateway session cutoff elapses |
Revoked | The consent is revoked after authorisation, via DELETE /v1/consents/{consent_id} |
For automated tests, drive each state yourself: authorise a consent with the auto-approve number and revoke it with DELETE /v1/consents/{consent_id} to exercise your Revoked handling, and choose Cancel on the PNZ login page for Rejected. Handle the remaining outcomes, such as expiry or a bank error, from the documented consent statuses and error codes.