Billing and settlement

Existing driver checkout and settlement

Not offered in production. The production API does not serve these compatibility routes. This page describes the compatibility path in preproduction: the driver's application backend calls the unified API, while the existing checkout service still owns Stripe, its catalog pricing and its financial ledger. This is distinct from tenant-managed bills.

flowchart diagram; its source follows
Diagram source
flowchart LR
  Driver[Driver page] --> App[Application presentation and access]
  App --> API[Unified driver API]
  API --> Session[Private session mapping]
  Session --> Legacy[Existing checkout service]
  Legacy --> Stripe[Stripe test checkout]
  Legacy --> CSMS[Charging and meter events]
  CSMS --> Legacy
  Legacy --> Settle[Original capture and settlement ledger]
ActionContract
Read published charger detailsGET /v1/driver/evses/{evse_id}
Read/stream progressGET /v1/driver/checkouts/{session_id} and /events
Stop or cancelPOST /v1/driver/checkouts/{session_id}/stop
Read final summaryGET /v1/driver/receipts/{session_id}

Checkout creation was retired on 2026-09-25; the session routes serve sessions issued before then. A stop request takes a cryptographically random 32–128-character Idempotency-Key; retain it across reloads/retries. Each drv_ ID is a private bearer capability for one session. Keep it and retry keys out of logs, analytics and referrers.

The API preserves the original ledger and rounding. At 6.941 kWh and $0.35/kWh, legacy settlement yields 242 cents, while the new energy-v1 bill yields 243 cents. Do not recalculate or settle historical payments through the new bill path. The summary separates charging cost and initial authorization capture; it is not a full tax/payment receipt because separate overage/refund totals are not exposed by the legacy response.

Older numeric sessions remain behind a restricted compatibility gate. New private sessions cannot be read through their old numeric checkout IDs. Existing server-created payment-flow, IVR and transaction QR channels retain compatibility.

Host pricing affects this existing catalog path; it does not rewrite existing bill snapshots. Stripe account setup now pins the tenant's payment account in Ivora's payment provider, which new bill payments use; sessions of this path keep settling on the ledger and account they started with.