Monetization

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

  1. Set the store currency, then install the relevant gateway plugin if the table below says one is required.
  2. 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.
  3. 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.
  4. Switch the provider to live credentials and mode together, then make a small live purchase before advertising the payment option.
Currency is important
At least on of the supported currencies by your chosen gateway MUST exist on your project as well. Make sure to add it in "Currencies" in your admin-area

Built in — no extra plugin needed

Gateway / guideConfigured currenciesAdmin fieldsHow it works
OfflineAnyTransfer instructions; no processor credentialsShows 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%.
StripeUSD, EUR, AUD, CAD, GBP, PLN, RON, HUFPublishable key, secret key, modeUse matching test or live keys. Redirect checkout is created by the built-in Stripe integration.
PayPalUSD, EUR, AUD, CAD, GBPClient ID, secret, modeCreate REST app credentials in the PayPal developer dashboard; use Sandbox mode before Live.

Extra Gateways plugin (28 integrations)

Gateway / provider linkConfigured currenciesAdmin fieldsSetup note
AirwallexUSD, EUR, GBP, AUD, CAD, NZD, SGD, HKD, JPY, CNY, CHF, SEK, NOK, DKKClient ID, API KeyUse a sandbox Client ID and API Key while testing; this integration creates a hosted payment link.
CashfreeUSD, GBP, EUR, AED, CADApp ID, Secret KeyTurn on Development Mode for sandbox keys. Checkout uses Cashfree’s browser SDK after an order is created.
ChapaETB, USDPublic Key, Secret Key, Encryption KeyKeep Test mode and test keys together. Live keys become available after Chapa approves the merchant account.
CinetPayXOF, XAF, CDF, GNF, USDAPI Key, Site ID, Secret KeyThe 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.
dLocalBRL, MXN, COP, CLP, PEN, ARS, UYU, BOB, PYG, ZAR, EGP, KES, NGN, INR, IDRX-Login, X-Trans-Key, Secret Key, country codeSet one two-letter payer country code per gateway instance. The currency list alone does not make every country available.
FawryPayEGP onlyMerchant Code, Secure KeyEgyptian-pound checkout; a cash payment can remain pending until the buyer completes it.
FedaPayXOFPublic/Secret API keyUse its sandbox mode and keys for a full return-flow test before switching to live XOF payments.
FlutterwaveUSD, EUR, NGN, GHS, GBP, KES, UGX, XAF, RWF, ZMW, EGPPublic/Secret/Encryption keyEnable the payment methods in Flutterwave’s dashboard; each method must support the checkout currency.
InstamojoINR only; ₹9–₹200,000Client ID, client secret, environmentCreates a payment request and checks the linked payment attempt through Instamojo. Keep the normal cron running for delayed results.
KKiaPayXOF (the class also lists CFA; see note)Public, Private and Secret API keysUse XOF for the store currency. The class also lists CFA, a non-ISO alias that will not match normal ISO currency settings.
MercadoPagoBRL, ARS, MXN, COP, CLP, PEN, UYUAccess TokenThe Access Token is tied to a country account; available methods and currencies depend on that account.
Midtrans SnapIDR only; whole rupiahServer key, environmentCreates a Snap hosted checkout. A pending or fraud-challenged card payment is not credited until Midtrans reports an accepted final status.
MollieEUR, USD, GBP, CHF, DKK, NOK, SEK, PLN, CZK, HUFAPI KeyThe API key selects the environment: test_ for tests or live_ for real payments.
MoyasarSAR, KWD, USDSecret API KeyThe integration creates a hosted invoice. Confirm your account has the intended payment methods enabled.
MPC (MoneyPoolsCash)USD onlyAPI Key, Merchant EmailUSD only. The linked page is the provider site; obtain API access details from your MoneyPoolsCash account.
MyFatoorahKWD, BHD, JOD, OMR, AED, SAR, QAR, EGP; one merchant country at a timeAPI key, merchant country, Webhook v2 secure key, environmentSet the merchant country to match the API key. Configure a signed PAYMENT_STATUS_CHANGED webhook before creating checkouts; RKHM verifies payment details before crediting.
PaddleUSD, EUR, GBP, CAD, AUD, NZD, JPY, CHF, SEK, NOK, DKK, PLN, CZK, HUF, SGD, HKDAPI KeyUse a Paddle Billing API key with the matching Sandbox mode. Paddle is merchant of record for its checkout.
PagBankBRL onlyAccess TokenBRL checkout only. Set Sandbox mode with a sandbox token until a full payment has been verified.
PaystackNGN, USD, GHS, ZAR, KESPublic Key, Secret KeyUse test public/secret keys first, then switch both keys to live together.
PayTabsSAR, AED, EGP, JOD, OMR, KWD, IQD, MAD, QAR, USDProfile ID, Server Key, server regionChoose the PayTabs server region that matches your merchant profile before entering Profile ID and Server Key.
PayU IndiaINR onlyMerchant key, merchant secret, fallback billing phone, optional short callback domain, environmentHosted 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.
PesapalUSD, KES, UGX, TZS, ZMWConsumer Key, Consumer SecretUse sandbox consumer credentials for testing. The gateway is hidden if the store currency is not in its allowlist.
PhonePeINR onlyClient ID, client secret, client version, environmentUse sandbox credentials first. Hosted checkout returns to RKHM; the server verifies the PhonePe order status before crediting the payment.
RazorpayUSD, EUR, AUD, CAD, GBPAPI ID, API KeyMatch the Test mode switch to test keys; use live API ID and API Key only after verification.
TelrAED, SAR, KWD, BHD, QAR, OMR, USD, EUR, GBPNumeric store ID, authentication key, environmentCreates a hosted Telr session and checks the captured order status. Authorised but uncaptured payments remain pending.
XenditIDR, PHPSecret API KeyDevelopment and production secret keys select their respective environments.
YooMoneyUSD, EUR, RUB, GBPShop ID, API Secret KeyThis class uses the YooKassa API: enter the YooKassa Shop ID and API secret key.
ZarinPalIRR only — your store's default currency must be set to IRR to use this gatewayMerchant IDSet 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

Coinbase moved to Coinbase Business
Coinbase closed Coinbase Commerce on 31 March 2026. The Crypto Gateway plugin's Coinbase integration now uses Coinbase Business's Checkout API, so it needs a Coinbase Developer Platform (CDP) Secret API Key instead of the old Commerce API key. Coinbase Business is currently available to businesses in the United States and Singapore.
Gateway / provider linkConfigured checkout currencyAdmin fieldsSetup note
PayGate.toUSDReceiver wallet addressPayGate sends USDC on Polygon to the wallet you enter. Keep the payment cron running while it checks pending payments.
Coinbase BusinessUSD, EUR, AUD, CAD, GBP (Coinbase settles in USDC)CDP API Key Name, CDP API Key SecretIn 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 EVMUSD quote; buyer pays the native coin of a selected chainSupported networks, receiver wallet, company nameEthereum, 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.