Skip to content

In-person payments

Take card payments in store on a phone or a Kustom terminal. How enrollments, devices and sessions fit, what your backend builds and how to get /ipp/v1 enabled.

Take card payments in your store on an iPhone, an Android phone or a Kustom terminal. Your backend sends a cart to the device, the clerk collects the payment, and you get the same order in Order Management that an online checkout creates.

Devices managed by an MDM? Enroll a managed fleet instead. Writing the callback handler? Session states and callbacks is the reference.

ConceptWhat it is
EnrollmentA single-use code that pairs a device with your account
DeviceAn enrolled phone or terminal, addressed by its device_id
SessionOne payment: a cart sent to a device_id

It’s its own API under /ipp/v1, separate from Checkout. There’s no order to create first: Kustom creates it when the session is finalized.

Both run the Kustom POS app, enroll the same way and take the same sessions. They differ in how the customer can pay:

DeviceThe customer can
iPhone or Android phoneTap
Kustom terminal: S700, S710 or V660pInsert, swipe or tap

The API doesn’t say which kind a device is, so give each one a name when you update it.

Ask your Kustom representative to enable in-person payments. The /ipp/v1 endpoints don’t answer until they have. After that, the API takes your usual API username and API password.

On a phone, install the Kustom POS app from the App Store or Google Play. Your Kustom representative can supply a Playground build of either.

Your Kustom representative sets these, not the API:

  • Capture method, per account:
    • Automatic. The payment is captured as soon as it’s authorized.
    • Manual. It stays authorized until you capture it, later or in part.
  • Fiscalization, per location, in some countries only:
    • Enabled. Kustom’s certified cash registers issue compliant fiscal receipts.
    • Disabled. No fiscal receipts.

This page is also available as Markdown — append .md to its URL — and is indexed in llms.txt.