Payments

Payment retrieval API

Before you start

The intention of the payment API is to fetch payments upon a user action, often by means of a tender button on a point of sale system, as well as provide the ability to retrieve a historical list of all transactions that have been processed.
The payment API will return all relevant payments and does not provide an acknowledgement mechanism. Therefore, subsequent requests with the same parameters will return payments that were included in the previous request, and it is up to the client to ensure that these payments are applied correctly. If an acknowledgement mechanism is required, please use the preferred real-time payment notification solutions documented in the Payment Notifications section.
Payment polling should only be considered as last resort and may result in request throttling. The preferred alternative is to use the real-time payment notification solutions documented in the Payment Notifications section.

Getting Started

There are four distinct ways in which payments can be retrieved via the payment API.

Models

Payment Notification

Field
DataType
Description
invoiceReference
string
Zapper's invoice reference
invoiceExternalReference
string
Merchant's invoice reference
currencyISOCode
string
The Currency ISO code of the invoice
invoicedAmount
number
The invoiced amount in cents
paymentReference
string
Zapper's payment reference (Zapper ID)
paymentUTCDate
string
The date of the payment
status
The outcome of the payment
tipAmount
number
The tip amount paid by the customer in cents
tenderedAmount
number
The total tender amount paid by customer (including tips and vouchers)
vouchers
Array<Voucher>
A list of voucher amounts and who is liable respectively
customer
Customer
The Customer's first and last name
siteReference
string
The identifier of the point of sale till. This is required for routing of Zapper payments and invoices.

PaymentStatus

Value
Description
1
Success
2
Failed

Voucher

Field
Datatype
Required
Description
merchantLiable
bool
Yes
Is the merchant liable for the tender
amount
number
Yes
The redeemed amount in cents

Customer

Field
Datatype
Required
Description
firstName
string
Yes
The name of the customer
lastName
string
Yes
The last name of the customer

Endpoints

Payments by Invoice Reference

Using the reference returned from the invoice API, payments can be retrieved using the following endpoints.
Payments are limited to a rolling 24 hour window based on the time of a call.
get
https://api.zapper.com/business
/api/v1/merchants/{merchantId}/invoices/{invoiceId}/payments
Get Payments by Invoice Id for Merchant
get
https://api.zapper.com/business
/api/v1/merchants/{merchantId}/sites/{siteId}/invoices/{invoiceId}/payments
Get Payments by Invoice Id for Merchant Site

Payments by Merchant Reference

Fetch all payments using the external merchant reference provided to the invoice API.
Payments are limited to a rolling 24 hour window based on the time of a call.
get
https://api.zapper.com/business
/api/v1/merchants/{merchantId}/payments
Get Payments by Merchant Reference for all sites
get
https://api.zapper.com/business
/api/v1/merchants/{merchantId}/sites/{siteId}/payments
Get Payments by Merchant Reference for a specific site

Payments by Zapper ID

Using the Zapper ID, a single payment can be retrieved using the following endpoints.
This method is intended to be used mainly as a support function or to assist with a customer query
These payments are available over a 3 month window.
get
https://api.zapper.com/business
/api/v1/merchants/{merchantId}/payments/{zapperId}
Get Payment by Merchant Id and Zapper ID
get
https://api.zapper.com/business
/api/v1/merchants/{merchantId}/sites/{siteId}/payments/{zapperId}
Get Payment by Merchant Id, Site Id and Zapper ID