Once the zip checkout flow has redirected the customer to your previously defined "redirect_uri", that page should consume the the state of the checkout to determine if it has been approved, referred or declined. If the checkout has been approved, this page should then proceed to charge the customer.

📘

Note

The /charges API call to complete the payment authorisation must be made within 15 minutes once a checkout has been approved. Checkouts will expire if not completed within this timeframe.

Useful notes

  • Metadata set at the checkout will be returned in the response of this call.
  • If you don’t have server-side sessions you can use GET /checkouts/{checkoutId} to get the amount and currency to capture. The checkoutId should be in the query string.
  • You cannot charge more than the amount that was originally agreed upon within the checkout flow by the customer.
  • Remember that if you want to immediately transfer the funds from the customer to the merchant account, to set capture=true. If you want only to authorise the transaction (and ring-fence the funds in the customer account so that they cannot be used for other transactions) then set capture=false. If you set capture=false you will need to make a later call to /charges/{id}/capture or /charges/{id}/cancel to either capture (and transfer) the funds or to cancel the auth (This functionality is available for AU transactions only at present)
  • Regardless of whether you passed order.id in to checkout you can ensure the merchant order id is updated to the correct/latest order id by passing it in to this call. It will overwrite anything passed in to /checkouts
  • The "redirect_uri" must have been followed and the checkout approved before a charge can be authorised using a particular "checkout_id".
  • The reference number for each charge must be unique, be sure to modify the below example request with your merchant reference number in the request JSON under order.reference.
  • A successful charge request will return state="Approved", or state="Captured" or state="Authorised". This indicates that the payment has been completed.
  • The Charges Response
    • amount DOUBLE

      Amount of this charge. This is the amount that will be transferred (if capture=true) from customer to merchant account or ring-fenced if capture=false.

    • captured_amount DOUBLE

      Total amount captured for this charge.

    • created_date STRING

      The date on which the charge was created

    • currency STRING

      Transaction currency. Accepted values are AUD NZD USD CAD

    • id STRING

      Transaction ID

    • product STRING

      Zip product name

    • interest_free_months INTEGER

      Interest free period applied to a transaction in months

    • receipt_number DOUBLE

      Transactoin receipt number

    • refunded_amount DOUBLE

      Total amount refunded for this charge

    • state STRING

      A successful state of the charge is approved captured or authorised(For deferred payments)

      Ensure your system accepts approved captured or authorised as valid responses

    • customer.id STRING

      Unique customer identifier

    • customer.first_name STRING

      Customer's first name

    • customer.last_name STRING

      Customer's last name

    • customer.email STRING

      Customer's email address

    • customer_contribution BOOLEAN

      Specifies if the Zip consumer contribution is enabled for a merchant account

      Note: This functionality is only available for US merchants. False value is returned for AU and NZ transactions.

    Language
    Authorization
    Header
    Click Try It! to start a request and see the response here!