A terminal session is a regular Checkout session with one addition: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.
order.store carries the identifiers that route the payment to a specific terminal. The seitatech.in_person payment method is enabled through your payment profile.
Endpoint
Enable in-person payments via a payment profile
In-person payments are enabled on a payment profile in Dintero Backoffice → Settings → Payment Profiles. Enable Seitatech In-Person Payments on the profile you reference withprofile_id, and the session will accept terminal payments without any payment-method configuration in the request body.
Managing payment methods through profiles means you can add or change methods without redeploying integration code. Avoid sending a hardcoded
configuration.seitatech block on the request - let the profile drive it.Where the terminal ID goes
The terminal ID belongs inorder.store.terminal_id. The payment profile toggles the payment method on; order.store says which physical terminal the payment runs on.
| Field | Description |
|---|---|
order.store.id | Your merchant store identifier - the store_id you sent when creating the store, the same one you already use in the payment-link flow. Not the Dintero-generated id. |
order.store.terminal_id | The terminal_id returned when the terminal was registered (for example P11223351-T0013). Must be enrolled and linked to the store. |
order.store.payout_destination_id | The payout_destination_id linked to the store. |
The
order.store.id you use today in the payment-link flow is fine to keep using - in-person payments use the same store identifier. You just need to add terminal_id and payout_destination_id alongside it.Sale: full request
This example creates a session that immediately triggers a payment on terminalT0292 at store oslo-center for 399.00 NOK. The payment profile referenced by profile_id has Seitatech In-Person Payments enabled, so no configuration block is needed.
Amounts are in the smallest unit of the currency.
39900 is 399.00 NOK.When does the terminal start prompting?
Dintero starts the transaction on the terminal as soon as the session is created. You don’t have to do anything else.seitatech.in_person must be the only enabled payment method on the session. Mixing it with other payment methods is not currently supported - configure a dedicated in-person payment profile for terminal sessions.Receiving the result
Use thecallback_url and webhooks to know when the transaction is authorized and captured. Terminal payments use auto-capture by default. See Checkout webhooks and transaction management.
Refund
Refunds for in-person payments use the standard refund endpoint. There is no terminal-specific refund flow.Quick reference: answers to common integration questions
| Question | Answer |
|---|---|
| How do I enable in-person payments? | Enable Seitatech In-Person Payments on a payment profile in Backoffice and reference it with profile_id. |
Where does terminal_id go? | order.store.terminal_id. |
Is order.store.id enough? | Yes - reuse the same store ID you already send. Just add terminal_id and payout_destination_id alongside it. |
| How do I trigger a sale? | Create the session against an in-person payment profile with the order.store identifiers. The terminal prompts automatically. |
| How do I refund? | POST /v1/transactions/{transaction_id}/refund - same as e-commerce. |