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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.dintero.com/feedback

```json
{
  "path": "/docs/checkout/in-person/overview",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# In-person payments overview

> Accept card payments on physical Dintero terminals using the Checkout API. Reuse your session flow with a Seitatech configuration to drive the terminal.

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.

<Info>
  In-person payments are powered by Seitatech and use the `seitatech.in_person` payment type. The terminals are physical card readers provisioned by Dintero.
</Info>

## How it works

<Steps>
  <Step title="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` on your [payment profile](/docs/checkout/payment-profiles) and reference it with `profile_id`.
  </Step>

  <Step title="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.
  </Step>

  <Step title="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).
  </Step>

  <Step title="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.
  </Step>
</Steps>

## 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 **payment profile** that has Seitatech In-Person Payments enabled. See [payment profiles](/docs/checkout/payment-profiles).

See [terminal onboarding](/docs/checkout/in-person/terminal-onboarding) for how to set up the payout destination, store, and terminal.

## 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`           |

The combination of these three values determines which physical terminal the payment is routed to.

## What's next

<Columns cols={2}>
  <Card title="Onboard a terminal" href="/docs/checkout/in-person/terminal-onboarding" icon="store">
    Create a payout destination, register a store, and link a terminal.
  </Card>

  <Card title="Create a terminal session" href="/docs/checkout/in-person/creating-terminal-session" icon="credit-card">
    Build the session payload, trigger the terminal, and handle refunds.
  </Card>
</Columns>
