Poll order status

Plugin icon

In-Store API

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

This follow up API call to the /purchaserequests endpoint is required to determine the status of the newly created order. This call should be repeatedly polled every few seconds until the 'pending' status changes to:

  • 'Approved' - This will occur if the customer confirms in their mobile app
  • 'Cancelled' - This will occur if the customer chooses to cancel instead of confirm in their app
  • 'Expired' - This will occur if the customer fails to confirm in their mobile app within 60 seconds


Poll repeatedly until the order status is confirmed

It is important to continue polling until the status changes as mentioned above. If you cancel the transaction prior to this, the customers order confirmation form will remain on their device for the full 60 seconds. If the customer then confirms the order, it will leave the order complete for both Zip and the Customer, but failed on the POS.

This API call will contain no body.

The request endpoint will include the id returned in the original POST /purchaserequests call to identify the order for which we are checking the status. An example of this is as below:


The Zip API response will contain:

  • An order reference - This is the same Zip order reference as passed above in the request
  • An order status - This will return as 'Approved' if the order is complete

This /purchaserequests API call should be made from your server and not directly from the client front end.



Print the Zip reference on the customer receipt

Once the order has been completed, print the 'receipt_number' returned in the API request on the customer receipt.


Order management

The 'receipt_number' should also be stored against your order records as this is the reference to be used for order management functions, such as refunds, or the capture and cancel functions associated with the Authorise and Capture flow.