Skip to main content

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 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.
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

1

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.
2

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.
3

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).
4

Receive the result

Use your callback_url and webhooks to be notified when the transaction is authorized and captured. Manage refunds and voids through the standard Transactions API.

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 checkout scope.
  • A session profile that has Seitatech In-Person Payments enabled, or a request that sets configuration.seitatech.in_person.enabled = true.
See terminal onboarding for how to set up the payout destination, store, and terminal.

Identifiers you’ll use

IdentifierWhere it comes fromWhere it goes in the request
payout_destination_idCreated in Backoffice during onboardingorder.store.payout_destination_id
store.idCreated in Backoffice or via the management APIorder.store.id
terminal_idAssigned when the terminal is registeredorder.store.terminal_id
The combination of these three values determines which physical terminal the payment is routed to.

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.