Skip to content

[UEI EV Charging] Document ON-FULFILLMENT payment type for postpaid metered sessions #307

@nitinsgawande

Description

@nitinsgawande

Problem

The current UEI EV charging implementation guide only documents the PRE-ORDER
payment flow, requiring drivers to pay upfront before the session starts. This
creates friction for new users and locks funds in CPO wallets before any energy
is delivered.

Note: ON-FULFILLMENT is already a valid enum value in the layer2 spec
(payment_misc.yaml, energy_EV_1.1.0_openapi_3.1.yaml) — it has simply
never been documented with usage examples in the implementation guide.

Proposed Change

Add implementation guide documentation for ON-FULFILLMENT payment type,
enabling postpaid metered charging:

  • Session starts without upfront payment (status: NOT-PAID, amount: "0")
  • Real-time cost updates via on_status with a new LIVE-METER tag group
    (energy-delivered, cost-so-far, rate)
  • BPP sends UPI collect to driver's VPA after TransactionEvent(Ended)
  • Cable remains physically locked until UPI collect is approved
  • Final on_update carries SESSION-SUMMARY tag (verified kWh + cost) and
    transitions payment to PAID and fulfillment state to cable-released via
    OCPP UnlockConnector

Use Case

India's DC fast chargers (CCS2 / CHAdeMO) have cable-lock hardware that
prevents drive-offs before payment. The meter-then-pay model is already
familiar to Indian users (auto-rickshaws, Uber). This extends the same
pattern to EV charging without requiring wallet pre-loading or CPO registration.

Enforcement Mechanism

Cable lock (DC chargers): connector is physically locked by the charger until
the BPP sends OCPP UnlockConnector — issued only after receiving UPI
collect confirmation.

I plan to submit a PR with:

  • A complete ON-FULFILLMENT postpaid flow covering the full session lifecycle:
    confirm → session start → live metering → session end → UPI collect → cable release
  • A new LIVE-METER tag structure for real-time kWh and running cost
    updates pushed to the BAP during an active charging session
  • A new SESSION-SUMMARY tag structure carrying verified final energy
    and cost figures sent at session end, before payment is collected
  • A cable-released fulfillment state that signals successful UPI
    collection and OCPP connector unlock — completing the postpaid lifecycle
  • Taxonomy entries for all new tag codes, fulfillment states, and
    payment params (virtual_payment_address, transaction_id) introduced
    by this flow

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions