Below is a practical guide to payment gateway integration in Malaysia — what to offer, which providers to consider, key technical / compliance points, and a high‑level integration checklist you can follow.
- Common Malaysian payment methods you should support
- FPX (bank-online transfer / bank redirect) — widely used for one‑time MYR payments and supported by many gateways. (fpxexchange.paynet.my)
- DuitNow / DuitNow QR (instant bank transfers and QR payments) — increasingly popular for QR and real‑time transfers (often offered through banks, DuitNow participants and some gateways). (See provider docs for availability.) (fpxexchange.paynet.my)
- Local e‑wallets (Boost, Touch ’n Go eWallet, GrabPay, ShopeePay) — high adoption for consumer transactions; many gateways bundle them. (ecommerce-pro.my)
- Card payments (Visa/Mastercard/AMEX/UnionPay) and PayPal — still important for international/credit‑card buyers. (ecommerce-pro.my)
- Popular payment gateway providers in Malaysia (short list with notes)
- iPay88 — very common local PSP that supports cards, FPX, many banks and e‑wallets; lots of e‑commerce plugins and WooCommerce support. Good local coverage. (woo.Zendesk.com)
- Razer Merchant Services (formerly MOLPay) — strong presence in Malaysia, supports cards, FPX, cash‑pay channels and e‑wallets. (support.Exabytes.com.my)
- eGHL — regional PSP active in Malaysia (commonly used by merchants for local payment methods). (Check the provider site for exact channels.)
- Stripe — supports FPX and a range of payment methods for Malaysian customers (Stripe offers FPX integration and presents local methods when appropriate). Good developer SDKs and hosted Checkout/Elements. (docs.Stripe.com)
- PayPal — widely used for cross‑border payments; useful if you accept international buyers.
Note: Pricing, supported channels and settlement timing differ by provider — confirm with each provider. See provider docs and merchant account terms. (ecommerce-pro.my)
- Key technical and business considerations
- Currency and settlement: Malaysian customers typically pay in MYR. If you price in other currencies, make sure the gateway can convert and settle in the currency/account you want. (docs.Stripe.com)
- FPX specifics: FPX is a bank‑redirect single‑use method (customer selects bank, logs in at the bank, authorises payment, and returns). FPX is MYR only and usually not suited to recurring subscriptions. Many PSPs (and Stripe) expose FPX as a payment option. (fpxexchange.paynet.my)
- E‑wallets & QR: e‑wallets and DuitNow QR are frequently used for consumer payments; some PSPs charge different rates per wallet. (ecommerce-pro.my)
- Fees and pricing: gateways differ in setup fees, per‑transaction rates, and channel‑specific fees (cards vs FPX vs e‑wallet). Ask for a full breakdown (including chargeback and refund fees) before choosing. (ecommerce-pro.my)
- Settlement timing: ranges from same‑day to several business days depending on gateway and bank. Confirm cash‑out schedule. (ecommerce-pro.my)
- Security & compliance
- PCI DSS: if you accept card data directly (vs hosted pages), you’ll need to meet PCI‑DSS requirements. Many merchants avoid scope by using hosted checkout or tokenization from the PSP.
- Local regulations: follow Bank Negara Malaysia / local e‑money regulations for stored value/e‑wallet handling (check current regulator guidance if you operate or hold funds).
- HTTPS, webhooks signing, and proper handling of refunds/chargebacks are standard requirements — follow the gateway’s security guides.
- Typical integration steps (developer checklist)
- Evaluate which methods you need (cards, FPX, DuitNow QR, specific e‑wallets).
- Shortlist 2–3 gateways that support your required channels and pricing model. Compare SDKs, support, and settlement terms. (ecommerce-pro.my)
- Register for a merchant account / sandbox with the chosen gateway(s). Get test credentials (merchant ID, keys, etc.). (woo.Zendesk.com)
- Implement in sandbox:
- For bank redirects (FPX): implement redirect to bank or PSP, and handle synchronous redirect + asynchronous notification (webhook) to confirm payment. FPX docs and sample code are usually provided by the FPX portal or PSP. (fpxexchange.paynet.my)
- For hosted checkout (recommended for lower PCI scope): integrate the PSP’s hosted page or Checkout widget. (docs.Stripe.com)
- For direct card collection: use tokenization or client SDKs (Elements, mobile SDKs) and implement server‑side charge creation and webhook handling. (Stripe.com)
- Test extensively: success, failure, cancelled flows, expired/duplicate transactions, refunds, and webhook retry behavior. Use sandbox test card numbers and FPX simulation tools provided by the gateway/FPX portal. (fpxexchange.paynet.my)
- Go live: switch keys, confirm callback/notification URLs use HTTPS, and monitor initial transactions closely.
- Reconciliation: set up reporting so payouts reconcile with your accounting system (daily/weekly reports, transaction IDs, fees).
- Practical tips to increase conversion and reduce friction
- Offer FPX + at least one e‑wallet + cards — this covers most Malaysian customers’ preferences. (ecommerce-pro.my)
- Use hosted checkouts or payment elements for mobile/responsive flows (reduces dropoff). (Stripe.com)
- Localize language and show bank/e‑wallet logos so customers instantly recognise payment options.
- Show total price in MYR including any fees or conversion to avoid surprise abandonment.
- Useful links (for developer/reference)
- Stripe FPX docs (how to accept FPX in Malaysia). (docs.Stripe.com)
- FPX Exchange Portal (merchant integration kit, sample code and certification). (fpxexchange.paynet.my)
- iPay88 integration/merchant guides and supported channels. (woo.Zendesk.com)
- Razer Merchant Services (MOLPay) merchant integration guidance. (support.Exabytes.com.my)
If you want, I can:
- recommend 2–3 specific gateways tailored to your business type (B2C, marketplace, subscription) and expected monthly volume, or
- provide a sample code snippet (Stripe Checkout / FPX flow or generic webhook handler) for the integration flow you plan to use.
Which would you prefer?