- Barcode scan
- NFC tap
The barcode carries the payload configured on your pass template, using placeholders such as
{{customer.externalId}}, {{customer.emailAddress}}, or {{customer.mobileNumber}}, or set per pass with the API’s payload field. Left unset, it falls back to the pass id. Point it at the identifier your POS can resolve, usually externalId. See barcodes on pass templates for the template side.After the sale
Push the new balance to the pass. Update pass with the newloyaltyState. Everything downstream of the scan or tap is identical for barcode and NFC.
Optionally record the visit. Create transaction needs only passId and type. Everything else is optional, so send what your POS knows:
type: what happened to the pass, for examplePURCHASE,REDEMPTION, orSCAN_ONLY.channel(IN_STORE) andtapMode(SINGLE_TAPwhen pass and payment rode one tap,DOUBLE_TAPfor separate taps,NONEwithout a terminal).instrument: how the pass was presented.QRfor a barcode scan,APPLE_VASorGOOGLE_SMART_TAPfor a tap.status(APPROVED,DENIED,FAILED, orPENDING) with astatusReasonwhen it explains a denial or failure.pointsEarned,pointsSpent, and yourreference(receipt number).storeIdandterminalId, if you track them.payment: the payment side, withmethod(APPLE_PAY,CARD,VIPPS, and so on),amount, and PSP references.additionalData: POS metadata such as register ID, line items, merchant category code, and raw POS or PSP data. See the request schema for the full list of accepted keys.