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

# Payments

> Connect a payment provider, choose channels, set fees and VAT, and test a payment before going live.

Players pay through a payment provider you have your own contract with — ItemShop connects your shop to its gateway and fulfills the order automatically once the payment is confirmed. Money goes straight to your account with the provider; ItemShop does not handle payouts.

## Before you start

You sign the payment agreement directly with the provider. Check with them:

* whether they can sign a contract with you (identity verification, registered business, guardian consent),
* whether they accept game-server sales and your type of products,
* their fees, minimum amounts, reserves, chargebacks and payout schedule,
* whether your account has the channels you need (BLIK, card, bank transfer), currencies and a test mode (sandbox).

> [!NOTE]
>
> The shop checkout stays blocked until the shop has its required legal documents (terms, privacy policy). This page describes how the product works and is not legal or tax advice.

## Supported providers

| Provider | Notes |
| - | - |
| Stripe | cards and other methods active on your Stripe account |
| PayPal Business | REST integration only |
| imoje | |
| Przelewy24 | successor of Dotpay |
| ZEN, Paymentic, CashBill, PayByLink | |
| HotPay | several service types, each added as a separate provider |
| SimPay | |

The channels a buyer sees depend on the services active in your contract, not on the provider brand alone. ItemShop does not publish provider rates — confirm them in your contract.

## Connect a provider

**1. Choose a provider**

In the payments section, add a provider from the list. If you don't have an account with them yet, create one — you can't finish the setup without their credentials. The provider can't be changed later; to switch, add a new method.

**2. Name and currency**

Set a **display name** (e.g. "BLIK and transfers") and the **settlement currency** — the list only shows currencies the provider supports.

**3. Paste the keys**

Copy the required credentials from the provider's dashboard (e.g. shop ID, service key, secret key). The panel shows exactly the fields the selected provider needs.

**4. Paste the notification address**

If the provider requires it, copy the **notification address (webhook)** from the method settings and paste it into the provider's dashboard. That's how the shop learns about paid orders. Don't share it — it contains a secret.

**5. Enable channels**

After saving, choose which channels the buyer sees (e.g. BLIK, card) and set their order. Keep at least one enabled.

**6. Check the configuration and test**

**Check configuration** only confirms that all required fields are filled in — not that the provider accepted them. The real test is a payment in test mode (below).

> [!WARNING]
>
> Provider keys work like a password to your money. Never send them to anyone or paste them into support tickets.

## Several methods of the same provider

You can add the same provider more than once — e.g. two Stripe accounts, "Stripe A" and "Stripe B", which the buyer chooses between at checkout. Each method has its own keys, its own notification address and a **code that is unique within the shop**: the first method of a provider gets a code equal to the provider name (e.g. `stripe`), the next ones `stripe-2`, `stripe-3` and so on.

Products, checkout and per-method prices refer to a method by this **code**, not by its display name. Give methods clear display names so you and your buyers can tell them apart.

## Fees and VAT

| Setting | Meaning |
| - | - |
| Provider fee | percentage and/or fixed amount; some providers report it automatically for every transaction |
| Who pays the fee | you by default (deducted from revenue); you can add it to the buyer's price instead |
| Shop fee (%) | an extra percentage added on your side; `0` = none |
| Min. / max. amount | limits for a single payment with this method; empty = no limit |
| VAT | set for the whole shop: on/off, rate (23% by default), whether prices include VAT |

VAT is calculated on the price after discount, and the provider fee on the gross amount. Example for a price of 100 PLN, 23% VAT, prices including VAT (gross) and a 2% fee:

```text theme={null}
gross   100.00 PLN   (paid by the player)
VAT      18.70 PLN
fee       2.00 PLN
net      79.30 PLN   (your revenue)
```

If prices are entered without VAT, the same 100 PLN price means 123 PLN to pay for the player. You see the gross / VAT / fee / net breakdown in the order details, in the confirmation email (VAT only when enabled) and in Discord reports.

## Method options

| Option | Effect |
| - | - |
| Test mode | uses the provider's sandbox; the method is not shown in the public checkout |
| Disable payment gateway | temporarily hides the method without deleting it |
| Block promotions / promo codes | price reductions or discount codes don't work with this method |
| Currency conversion | lets the provider convert currencies |
| Log errors | problems with this method go to the error log (keep it on) |
| Add to all products | when adding: the new method is immediately available on all products at the standard price |

The order of methods in the list is the order the buyer sees at checkout — put the most popular one (usually BLIK) first.

## Test before going live

**1. Sandbox test**

Turn on test mode, buy a cheap test product and check that the order moves to **Paid** and the plugin fulfills it. A valid sandbox confirmation can trigger a real delivery — test on a separate product.

**2. Turn off test mode**

This is the most common launch mistake: with test mode on, the method is invisible at checkout.

**3. Small live purchase**

Make one real, low-value purchase to confirm the whole flow with the provider.

> **I added a provider, but players can't pay**
>
> Check in order: is the method enabled and is "Disable payment gateway" off, is test mode off, is at least one channel enabled, do the min./max. limits exclude the amount, and is the method allowed for that product. Error details are in the error log (described on the [Orders](https://andcze.mintlify.site/en/shop/orders.md) page).

> **The payment went through, but the order is still pending**
>
> Most often the notification address is missing from the provider's dashboard or was pasted incorrectly. Copy it again from the method settings.

## Next

> **[Orders](https://andcze.mintlify.site/en/shop/orders.md)**
>
> Statuses, manual actions and delivery.

> **[Products](https://andcze.mintlify.site/en/shop/products.md)**
>
> Prices for individual payment methods.


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