> **Description:** Set up and handle in-person payment flows for physical point of sale locations and face-to-face transactions.

# 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"` in the
create payment endpoint,
[`POST:/epayment/v1/payments`](https://developer.vippsmobilepay.com/redocusaurus/epayment-swagger-id.yaml).

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.

**TIP**

For a visual walkthrough of the customer's experience with in-store payments, see [How it works in the store](https://developer.vippsmobilepay.com/docs/APIs/epayment-api/how-it-works/in-store.md).

## 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.

1. Since you have the customer's phone number, send the [create payment](https://developer.vippsmobilepay.com/redocusaurus/epayment-swagger-id.yaml) 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*.

## Authorization

All ePayment API requests must include a valid Bearer token in the `Authorization` header.
See [Authorization](https://developer.vippsmobilepay.com/docs/APIs/epayment-api/api-guide/concepts.md#authorization) for how to obtain one.

## Example

Specify `"customerInteraction": "CUSTOMER_PRESENT"` in the [`POST:/epayment/v1/payments`](https://developer.vippsmobilepay.com/redocusaurus/epayment-swagger-id.yaml) request.

For example:

```bash
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": "20260514-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](https://developer.vippsmobilepay.com/docs/APIs/epayment-api/api-guide/features/pre-built-order-management-api-integration.md)
section.

## Related pages

* [How ePayment works in the store](https://developer.vippsmobilepay.com/docs/APIs/epayment-api/how-it-works/in-store.md)

> **Full site overview:** For every page in this documentation, read [https://developer.vippsmobilepay.com/llms.txt](https://developer.vippsmobilepay.com/llms.txt).
