Checkout Flow

Plugin icon

Checkout Flow

API Flow

This section details the user experience of a customer performing a standard checkout from the payment method section within your POS

635

User Journey

  1. The customer finishes browsing the store and heads to a register operator

  2. The operator selects Zip as the payment option at checkout

  3. The customer requests a pre-approval code (Instore Code)

  4. When the customer presses the "Create Instore Code" button, this should generate a 6-digit code, and a QR code

300
  1. The operator inputs the pre-approval code into a dialog box (or similar)

Redemption Options

For retailers who have QR scanning capabilities, you are able to scan the image and submit the decoded value into the customerApprovalCode value in the endpoint

Alternatively, you are able to manually input the value into the customerApprovalCode if your POS does not support QR scanning

  1. This should then trigger a request to the Zip APIs. The server-side handler will need to make a call to the /pos/order API method

  2. Ensure you pass as many parameters as possible for order details (item name, quantities, price etc.)

  3. The customer is presented with the option to either "Approve" or "Cancel" the transaction

300
  1. Once the customer clicks "Approve", the server-side handler will need to poll Zip with the /v2.0/pos/order/{orderId}/status endpoint to enquire if this order has been confirmed by the customer

status: Indicates the status of the order - Possible values are:

  • pending: Order has been created, awaiting user response

  • approved: Order has been approved. This is relevant for orders created with the auth flow

  • complete: Payment has been taken successfully and order has been completed

  • declined: Order was declined by the user

  • cancelled: Order has been cancelled prior to the customer approving/declining, or the order has been rolled back by the merchant. This is relevant for orders reated with the auth flow

  1. A successful order should present a success page/dialog within the POS