Plugin icon

In-Store API

Give your shoppers the option to pay with Zip in-store with our point-of-sale API.

This page will guide you through setting up your Zip account to begin your integration with the In-Store REST API.

Upon completion, you will be ready to begin your development.

Request a test account

You can request a Zip test merchant account by reaching out to our team at [email protected]

A Zip test account will provide you with sandbox API credentials, allowing you to begin interacting with the in-store API.

Test connectivity

To verify that your account is working correctly, let's make a test purchase request for $10 AUD.

  1. Encode your API key
EncodedKey = base64_encode(API_KEY + “:”); 
  1. In the code below, replace YOUR_ENCODED_API_KEY with your base 64 encoded sandbox API key
  2. AND, replace TEST_STORE_LOCATION_ID with your sandbox location ID provided by Zip
  3. Copy the resulting code into your command line, and run the command.

curl -X POST \ \
  -H 'Authorization: Basic YOUR_ENCODED_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "RefCode": "your_transaction_reference",
    "PayAmount": "10",
    "PayAmountAsDecimal": 1,
    "Originator": {
        "StaffActor": {
            "RefCode": "staff_no",
            "Name": "staff_name"
        "LocationId": TEST_STORE_LOCATION_ID,
        "DeviceRefCode": "11111"
    "AccountIdentifier": {
        "Method": 1,
        "Value": "500057"
    "capture": true

If your account is set up correctly, you will receive a JSON response containing the below message:

    "code": "AccountIdentifier_NoMatch",
    "message": "The account identifier does not match any known account, please try again",
    "items": null

This is as expected, as we have not yet included a valid Zip customer barcode!


Test as you go

To generate a valid customer barcode, start by creating some test customer accounts to aid you in development