Skip to main content

Specify customer present

When using the ePayment API to process payments in a physical setting (e.g., from a Point of Sale device or in a restaurant), you must specify "customerInteraction": "CUSTOMER_PRESENT" create payment endpoint, POST:/epayment/v1/payments.

The CUSTOMER_PRESENT parameter is required for compliance and reporting reasons, as the risk is lower when the customer is physically present than when the customer is paying remotely over the net.

Scenario

Payment request sent directly to the app

If you have the customer's phone number and their consent to send payment requests through Vipps MobilePay, you can send payment requests directly to their app.

MobilePay payment setting URL

  1. Since you have the customer's phone number, send the create payment request where customer.phoneNumber is set.
  2. The customer will receive a push notification in their Vipps or MobilePay app.
  3. When the customer selects Show details in the payment confirmation screen, they are presented with the order information provided by the merchant without leaving the Vipps or MobilePay app.
  4. The customer approves, rejects, or postpones the payment.
  5. The user will be able to retrieve the order details in the app under Activities.

Example

Specify "customerInteraction": "CUSTOMER_PRESENT" in the POST:/epayment/v1/payments request.

For example:

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 '{
"customerInteraction": "CUSTOMER_PRESENT",
"amount": {
"currency": "EUR",
"value": 12900
},
"customer":{
"phoneNumber":3589123456
},
"paymentMethod": {
"type": "CARD"
},
"receipt":{
"orderLines": [
{
"name": "Service or product name",
"id": "line_item_1",
"totalAmount": 12900,
"totalAmountExcludingTax": 10320,
"totalTaxAmount": 2580,
"taxRate": 2500
}
],
"bottomLine": {
"currency": "EUR",
"receiptNumber": "20250514-00123"
}
},
"reference": "acme-shop-123-order123abc",
"userFlow": "WEB_REDIRECT",
"paymentDescription": "Consultation",
"returnUrl": "https://example.com/redirect?reference=acme-shop-123-order123abc"
}'

Note that you can specify orderlines or a receipt URL, as described in the Order details section.

Help us improve our documentation

Did you find what you were looking for?