Payment Systems
MonoChat offers a comprehensive solution for businesses to manage their payment systems and accepted currencies. This feature allows businesses to integrate with popular payment service providers and configure accepted currencies for transactions, so customers can pay you through the payment links and apps you use in MonoChat.
Setting Up a Payment System
- Go to Settings › Payment › Payment Systems.

- Click Create to see the list of available payment systems and select one.
- Fill in a Title (for your own reference) and the credentials the provider gives you. See the table below.
- Click Create to save the payment system.
Available payment systems
The list shows the providers available on your MonoChat installation. These can include:
| Payment system | What you need |
|---|---|
| Stripe | Your Stripe secret key (sk_live_… for real payments, sk_test_… for testing). |
| Vakıfbank Virtual POS (Vakıfbank Sanal POS) | Merchant number (HostMerchantId), Terminal ID (HostTerminalId), merchant API password, transaction type, whether to use 3D Secure, whether to allow cards not enrolled in 3D, and how long a payment token stays valid (in hours). |
| UniqoPay | API Token. |
| Iyzico | API Key and Secret Key. |
| JCCPay | Username, password and the 3D security method. |
| Ngenius | API Key and Outlet Reference. |
| Myfatoorah | API Token. |
| Paywall | API Client Public, API Key Public, API Client Private, API Key Private, 3D Hash Key, Checkout Hash Key and whether 3D security is off. |
| İş yerim Pos | API Key, Merchant ID, User ID and whether 3D security is off. |
| Xendit | Your Xendit secret API key and the callback verification token (from the webhook settings in your Xendit dashboard). Payments are accepted in IDR, USD, THB, VND, PHP and MYR. |
| Midtrans | Your Midtrans Server Key and the Sandbox mode switch (turn it on to test with Midtrans sandbox credentials). Payments are accepted in IDR only. |
| PayPal | Your PayPal Client ID, Client secret and Webhook ID, and the Sandbox mode switch. In the PayPal developer dashboard, create a webhook for the PAYMENT.CAPTURE.COMPLETED event that points to /api/payment-system/paypal/webhook on your MonoChat address, then paste its ID here. Payments are accepted in AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, MXN, MYR, NOK, NZD, PHP, PLN, SEK, SGD, THB, TWD, USD. |
| Tabby | Secret key, Merchant code and Region (UAE, Saudi Arabia). Payments are accepted in AED and SAR. Tabby needs the customer's phone number. |
| Tamara | API token, Notification token and Country (UAE, Saudi Arabia, Bahrain, Kuwait, Oman). Payments are accepted in SAR, AED, BHD, KWD and OMR. |
| Telr | Store ID, Auth key and Test mode. |
| PayTabs | Profile ID, Server key and Region (United Arab Emirates, Saudi Arabia, Egypt). |
| Ziina | Access token. |
| Tap | Secret key. |
| Mamo | API key and Webhook Authorization header (the value Mamo sends in the Authorization header of its webhooks). MonoChat does not show the webhook address Mamo needs yet, so Mamo payments are not confirmed in MonoChat automatically. |
| HyperPay | Access token and Entity ID. |
| Paymob | Secret key, Public key, HMAC secret, Integration ID and Region (Egypt, UAE, Saudi Arabia, Oman). Payments are accepted in EGP, AED and SAR. |
| Checkout.com | Your Checkout.com secret key, processing channel ID, base URL prefix and webhook signature key, a default billing country and the Sandbox mode switch. The prefix is the first 8 characters of your client ID without cli_ (Checkout.com Dashboard, Settings › Account structure). In the Checkout.com Dashboard, add a webhook for the payment_captured event that points to /api/payment-system/checkoutcom/webhook on your MonoChat address, generate its signature key and paste it here. Customers pay on the Checkout.com Hosted Payments Page, which Checkout.com has to enable on your account; MonoChat marks the order paid only after Checkout.com confirms the captured payment. |
Use test credentials first (for example a Stripe sk_test_… key), make a test payment, then replace them with live credentials.
Managing Multiple Payment Systems
You can add several payment systems, for example one per currency or one per provider.
- Set As Default makes a payment system the one used when nothing else is specified.
- Copy ID copies the payment system's ID, for use in flows, custom functions or app settings that ask for it.
- For Stripe, the list also shows the account's client ID next to the provider name.
Choose which currencies you accept in Currency Settings.
These payment systems are for collecting payments from your customers. Paying for your own MonoChat plan is done from Settings › Billing: see Managing Account Balances.