Skip to main content

In-store customer club

If you want to combine customer club signup with payments see our in-store payments with customer club flow.

This flow is a great way to simplify the process of adding customers to the merchant loyalty club. It can also be used in other scenarios where you want to identify the customer using their phone number.

The solution is a combination of the personal QR codes in the Vipps or MobilePay app the Login API and the QR API.

The following describes the process at a high level.

Loyalty Flow


With a 2D QR code scanner, your customers to scan their own personal QR codes as part of the checkout process. Then, you don't need to ask for their phone number.


Step 1: Get the customer's Vipps/MobilePay ID

If you have a 2D QR code scanner, scan their Vipps/MobilePay personal QR. If you don't have a scanner, just ask them for the phone number.

Vipps scan

How it works

This can happen in two ways:

  • Customer-facing scanner - The store will have a permanent customer-facing scanner and customers can scan their personal Vipps/MobilePay QR code at any time.
  • Cashier scanner - The customer's personal QR code is scanned by the cashier using a wired scanner. This could happen while the cashier is scanning wares or immediately before the payment.

When you scan the customer's personal QR code, you can use it to get their phone number.

Please use the Personal QR exchange endpoint to get the phone number from the personal QR code.

For example:


curl -X POST \
-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" \
-d '{
"qrCode": "",

Example response:

"msisdn": "4712345678",
"timestamp": 1634025600,
"version": "2.0"

Step 2: Check membership

Check the customer's membership status in your internal system by using the phone number you received in the previous step.

Step 3: Request membership (only if they are not a member)

If the customer is not a member of the loyalty program, request to enroll them by using the Login API.

You already have their phone number, so just provide a button in your user interface to allow the cashier to initiate the login.

Pressing the button will trigger a Login flow to gather consent from the customer. The steps needed to get consent from the user are explained in detail there. The CIBA flow will send a push to the user, and once the user has finished the flow, it should be reflected in the POS.

When this login flow is completed, the customer will be enrolled in the loyalty program.

Vipps scan

See Log in with phone number for a detailed example.

Sequence diagram

Sequence diagram for in-store payment with customer club.

Next steps

Now, you can go to the API guide and start experimenting.

👉 Go to the Login API guide

Help us improve our documentation

Did you find what you were looking for?