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.
Before you can charge a customer on a terminal, the terminal has to be linked to a store, and the store has to be linked to a payout destination. You can do the whole onboarding in Backoffice, or do the initial setup in Backoffice and add terminals from your POS via the management API.
Step 1: Onboard a payout destination
The payout destination is the seller of record - the entity that receives the funds.
- In Backoffice, go to Settings → Sellers and click Add new Seller.
- Provide the company or individual details and complete the KYC flow. KYC is a one-time step per legal entity.
- When the seller is approved, note the
payout_destination_id. You’ll send this as order.store.payout_destination_id when creating sessions.
For more detail, see Add sellers.
Step 2: Create a store
A store represents a physical location. Stores are linked to one payout destination.
Backoffice
Management API
- Go to Settings → Stores and add a new store.
- Link the store to the payout destination you onboarded in step 1.
- Note the
store_id. You’ll send this as order.store.id.
Create a store with POST /v1/accounts/{aid}/stores. The store_id you choose is what you’ll later send as order.store.id when creating a session.POST /v1/accounts/{aid}/stores
Authorization: Bearer <token>
Content-Type: application/json
{
"store_id": "oslo-center",
"store_name": "Oslo Center",
"organization": {
"organization_number": "923663487"
},
"payout_destination": {
"payout_destination_id": "seller-1"
}
}
The response returns two identifiers:
store_id - the merchant identifier you sent. This is what you reference as order.store.id in checkout sessions.
id - a Dintero-generated identifier (for example P11223351-0026). You’ll need this when registering a terminal.
When a store is linked to an active payout destination, address, phone number, and other fields are set automatically from the validated organization data. The store’s organization.organization_number must match the organization on the payout destination.
Step 3: Register a terminal
A terminal is a physical card reader. Each terminal is linked to a single store.
Backoffice
Management API
- Go to Settings → Terminals and add a new terminal.
- Provide the device serial number and the terminal model.
- Link the terminal to the store from step 2.
- Note the
terminal_id. You’ll send this as order.store.terminal_id.
Register a terminal with POST /v1/accounts/{aid}/terminals.POST /v1/accounts/{aid}/terminals
Authorization: Bearer <token>
Content-Type: application/json
{
"device_serial_number": "158222607285",
"device_model": "SATURN1000",
"store_id": "P11223351-0026"
}
The store_id field on this endpoint expects the store’s id from the create-store response (for example P11223351-0026), not the merchant store_id. Subsequent reads of the terminal will return the merchant store_id (the backend translates it).
The response includes the terminal_id Dintero assigned (for example P11223351-T0013). Use that value as order.store.terminal_id when creating a session.Use GET /v1/accounts/{aid}/terminals, GET /v1/accounts/{aid}/terminals/{terminal_id}, and PUT /v1/accounts/{aid}/terminals/{terminal_id} to list, inspect, and update terminals.
The terminal must be linked to both a store and a payout destination before it can accept in-person payments. Sessions targeting a terminal that is not yet enrolled will be rejected.
Next step
With the payout destination, store, and terminal in place, you can now create a session that drives the terminal.