Skip to main content
Unlisted page
This page is unlisted. Search engines will not index it, and only users having a direct link can access it.

Express

Changes coming soon!

The Express feature is coming soon! Just a heads-up that the spec and some of the logic might still see changes before the final release. Stay tuned for updates!

With the new Express feature, you can provide users with different shipping options, which they can then choose from within the Vipps or MobilePay app. The following is the planned flow:

  1. The user selects to pay with Vipps or MobilePay, and their chosen app opens.
  2. Through the app, they provide consent to share their address and personal information.
  3. You respond by displaying available shipping options within the app.
  4. The user selects the preferred shipping option and approves the payment in the app.

Screens during each stage of the flow

Creating a payment with shipping options

🔥 Under development

Express is initiated by specifying logistics in the Initiate payment request.

The logistics property contains one or more logistics options, or groups. Each group contains all the parameters needed for a shipping method. For example:

  • type: HOME_DELIVERY
  • brand: DHL
  • options: including express shipping, normal shipping, and alternatives with different delivery times and associated costs

Another group might contain:

  • type: IN_STORE
  • brand: MERCHANT
  • options: including all the different stores where the item could be picked up.

If more than one option exists in the group, the user will need to select the store, pick-up point, etc. The merchant-supplied ID of the logistics option will be returned in the API after the payment has been completed.

The following is an illustration of how fields of a logistics group can be mapped to fields in the app.

Logistics object mapped to express fields

Expected properties:

  • callbackUrl- Either a callbackUrl or groups will be given when creating a payment. If callbackUrl is used, we will send the address to you and expect the same groups + options in return.
  • type- Defines the type of logistics option: HOME_DELIVERY, MAILBOX, IN_STORE, PICK_UP_POINT.
  • brand - The vendor. Could be STORE, POSTEN, DHL, POSTNORD, POSTI, GLS, DAO. We'll add the logo based on the vendor in the apps.
  • estimatedDelivery - Optional text if you want to show to the user.

Merchant endpoints

You will need to set up one or two API endpoints to enable communication with us. These endpoints are used only during Express payments.

OperationDescriptionEndpoint
Get shipping detailsUsed to fetch shipping information, 10-second timeoutTo be determined
Remove user consentUsed to inform merchant when the Vipps user removes consent to share information.To be determined

Shipping and static shipping details

We will need you to create an API endpoint that let us get the shipping details from you, if they aren't provided in the Initiate payment request.

You'll need to provide this endpoint, and we'll use it only for Express payments, not for regular payments.

If the shipping methods and cost can be known in advance, it's better to provide these when you create the payment to avoid the extra round-trip between our backend and your server. This will speed up the user experience and reduce the risk of drop-offs and errors.

As part of the express flow, you will request access to the user's personal information. They must approve this in order to proceed.

The user can remove the consent later by using settings in their Vipps or MobilePay app.

Webhooks

There may be a new ePayment webhook event to provide you with the user's shipping details.

Help us improve our documentation

Did you find what you were looking for?