Skip to main content

How Express works

Details

1. Customer selects the Express button

On the checkout page or the product page of a merchant's website or app, the customer selects the Express button.

Select Express

2. Create a payment request

When the Express button is pressed, initiate a payment.

Detailed example for payment request

Here is an example HTTP POST for the create payment request:

POST:/epayment/v1/payments

curl -X POST https://apitest.vipps.no/epayment/v1/payments \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR-ACCESS-TOKEN" \
-H "Ocp-Apim-Subscription-Key: YOUR-SUBSCRIPTION-KEY" \
-H "Merchant-Serial-Number: YOUR-MSN" \
-H "Idempotency-Key: YOUR-IDEMPOTENCY-KEY" \
-H "Vipps-System-Name: acme" \
-H "Vipps-System-Version: 3.1.2" \
-H "Vipps-System-Plugin-Name: acme-webshop" \
-H "Vipps-System-Plugin-Version: 4.5.6" \
-d '{
"amount": {
"currency": "NOK",
"value": 49900
},
"paymentMethod": {
"type": "WALLET"
},
"customer": {
"phoneNumber": "4712345678"
},
"shipping": {
"fixedOptions": [
{
"isDefault": false,
"priority": 0,
"type": "PICKUP_POINT",
"brand": "INSTABOX",
"options": [
{
"id": "instabox_2",
"isDefault": true,
"amount": {
"currency": "NOK",
"value": 0
},
"name": "Pickup Mortensrud Torg",
"priority": 2,
"meta": "",
"estimatedDelivery": "2-4 days"
}
]
},
{
"isDefault": false,
"priority": 1,
"type": "HOME_DELIVERY",
"brand": "HELTHJEM",
"options": [
{
"id": "helthjem_2",
"isDefault": true,
"amount": {
"currency": "NOK",
"value": 9900
},
"name": "Express home delivery",
"priority": 2,
"meta": "Delivered to your door",
"estimatedDelivery": "1-2 days"
}
]
}
]
},
"reference": "acme-shop-123-order123abc",
"receiptUrl":"https://example.com/link/to/my.pdf",
"returnUrl": "https://yourwebsite.com/redirect?reference=acme-shop-123-order123abc",
"userFlow": "WEB_REDIRECT",
"paymentDescription": "One pair of socks"
}'

3. Customer opens the Vipps/MobilePay app

When they select Express, the merchant initiates a payment with: POST:/epayment/v1/payments.

  • If the payment was started from a mobile device, the Vipps or MobilePay app will automatically open.
  • If the payment was started on a device where Vipps/MobilePay is not installed, the landing page will open. There, the customer enters their phone number and clicks Next to send the payment request to the app on their phone.

4. Customer agrees to share personal info

In the app, the customer will consent to sharing info with the merchant (first-time only).

share info

5. Select address and shipping options

The customer can update their address and select between delivery options.

Select shipping options

6. Customer confirms the payment in the app

The customer confirms the payment. The ePayment API automatically reserves the payment and provides a receipt of the successful payment.

Change shipping option

7. The merchant's shop confirms the order

After the customer has approved the payment in the app:

  • If the payment was started on a mobile device, the store page or app will open again and confirm that the order was successful.
  • If the payment was started on a desktop device, the user can go back to the webpage where it will confirm that the order was successful.

share info

8. The merchant completes the order and captures the payment

The merchant ships the order and then captures the order through the ePayment API. The payment is transferred to the merchant's account. This may take 2 or 3 days, depending on the bank.

Next steps

For technical details about Express, see the Express API guide.

Help us improve our documentation

Did you find what you were looking for?