Two small additions consistently move the needle more than most website redesigns: a WhatsApp button that lets visitors ask a question in one tap, and a payment gateway that lets them pay without leaving the site. Both are genuinely simple to add correctly — and genuinely easy to get subtly wrong. Here’s how to do both properly.
Part 1: Adding a WhatsApp button
How it actually works
WhatsApp’s click-to-chat feature runs on a plain URL — no app, no API key, no approval process needed for a basic button:
https://wa.me/<countrycode+number>?text=<pre-filled message>
For a Malaysian number like 012-345 6789, that becomes 60123456789 — country code first, no +, no leading zero, no spaces or dashes. Get this wrong and the link either fails silently or opens a chat with the wrong contact.
A working example:
<a href=”https://wa.me/60123456789?text=Hi%2C%20I%27d%20like%20to%20ask%20about%20your%20web%20design%20packages” target=”_blank”> Chat with us on WhatsApp </a>
The ?text= parameter pre-fills the message so the visitor only has to hit send — this alone measurably increases how many clicks turn into actual conversations, since it removes the “what do I even say” hesitation. URL-encode the message (spaces as %20, apostrophes as %27) or use a link generator to avoid broken characters.

Making it a floating button (not just a text link)
A persistent floating button — visible on every page, usually bottom-right — outperforms a link buried in the footer or contact page. Minimal CSS version:
<a href=”https://wa.me/60123456789?text=Hi%2C%20I%27d%20like%20to%20enquire”
target=”_blank”
style=”position:fixed; bottom:20px; right:20px; background:#25D366;
color:#fff; border-radius:50%; width:60px; height:60px;
display:flex; align-items:center; justify-content:center;
box-shadow:0 2px 8px rgba(0,0,0,0.3); z-index:9999;”>
<svg xmlns=”http://www.w3.org/2000/svg” width=”30″ height=”30″ fill=”#fff” viewBox=”0 0 24 24″>
<path d=”M12 2C6.5 2 2 6.5 2 12c0 1.9.5 3.6 1.5 5.2L2 22l4.9-1.5C8.5 21.5 10.2 22 12 22c5.5 0 10-4.5 10-10S17.5 2 12 2zm0 18c-1.7 0-3.3-.5-4.6-1.4l-.3-.2-3.2 1 1-3.1-.2-.3C3.7 14.5 3.2 13.3 3.2 12 3.2 7.2 7.2 3.2 12 3.2s8.8 4 8.8 8.8-4 8.8-8.8 8.8z”/>
</svg>
</a>
Which method fits your stack
Beyond the basic button
A wa.me link is enough for most small business and service sites. It’s worth stepping up to the full WhatsApp Business API (via a platform like Wati, Chatarmin, or similar) only once volume justifies it — typically when you need automated replies, a shared team inbox for multiple staff, chatbot qualification, or click-tracking at scale. For a single-person business or a typical SME site, the free wa.me link does the job without the added cost and setup complexity.
One thing worth doing regardless of method: track button clicks as a Google Analytics event (onclick firing a GA4 event) so you can actually see how many visitors are using it — a WhatsApp button with no click tracking is a black box in your conversion data.
Part 2: Adding a payment gateway
Malaysian customers overwhelmingly expect to pay via FPX (online bank transfer), plus increasingly cards and e-wallets like Touch ‘n Go and GrabPay. Choosing the right local gateway matters more here than reaching for a global default like Stripe alone.
| Gateway | Best Fit | Notes |
|---|---|---|
| Billplz | SMEs and growing stores | Strong FPX support, transparent pricing, next-day FPX settlement, WooCommerce/Shopify plugins, webhooks and split payments for scaling |
| ToyyibPay | Micro-businesses, NGOs, solo sellers | Low-cost, Shariah-compliant, simple FPX-focused setup, slower 1–4 day settlement |
| SenangPay | Freelancers, social sellers | Fast onboarding, doesn't require a full SSM-registered company, FPX + cards + e-wallets |
| iPay88 (Adaptis) | Established e-commerce | Deep bank integration, wide payment method coverage, more setup overhead |
| Stripe | International-facing businesses | Best for cross-border card payments; weaker on local FPX/e-wallet preference matching |
Practical starting point for most small Sabah/Malaysian business sites: Billplz or SenangPay. Both offer plug-and-play WooCommerce plugins, don’t demand enterprise-level onboarding, and cover FPX plus the e-wallets Malaysian customers actually reach for.
Implementation on WordPress/WooCommerce
This is the most common path for the client sites in this space:
- Register a merchant account with your chosen gateway (Billplz, SenangPay, etc.) — this requires business verification (SSM registration for most gateways; SenangPay is more lenient here).
- Install the gateway’s official WooCommerce plugin from the WordPress plugin directory.
- Enter your API key/collection ID from the gateway dashboard into the plugin’s settings.
- Set the gateway live (most default to sandbox/test mode) and run a real test transaction before launch.
- Confirm the payment confirmation page and any automated email/WhatsApp receipt trigger correctly — this is the step most commonly skipped, and the one clients notice fastest when it’s broken.
Common setup mistakes worth avoiding
- Leaving the gateway in sandbox/test mode at launch — always run and confirm a real live transaction before sending traffic.
- No clear payment failure page — a customer whose FPX payment fails or times out needs a clear “try again” path, not a dead end.
- Missing order confirmation automation — pair the payment success webhook with an automatic confirmation (email, and ideally a WhatsApp message via the button/API above) so the customer isn’t left wondering if it worked.
- Only offering one payment method — FPX-only setups lose customers who’d rather pay by card or e-wallet; most gateways bundle several methods behind one integration, so there’s little reason not to enable all of them.





Leave A Comment