Accept in-store payments through your own system. Your backend creates a payment session, which is dispatched to a store clerk's device. The clerk collects the payment, and Kustom delivers lifecycle callbacks back to you.
| Reading time | ~15 minutes |
| Time to first test payment | ~30 minutes |
| Prerequisites | In-Person Payments enabled on your account, a Kustom API key, and a device running the Kustom POS app |
In-Person Payments is enabled per account. To get started, please reach out to your Kustom representative and request that the product be enabled. Once it’s enabled, your API key gains access to the /ipp/v1 endpoints, and you can begin enrolling devices.
The In-Person Payments API is separate from the Checkout API. It lives at /ipp/v1 and uses the same API key authentication.
Before you can process in-person payments, you need the Kustom POS app on your device. Follow the steps below to authenticate and begin using the API.
A store clerk collects payments using the Kustom POS app, which runs on the device. Download it from the App Store (iOS) or Google Play (Android):
A Playground (sandbox) version of the app is available for both iOS and Android, allowing you to test against the playground without affecting live payments. Ask your Kustom representative to provide it to you.
| Concept | What it is |
|---|---|
| Enrollment | A one-time pairing code that links a physical device to your merchant account. A clerk enters the 8-character code in the Kustom POS app to register the device. |
| Device | A registered terminal — your own smartphone (iPhone or Android) running the Kustom POS app. Once enrolled, a device has a stable device_id you use to dispatch sessions to it. |
| Session | A single payment request. Your backend creates a session with the cart and a target device_id. Kustom pushes it to the device instantly. |
As a merchant, you can configure to have multiple optopns. In order to configure your In-Person Payments settings, you can contact your Kustom representative. The following options are available for configuration:
Capture Methods: You can configure the capture method for your payments. The available options are:
- Automatic Capture: Payments are captured automatically after authorization. This means as soon as the payment is authorized, the funds are captured and transferred to your account.
- Manual Capture: Payments require manual capture after authorization. This option is can be used to perform partial captures or to delay the capture of funds until a later time.
Fiscalization: You can configure the fiscalization settings for your payments, per location. The available options are:
- Enabled: Payments are fiscalized according to the local regulations, using Kustom's certified cash registers and fiscal receipts. This ensures that all transactions are compliant with the local tax laws and regulations.
- Disabled: Payments are not fiscalized.
Fiscalization is only available in certain countries. Please check with your Kustom representative to see if it is available in your country.
- Enroll a Device — Create enrollment codes, register devices
- Create a Session — Dispatch payment requests to devices
- Receive Callbacks — Session lifecycle events and order creation
- Testing — Simulate devices and card taps without real hardware
- API Reference — Full endpoint reference