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.
- Vipps
- MobilePay
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:
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).
- Vipps
- MobilePay
5. Select address and shipping options
The customer can update their address and select between delivery options.
- Vipps
- MobilePay
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.
- Vipps
- MobilePay
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.
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.