Connecting Stripe
Accept online payments via Stripe: cards, Apple Pay, Google Pay.
1. Overview#
Stripe is a global payment platform. In the Meni registry Stripe is offered for connection in 46 countries. The Meni + Stripe integration allows you to:
- 💳 Accept payments by card (Visa, Mastercard, AmEx)
- 📱 Apple Pay / Google Pay — one-tap payments
- 💰 Receive payouts to your bank account
- 🔄 Process refunds from the admin panel
- 💵 Tips — the guest adds a tip during checkout
- 📊 Reports — full financial analytics
2. Requirements#
- ✅ Meni account (plan Basic and above)
- ✅ Stripe account (free signup at stripe.com)
- ✅ Bank account for payouts (in your country's currency)
- ✅ Verification documents (passport / ID, company documents)
Supported countries#
Stripe is offered for connection in 46 countries:
| Region | Countries |
|---|---|
| Europe (EEA) | Austria, Belgium, Bulgaria, Croatia, Cyprus, Czechia, Denmark, Estonia, Finland, France, Germany, Greece, Hungary, Ireland, Italy, Latvia, Liechtenstein, Lithuania, Luxembourg, Malta, Netherlands, Norway, Poland, Portugal, Romania, Slovakia, Slovenia, Spain, Sweden |
| Europe (non-EEA) | United Kingdom, Switzerland, Gibraltar |
| Americas | USA, Canada, Mexico, Brazil |
| Asia | Japan, Singapore, Hong Kong, Malaysia, Thailand, India, Indonesia |
| Middle East | UAE |
| Oceania | Australia, New Zealand |
3. Creating a Stripe account#
Step 1. Sign up#
- Go to stripe.com → Start now
- Enter your email and create a password
- Confirm your email
Step 2. Business verification#
Stripe will request:
| Document | Description |
|---|---|
| Business type | Sole proprietor, LLC, individual |
| Name | Legal name and trading name |
| Address | Company legal address |
| TIN / Tax ID | Tax identifier |
| Director's document | Passport or ID card |
| Bank details | IBAN or account number |
| Business description | "Restaurant / cafe / food delivery" |
Verification usually takes 1–3 business days.
Step 3. Get API keys#
- In the Stripe dashboard: Developers → API keys
- Copy:
- Publishable key (pk_live_...)
- Secret key (sk_live_...)
4. Connecting to Meni#
You connect your own Stripe account: the guest's money goes straight to your Stripe balance, Meni never holds it.
Open App Store → “Finance” category → Stripe card → “Configure” — the connection block opens as a modal right in the store. The familiar path also works: Locations → location card → “Payments” tab (the “Guest payment” section), then “Connect” on the Stripe card.
Connection wizard (recommended)#
A step-by-step wizard (≈10 minutes) walks you through the whole process, showing where to click in the Stripe dashboard:
- Choose the mode — test or live. The mode in Stripe and the “Test / Live” toggle in Meni must match.
- Copy your API keys — Developers → API keys: the Secret key (
sk_test_…/sk_live_…) is required, the Publishable key (pk_…) is optional. - Add a webhook endpoint — Developers → Webhooks → Add endpoint, and paste the Meni webhook URL that the wizard offers with a “Copy” button into the Endpoint URL field. Without a webhook Stripe won't tell Meni that the order was paid, and the order may stay “pending”.
- Select the events to send — under “Select events” add
checkout.session.completed(required — this is what confirms a paid order), and for delayed payment methods alsocheckout.session.async_payment_succeededandcheckout.session.async_payment_failed. Then click “Add endpoint”. Without these events the webhook exists but reports nothing. - Copy the Webhook signing secret (
whsec_…) — an optional field, but it enables signature verification of the notifications. - Connect — the entered values go to the secure backend.
Short form#
If you already know your way around Stripe, open the inline connection form and fill in the same fields: Secret key, Webhook signing secret (optional), Publishable key (optional), plus the mode toggle.
5. Setting up payment methods#
Bank cards#
Enabled automatically when Stripe is connected:
- Visa / Mastercard — all countries
- American Express — most countries
- Diners Club / Discover — selectively
Apple Pay#
- Settings → Payments → Apple Pay → Enable
- Add and verify your domain in the Stripe Dashboard:
- Settings → Apple Pay → Add new domain
- Upload the verification file
- Apple Pay will appear as an option on iOS/Safari
Google Pay#
Enabled automatically when Stripe is connected. Works on Android and in Chrome.
Other methods#
Via Stripe you can enable:
| Method | Countries | Description |
|---|---|---|
| iDEAL | Netherlands | Bank transfer |
| Bancontact | Belgium | Bank transfer |
| SEPA Direct Debit | EU | Bank account debit |
| Przelewy24 | Poland | Online payments |
| giropay | Germany | Bank transfer |
| EPS | Austria | Bank transfer |
| Boleto | Brazil | Payment voucher |
Enable the required methods in Stripe Dashboard → Settings → Payment methods.
6. Tips#
Setup#
- Settings → Payments → Tips
- Options:
| Parameter | Description |
|---|---|
| Suggested amounts | Presets are filled in by the venue's country: 18/20/25 % for the USA, 15/18/20 % for Canada, 10/15/20 % for Georgia; in Japan, China and Korea the tip block is hidden |
| Custom amount | Guest enters their own amount |
| Default tip | None (guest chooses) |
| Distribution | To waiter / shared pool / proportional |
What the guest sees#
At checkout after selecting items:
Your order: 45₾
Add a tip?
[ 10% (4.50₾) ] [ 15% (6.75₾) ] [ 20% (9.00₾) ] [ Other amount ]
[ No tip ]
TOTAL: 49.50₾ [Pay →]
Tip reports#
Analytics → Tips:
- Total tips for the period
- Average tip %
- Tips by employee
- Trend (up/down)
7. Payouts to your account#
How Stripe pays out funds#
Guest pays → Stripe holds → After T+2 days → Funds in your account
| Parameter | Value |
|---|---|
| Standard payout | T+2 (in 2 business days) |
| Accelerated payout | T+1 (available in some countries) |
| Instant payout | Instant Payouts (within an hour, for an additional fee) |
| Minimum payout | 1€ / 1$ / 1₾ |
Schedule setup#
In Stripe Dashboard → Settings → Payouts:
- Daily (recommended)
- Weekly (specific day of the week)
- Monthly
8. Stripe fees#
| Region | Fee | Example |
|---|---|---|
| Europe (EEA) | 1.5% + 0.25€ | Order 50€ → fee 1.00€ |
| United Kingdom | 1.5% + 0.20£ | Order £50 → fee £0.95 |
| USA/Canada | 2.9% + $0.30 | Order $50 → fee $1.75 |
| International cards | +1.5% | Extra for cards issued in another country |
| Currency conversion | +1% | If card currency ≠ account currency |
9. Refunds#
Full refund#
- Orders → select an order → Refund → Full
- Funds are returned to the guest's card within 5–10 business days
- Stripe returns the fee (in most cases)
Partial refund#
- Orders → order → Refund → Partial
- Enter the amount or select items
- The guest receives a partial refund
Automatic refunds#
Configure rules in Settings → Payments → Refunds:
- Cancel before cooking starts → automatic full refund
- Cancel after cooking starts → requires manager approval
10. Security#
PCI DSS#
- Meni does not store card data — everything is processed by Stripe
- Stripe is certified as PCI Level 1 (highest level)
- Card data is encrypted and tokenized
3D Secure#
- Automatic 3D Secure checks for EU cards (SCA/PSD2)
- Reduces fraud and chargebacks
- For the guest: confirmation in the bank app
Radar (fraud protection)#
Stripe Radar automatically blocks suspicious transactions:
- Unusual purchase patterns
- Cards from blacklists
- Geolocation anomalies
11. Testing#
Before enabling in production, test:
Stripe test cards#
| Card number | Result |
|---|---|
| 4242 4242 4242 4242 | Successful payment |
| 4000 0000 0000 3220 | 3D Secure |
| 4000 0000 0000 9995 | Declined (insufficient funds) |
| 4000 0000 0000 0069 | Card expired |
CVV: any 3 digits. Date: any future date. ZIP: any.
How to test#
- Settings → Payments → Mode: Test
- Use test keys (pk_test_..., sk_test_...)
- Create a test order → pay with a test card
- Check: receipt, order status, analytics
- Switch to Mode: Live when everything works
12. Alternative providers#
For countries without Stripe or as an add-on:
| Provider | Countries | Description |
|---|---|---|
| BOG iPay | 🇬🇪 Georgia | Bank of Georgia, popular in Georgia |
| TBC Pay | 🇬🇪 Georgia | TBC Bank |
| İyzico | 🇹🇷 Turkey | Local payment provider |
| PayTR | 🇹🇷 Turkey | Alternative to İyzico |
| Adyen | EU, global | Enterprise solution |
| Square | US, UK, EU | POS + online |
Connecting any provider: App Store → “Finance” category → the provider's card → “Configure”, or via the familiar path Locations → location card → “Payments” tab.
13. FAQ#
When will I receive the money?#
In 2 business days after payment (T+2). The first payout may take 7–14 days (while Stripe verifies the account).
A guest wants to pay cash — what should I do?#
Meni supports mixed payments. Mark the order as "Cash payment" — a fiscal receipt will be generated, but Stripe won't be involved.
Can I connect both Stripe and BOG iPay?#
Yes. In payment settings you can enable multiple providers. The guest chooses the convenient one at checkout.
Stripe blocked the account — what should I do?#
- Check your email — Stripe sends the reason
- Usually additional verification is required
- Contact Stripe Support: support.stripe.com
- While blocked, you can use an alternative provider
How can I minimize fees?#
- Encourage payments with EU cards (1.5% instead of 2.9%)
- Use SEPA for large amounts (fixed 0.35€)
- With high volume (>100K€/month) — request a custom rate from Stripe
14. Support#
- Stripe: support.stripe.com
- Meni: support@meni.ge → subject "Stripe / Payments"
- Stripe Status: status.stripe.com (service status check)