Session
A session declares intent to run an operation: checkout (collect) or payout. Create a session against a payment source (invoice, order, or checkout-created source), then execute it before the session expires.API Reference: Checkout session · Payout session
Hosted checkout skips server-side sessions and executions — the customer pays on a Dollr page. See Hosted checkout.
Execution
An execution submits an active session and moves funds. Collection requires:session_idpayment_account_id(registered wallet or card)currencyreference_id— UUID v4 you generate before the HTTP call
session_id, payout_account_id, reference_id, and passcode (merchant verification with device metadata).
Card 3D Secure
Collection executions for cards may returnrequires_action: true and a client_secret. Complete Stripe authentication in your UI before polling status. See Collect with card.
Two status models
| Model | Tracks | Example values |
|---|---|---|
| Execution | Movement of funds | PENDING → PROCESSING → COMPLETED | FAILED |
| Source (invoice/order) | Document lifecycle | IDLE → ACTIVE → PROCESSING → PAID | CANCELED |
PROCESSING for several minutes. Poll execution status; do not re-execute during that window.
Poll execution status
Fee bearer
PAYER— Customer pays fees on top of the total; merchant receives the full invoice amount.PAYEE— Merchant absorbs fees; customer pays the listed total.
Related
- Hosted checkout · Parties & counterparties
- Realtime status — push updates instead of polling
- Executions API concept · Status
- Quick Start
