In-person payments let you charge a customer on a physical payment terminal using the same Checkout API you already use for online payments. You create a session, point it at a specific terminal, and the terminal prompts the customer to tap, insert, or swipe their card. The integration reuses your existing Checkout client, session profile, and transaction management. The only difference is that the order references a store and terminal, and the payment is completed on the terminal instead of in a hosted page.Documentation Index
Fetch the complete documentation index at: https://docs.dintero.com/llms.txt
Use this file to discover all available pages before exploring further.
In-person payments are powered by Seitatech and use the
seitatech.in_person payment type. The terminals are physical card readers provisioned by Dintero.How it works
Create a session
Send a
POST to /v1/sessions-profile with your usual order details, plus order.store.id, order.store.terminal_id, and order.store.payout_destination_id. Enable seitatech.in_person either through your session profile or in configuration.seitatech on the request.Terminal prompts the customer
The transaction is triggered on the terminal as soon as the session is created.
seitatech.in_person must be the only enabled payment method on the session.Customer pays on the terminal
The customer completes the payment on the terminal. Dintero captures the transaction (auto-capture is the default for terminal payments).
Prerequisites
Before you can take a payment on a terminal, you need:- An active Dintero account with In-Person Payments enabled.
- A payout destination for the merchant of record. KYC must be completed.
- A store linked to the payout destination.
- A terminal registered to the store.
- A Checkout API client with the
checkoutscope. - A session profile that has Seitatech In-Person Payments enabled, or a request that sets
configuration.seitatech.in_person.enabled = true.
Identifiers you’ll use
| Identifier | Where it comes from | Where it goes in the request |
|---|---|---|
payout_destination_id | Created in Backoffice during onboarding | order.store.payout_destination_id |
store.id | Created in Backoffice or via the management API | order.store.id |
terminal_id | Assigned when the terminal is registered | order.store.terminal_id |
What’s next
Onboard a terminal
Create a payout destination, register a store, and link a terminal.
Create a terminal session
Build the session payload, trigger the terminal, and handle refunds.