> **Description:** Learn how to implement seamless payment solutions for EV charging stations using Vipps MobilePay, making charging easy and convenient for your customers.

# Electric vehicle charging

Customer scans a QR code at the charging station, approves payment in the Vipps MobilePay app, charges their vehicle, and pays only for the actual amount used.

Flow diagram: 6-step EV charging process. (1) Plug cable to turned-off car. (2) Scan QR code. (3) Reserve amount to start charging. (4) Stop charging on phone. (5) Unplug cable from car. (6) Receive receipt for charging in app.

1. **Customer scans QR code** - Customer scans the QR code to access the payment page on their phone.
1. **Initiate payment request** - Reserve an amount (e.g., 350-500 NOK) to cover the charging session.
1. **Customer approves payment** - Customer authorizes the reserved amount in their app.
1. **Start charging** - Charging begins once payment is approved.
1. **Capture payment** - Capture the actual amount used after charging completes.
1. **Cancel remaining amount** - Release the unused reserved amount.
1. **Add order details** - Send order details with the final amount paid.

Here is an example flow:

Five screenshots of the EV charging flow: (1) Charging station web page with QR scanner and payment options. (2) Reservation page showing a reserved amount with a "Pay with Vipps" button. (3) Charging in progress with a timer and a Stop charging button. (4) Push notification on lock screen indicating the charging amount. (5) App receipt showing the final amount paid.

View sequence diagram

Electric Vehicle charging flow

```mermaid
sequenceDiagram
    autonumber
    actor C as Customer
    participant M as Merchant
    participant QR as QR API
    participant ePayment as ePayment API
    participant Webhooks as Webhooks API
    participant ordermanagement as Order Management API

    C->>M: Customer scans QR to get to payment page
    M->>ePayment: Initiate payment request
    ePayment->>C: Request payment
    C->>C: Customer clicks pay
    Webhooks-->>M: Webhook with status of payment authorization
    M->>M: Determine amount due after charging
    M->>C: Send a push notification with actual amount paid
    M->>ePayment: Capture amount due
    M->>ePayment: Cancel payment (release remaining amount)
    M->>ordermanagement: Attach order details showing amount paid
```

  Customer scans QR code to get to the payment page.
  Merchant initiates a payment request via the ePayment API.
  ePayment API requests payment from the customer.
  Customer clicks pay.
  Webhooks API sends the merchant a webhook with the payment authorization status.
  Merchant determines the amount due after charging is complete.
  Merchant sends the customer a push notification with the actual amount charged.
  Merchant captures the amount due via the ePayment API.
  Merchant cancels the remaining reserved amount (releases it) via the ePayment API.
  Merchant attaches order details showing the amount paid via the Order Management API.

## Technical details

- [QR API guide](https://developer.vippsmobilepay.com/docs/APIs/qr-api/README.md)
- [ePayment API guide](https://developer.vippsmobilepay.com/docs/APIs/epayment-api/README.md)

> **Full site overview:** For every page in this documentation, read [https://developer.vippsmobilepay.com/llms.txt](https://developer.vippsmobilepay.com/llms.txt).
