Payment gateways
Payment integrations, currency limits, credentials and setup notes
These are the payment integrations registered in RKHM today. Currency codes below come from each gateway class, and are checkout allowlists, not a promise that a provider accepts every merchant or payment method in every country. Check provider onboarding, account limits and settlement currency before going live.
Enable and test a gateway
- Set the store currency, then install the relevant gateway plugin if the table below says one is required.
- In Admin → Business → Payment gateways, open the provider, enter its credentials, choose test or sandbox mode where available, and enable it. Configure its minimum, fee and approval settings there.
- Make one end-to-end test purchase. Confirm the buyer returns to the result page and that the payment changes from pending to paid only after provider verification. Keep the RKHM cron running for delayed checks.
- Switch the provider to live credentials and mode together, then make a small live purchase before advertising the payment option.
Built in — no extra plugin needed
| Gateway / guide | Configured currencies | Admin fields | How it works |
| Offline | Any | Transfer instructions; no processor credentials | Shows the bank or manual payment instructions you enter in Admin. Include an order reference and approve the payment after you receive it. The instruction text accepts %amount%. |
| Stripe | USD, EUR, AUD, CAD, GBP, PLN, RON, HUF | Publishable key, secret key, mode | Use matching test or live keys. Redirect checkout is created by the built-in Stripe integration. |
| PayPal | USD, EUR, AUD, CAD, GBP | Client ID, secret, mode | Create REST app credentials in the PayPal developer dashboard; use Sandbox mode before Live. |
Extra Gateways plugin (28 integrations)
| Gateway / provider link | Configured currencies | Admin fields | Setup note |
| Airwallex | USD, EUR, GBP, AUD, CAD, NZD, SGD, HKD, JPY, CNY, CHF, SEK, NOK, DKK | Client ID, API Key | Use a sandbox Client ID and API Key while testing; this integration creates a hosted payment link. |
| Cashfree | USD, GBP, EUR, AED, CAD | App ID, Secret Key | Turn on Development Mode for sandbox keys. Checkout uses Cashfree’s browser SDK after an order is created. |
| Chapa | ETB, USD | Public Key, Secret Key, Encryption Key | Keep Test mode and test keys together. Live keys become available after Chapa approves the merchant account. |
| CinetPay | XOF, XAF, CDF, GNF, USD | API Key, Site ID, Secret Key | The linked provider site is the account entry point. Copy API Key and Site ID from merchant Integrations; non-USD amounts must be multiples of five. |
| dLocal | BRL, MXN, COP, CLP, PEN, ARS, UYU, BOB, PYG, ZAR, EGP, KES, NGN, INR, IDR | X-Login, X-Trans-Key, Secret Key, country code | Set one two-letter payer country code per gateway instance. The currency list alone does not make every country available. |
| FawryPay | EGP only | Merchant Code, Secure Key | Egyptian-pound checkout; a cash payment can remain pending until the buyer completes it. |
| FedaPay | XOF | Public/Secret API key | Use its sandbox mode and keys for a full return-flow test before switching to live XOF payments. |
| Flutterwave | USD, EUR, NGN, GHS, GBP, KES, UGX, XAF, RWF, ZMW, EGP | Public/Secret/Encryption key | Enable the payment methods in Flutterwave’s dashboard; each method must support the checkout currency. |
| Instamojo | INR only; ₹9–₹200,000 | Client ID, client secret, environment | Creates a payment request and checks the linked payment attempt through Instamojo. Keep the normal cron running for delayed results. |
| KKiaPay | XOF (the class also lists CFA; see note) | Public, Private and Secret API keys | Use XOF for the store currency. The class also lists CFA, a non-ISO alias that will not match normal ISO currency settings. |
| MercadoPago | BRL, ARS, MXN, COP, CLP, PEN, UYU | Access Token | The Access Token is tied to a country account; available methods and currencies depend on that account. |
| Midtrans Snap | IDR only; whole rupiah | Server key, environment | Creates a Snap hosted checkout. A pending or fraud-challenged card payment is not credited until Midtrans reports an accepted final status. |
| Mollie | EUR, USD, GBP, CHF, DKK, NOK, SEK, PLN, CZK, HUF | API Key | The API key selects the environment: test_ for tests or live_ for real payments. |
| Moyasar | SAR, KWD, USD | Secret API Key | The integration creates a hosted invoice. Confirm your account has the intended payment methods enabled. |
| MPC (MoneyPoolsCash) | USD only | API Key, Merchant Email | USD only. The linked page is the provider site; obtain API access details from your MoneyPoolsCash account. |
| MyFatoorah | KWD, BHD, JOD, OMR, AED, SAR, QAR, EGP; one merchant country at a time | API key, merchant country, Webhook v2 secure key, environment | Set the merchant country to match the API key. Configure a signed PAYMENT_STATUS_CHANGED webhook before creating checkouts; RKHM verifies payment details before crediting. |
| Paddle | USD, EUR, GBP, CAD, AUD, NZD, JPY, CHF, SEK, NOK, DKK, PLN, CZK, HUF, SGD, HKD | API Key | Use a Paddle Billing API key with the matching Sandbox mode. Paddle is merchant of record for its checkout. |
| PagBank | BRL only | Access Token | BRL checkout only. Set Sandbox mode with a sandbox token until a full payment has been verified. |
| Paystack | NGN, USD, GHS, ZAR, KES | Public Key, Secret Key | Use test public/secret keys first, then switch both keys to live together. |
| PayTabs | SAR, AED, EGP, JOD, OMR, KWD, IQD, MAD, QAR, USD | Profile ID, Server Key, server region | Choose the PayTabs server region that matches your merchant profile before entering Profile ID and Server Key. |
| PayU India | INR only | Merchant key, merchant secret, fallback billing phone, optional short callback domain, environment | Hosted Checkout v2 needs a billing phone. RKHM uses a short callback route because PayU limits return URLs to 50 characters; set an HTTPS short domain serving the same RKHM API if needed. |
| Pesapal | USD, KES, UGX, TZS, ZMW | Consumer Key, Consumer Secret | Use sandbox consumer credentials for testing. The gateway is hidden if the store currency is not in its allowlist. |
| PhonePe | INR only | Client ID, client secret, client version, environment | Use sandbox credentials first. Hosted checkout returns to RKHM; the server verifies the PhonePe order status before crediting the payment. |
| Razorpay | USD, EUR, AUD, CAD, GBP | API ID, API Key | Match the Test mode switch to test keys; use live API ID and API Key only after verification. |
| Telr | AED, SAR, KWD, BHD, QAR, OMR, USD, EUR, GBP | Numeric store ID, authentication key, environment | Creates a hosted Telr session and checks the captured order status. Authorised but uncaptured payments remain pending. |
| Xendit | IDR, PHP | Secret API Key | Development and production secret keys select their respective environments. |
| YooMoney | USD, EUR, RUB, GBP | Shop ID, API Secret Key | This class uses the YooKassa API: enter the YooKassa Shop ID and API secret key. |
| ZarinPal | IRR only — your store's default currency must be set to IRR to use this gateway | Merchant ID | Set the store currency to IRR and enter the 36-character Merchant ID; sandbox mode accepts a test ID. |
These six hosted gateways use RKHM payment records and server-side provider checks. Keep the normal cron running: it retries pending payments every 15 minutes. Complete a merchant sandbox purchase for each gateway before switching it to live mode.
For PayU India, configure a fallback billing phone when users do not have a phone number. If the normal site domain makes the callback URL exceed PayU’s 50-character limit, configure an HTTPS short domain that serves the same RKHM API.
For MyFatoorah, create a signed Webhook v2 PAYMENT_STATUS_CHANGED subscription at https://YOUR-SITE/api/gateway_myfatoorah_webhook/ and enter its secure key in the gateway settings. RKHM requires that key before creating new MyFatoorah checkouts.
If a gateway does not appear at checkout, first check that its plugin and gateway are enabled and that the selected currency is in its row above. For Pesapal and ZarinPal, the store default currency is especially important.
Crypto plugins
| Gateway / provider link | Configured checkout currency | Admin fields | Setup note |
| PayGate.to | USD | Receiver wallet address | PayGate sends USDC on Polygon to the wallet you enter. Keep the payment cron running while it checks pending payments. |
| Coinbase Business | USD, EUR, AUD, CAD, GBP (Coinbase settles in USDC) | CDP API Key Name, CDP API Key Secret | In the Coinbase Developer Platform, create a Secret API Key with the ECDSA signature algorithm. Paste its name (organizations/…/apiKeys/…) and the private key shown once at creation, including the BEGIN/END EC PRIVATE KEY lines. Each checkout is a hosted Coinbase page; keep the payment cron running while it checks pending payments. |
| BusyOwl EVM | USD quote; buyer pays the native coin of a selected chain | Supported networks, receiver wallet, company name | Ethereum, Optimism, BNB Chain, Polygon, Base and Arbitrum; Sepolia is for testing. BusyOwl takes 3.5% plus network gas before forwarding the balance. Network basics. |
The NFT plugin also registers one chain gateway for each blockchain you configure. Its available networks and credentials come from that plugin’s chain settings.