[UEI EV Charging] Document ON-FULFILLMENT payment type for postpaid metered sessions
- Dominant language
- No language data
- Stars
- 13
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
## 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
Contributor guide
No contributing guide indexed for this repository
Research direction
Locate the current UEI EV charging implementation guide and compare its documented PRE-ORDER flow with payment_misc.yaml and energy_EV_1.1.0_openapi_3.1.yaml, where ON-FULFILLMENT is already defined. Document the complete postpaid lifecycle described here, including LIVE-METER, SESSION-SUMMARY, payment parameters, cable-released, UPI collection, and OCPP unlock behavior; done means the guide and taxonomy cover each stated step and example.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation, payments
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100