> ## Documentation Index
> Fetch the complete documentation index at: https://vexioncards.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Papaya: connecting & setup

> Connect VEXiON cards to your Papaya POS with the 3-step setup wizard.

Connecting Papaya is a **3-step wizard**: enter your API token, configure the webhooks in Papaya, then choose your card settings. You do this **per location**.

> [!NOTE]
>
> You need your **Papaya URL** and an **API token** generated in the Papaya admin. Generate it in Papaya under **Administrácia → API (beta) → Nový token +**.

## Where to find the settings

1. Sign in to the VEXiON admin.
2. Open **Settings** in the sidebar.
3. Select **Integrations**.
4. Expand **Papaya**.

## Step 1: API token

**1. Name the location**

Enter a **Location Name** (for example "Main Location").

**2. Enter your Papaya URL**

Enter your **Papaya URL**. Use the address Papaya sent you, for example `https://api.papayapos.sk/external/<your id>` or `https://5.ppy.sk/youraccount`. You can also paste the address of your Papaya admin page.

**3. Enter the API token**

Paste the **API token** you generated in Papaya. You can click **Test** to check the connection. The test is optional, because VEXiON also checks the connection when it saves the location.

**4. Next**

Click **Next**. VEXiON saves the Papaya location and links it to a VEXiON location. If you have an unused VEXiON location, you can pick it. If you have none, VEXiON creates a new one without asking and shows "1 location created". A VEXiON location it creates counts toward your per-location price, unless it fits in your already paid slots or a free slot granted to your account. VEXiON shows no price before it does this. If your Papaya account has several tills, the mapping dialog opens instead. See [Mapping locations to VEXiON](#mapping-locations-to-vexion).

> [!NOTE]
>
> **Two places ask for the same three fields.** The steps above are the
> first-time connection wizard, which has a **Test** button. Once the
> integration is connected you add further locations from **Manage Locations**,
> where the same Location Name, Papaya URL and API Token sit above an **Add
> Location** button instead. The screenshot below shows that second form.

![The Add Location form with empty Location Name, Papaya URL and API Token fields above the Add Location button.](https://mintcdn.com/vexioncards/S5DRd0oi_sovh7Lo/images/papaya-setup-token.png?fit=max\&auto=format\&n=S5DRd0oi_sovh7Lo\&q=85\&s=631e3a903f1764b14618862c6a2d1f64)

The same three fields as step 1, here in the Add Location form used once you are connected

## Step 2: webhooks

VEXiON shows two webhook URLs and a token that you paste into **Papaya** so it can call VEXiON. In Papaya, go to **Administrácia → Nastavenia → Vernostný program** and:

**1. Switch TYPE to LOYALTY**

Set the loyalty **TYPE** to **LOYALTY** (Loyalty Program).

**2. Paste URL 1**

Copy **URL 1** from VEXiON (Reading discount, used when a card is scanned before the bill closes) into Papaya.

**3. Paste URL 2**

Copy **URL 2** (Recording transaction, used after the bill closes) into Papaya.

**4. Generate and paste the token**

In VEXiON click **Generate Token**, copy it (it is shown only once), and paste it into Papaya.

**5. Confirm**

Back in VEXiON, click **I've copied the token** under the token. Then click **Continue to Card Settings** and confirm you have added all four items. The button stays inactive until you generate the token and confirm the copy.

> [!WARNING]
>
> The webhook **token is shown only once**. Copy it into Papaya straight away. If you lose it, click **Regenerate** and paste the new one.

![The Webhook Configuration panel showing URL 1 for reading discounts when a card is scanned, URL 2 for recording completed transactions, and a fully masked token beside a Regenerate button.](https://mintcdn.com/vexioncards/S5DRd0oi_sovh7Lo/images/papaya-setup-webhooks.png?fit=max\&auto=format\&n=S5DRd0oi_sovh7Lo\&q=85\&s=fa160fe9ecb9b7f4f2ffaf3433dc0f8a)

Step 2: the webhook configuration to paste into Papaya

## Step 3: card settings

Choose which card types to run. A note reminds you which are on.

| Setting | Default | What it does |
| - | :-: | - |
| Enable Discount Cards | ✅ On | Automatic percentage discounts by tier |
| Enable Gift Cards | ❌ Off | Prepaid credit, sold and spent at the till. See [Gift cards](https://vexioncards.mintlify.site/knowledge-base/papaya-gift-cards.md) |
| Enable Point Cards | ❌ Off | Collecting stamps or points |

When **Enable Point Cards** is on, you choose the **Point card type**:

* **Stamp cards**: whole-number stamps.
* **Reward Cards**: points that convert to a euro cashback (set the **Value of 1 Loyalty Point**).

> [!NOTE]
>
> **It is one or the other, not both.** A location runs stamp cards or reward cards. Switching from one to the other stops the old type working at the till straight away, so change it only when you mean to move the whole programme across.

> [!NOTE]
>
> **Switching to stamp cards rounds your product values.** Reward cards allow decimals, stamps do not, so VEXiON asks you to confirm and then rounds every product's earn and redeem value to a whole number in one pass. The confirmation says so before anything is written.

For each, you also choose a **Redemption mode** (Automatic or Manual). This is covered in detail in [Card types and point setup](https://vexioncards.mintlify.site/knowledge-base/papaya-card-types.md).

Click **Save Settings** to finish. The integration is now active.

![The Integration Settings panel with Enable Discount Cards ticked, Enable Gift Cards ticked as an ordinary setting with the Gift Card Settings block open beneath it, and Enable Point Cards ticked above the Point card type options, which show Reward Cards selected with Redemption mode Manual and Redeem set to Exact amount.](https://mintcdn.com/vexioncards/KvU4ozcQ5mBP5WUd/images/papaya-setup-cards.png?fit=max\&auto=format\&n=KvU4ozcQ5mBP5WUd\&q=85\&s=746229f404792c2df63141df05bad19d)

Step 3: card settings

## What you see after connecting

Once set up, the Papaya panel shows:

* **Integration Settings**: the card-type toggles you just chose (edit them any time).
* **Location dropdown**: shows the location you are working on with its product count, next to a **Manage Locations** button.
* **Webhook Configuration**: the URLs and token to (re)configure in Papaya.
* **Customer Synchronization**: how many customers are synced, with a **Sync All Customers Now** button.
* **Sync Menus**: pull your products in (see [Menu and products](https://vexioncards.mintlify.site/knowledge-base/papaya-menu.md)).

## Customer synchronization

VEXiON registers your customers in Papaya so their cards are recognised at the till. Customers without an email or phone number, and customers whose card type is switched off, are not synced. The **Customer Synchronization** panel shows how many are synced (for example "685 / 735") and a **Sync All Customers Now** button to push them all at once.

> [!NOTE]
>
> Papaya keeps a **separate customer list per location**, so customers are synced to **each** connected location. Run **Sync All Customers Now** after your first connection, after adding a location, or after a bulk customer import.

## Managing locations

Click **Manage Locations** to see every connected location, each with its **URL**, **product count**, and last-synced time, plus **edit** and **delete** controls. The same dialog has an **Add Location** form (Location Name, Papaya URL, API Token) to connect another.

Papaya connects **one location at a time**, each with its own API token and webhook token. To add another, use **Manage Locations** (or **+ Add another location** during setup) and repeat the steps with that location's URL and token.

![The Manage Locations dialog showing Main Location with its Papaya URL and product count, above the Add Location form with Location Name, Papaya URL and API Token fields.](https://mintcdn.com/vexioncards/S5DRd0oi_sovh7Lo/images/papaya-manage-locations.png?fit=max\&auto=format\&n=S5DRd0oi_sovh7Lo\&q=85\&s=4ed2dbeb4b875024305bc891351b2034)

Managing connected locations

> [!NOTE]
>
> Each VEXiON location you map a Papaya till to counts as a billing unit on the graduated [per-location pricing](https://vexioncards.mintlify.site/knowledge-base/billing-locations.md). See [Mapping locations to VEXiON](#mapping-locations-to-vexion) below.

## Mapping locations to VEXiON

There are **two separate lists of locations**, and a mapping joins them:

* **Papaya locations** are the Papaya accounts you connected, each with its own
  URL and API token. You manage them in **Manage Locations** inside the Papaya
  panel, described above.
* **VEXiON locations** are your stores in VEXiON, under
  **Settings → Locations**. A VEXiON location carries the card design, the
  wallet geofence, and the per-location billing.

At the top of **Settings → Integrations**, the **Location Mapping** card joins
the two. Its own description says it best:

> Map POS branches to VEXiON locations for per-location analytics and billing.

It lists one row per connected POS system with a count, for example
**Papaya: 1/1 mapped**, and shows an **All POS locations mapped** badge once
nothing is left unmapped. **Manage all mappings** opens the editor.

> [!NOTE]
>
> Keep this at 1/1 (or n/n). Per-location analytics and the graduated
> [per-location price](https://vexioncards.mintlify.site/knowledge-base/billing-locations.md) both read the mapping,
> so an unmapped POS branch is a branch whose sales are not attributed to one of
> your stores.

## Disconnecting

To disconnect a location, open **Manage Locations**, click the trash icon next to it, and confirm **Remove location and all its synced products?**. The synced product list and its loyalty settings for that location are deleted, so export them first if you need them (see [Menu and products](https://vexioncards.mintlify.site/knowledge-base/papaya-menu.md)). The link between that Papaya location and its VEXiON location is removed. The VEXiON location itself stays, and so does your bill. To stop paying for it, remove the location in Settings → Locations. Customers and their cards are not deleted.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.