On this page
- Why so many Caribbean banks route to MPGS
- MPGS Direct vs MPGS HPP — pick the right mode first
- How GoHighLevel handles a gateway that isn't on its default list
- Where Genius Checkout fits
- Setup walkthrough
- Beyond cards — payment links, QR, subscriptions
- Recurring billing with MPGS tokenization
- Refunds, reporting, and the merchant dashboard
- Five mistakes we see on roughly half of new MPGS-to-GHL connections
- FAQ
- Ready to connect MPGS to your GHL sub-account?
A merchant in Port of Spain signs with Republic Bank. The welcome PDF is one page. The only sentence on it that matters reads, "Gateway: Mastercard Payment Gateway Services." They open GoHighLevel, scroll to Payments → Integrations, and the dropdown shows Stripe, PayPal, Authorize.net, Square. None of them settle to a Caribbean acquirer. The funnel that was supposed to go live tomorrow can't take a card.
If you've been here, the rest of this article is for you.
This is the recipe we run on every MPGS-to-GHL onboarding: one-time checkouts, subscriptions, payment links, both Direct (server-to-server) and HPP (hosted page) integration modes. We've shipped it for merchants on Republic Bank, RBC Royal Bank, Bank of Saint Lucia, and GBTI — the steps below are the same ones the team uses on the next ticket that comes in.
The checkout your buyer sees inside a GHL funnel once MPGS is connected through Genius Checkout. The card form is hosted by us; settlement goes straight to the merchant's MPGS account.
Why so many Caribbean banks route to MPGS
MPGS is the white-label gateway Mastercard sells to acquiring banks that don't want to build their own. Your bank issues you a branded login at something like acquirer.gateway.mastercard.com — but the engine underneath is the same one Mastercard runs for hundreds of acquirers worldwide. Regional MPGS-backed acquirers we see most often: Republic Bank (Trinidad & Tobago, Guyana, Barbados, Grenada, St. Lucia, Cayman — the most common case by a wide margin), RBC Royal Bank Caribbean operations, Bank of Saint Lucia, GBTI, Bank of Nevis, and Eastern Caribbean Amalgamated Bank.
Most merchants don't realise they're on MPGS until they read the gateway login URL. If yours contains gateway.mastercard.com, you're in the right place. If it contains fac.lac or powertranz, jump to our PowerTranz / FAC setup guide instead — different gateway, different wiring, otherwise the same article shape.
MPGS Direct vs MPGS HPP — pick the right mode first
MPGS offers two integration shapes. Both settle to the same merchant account, but buyer experience, PCI scope, and GHL wiring differ enough to be worth five minutes of upfront thinking.
| Dimension | MPGS Direct (server-to-server) | MPGS HPP (hosted checkout) |
|---|---|---|
| Where the card form lives | On the merchant page (or Genius Checkout's hosted form) | On gateway.mastercard.com, branded for the acquirer |
| PCI scope for the merchant | SAQ A-EP — card data transits your domain | SAQ A — card data never touches your domain |
| Customisation | Full — your CSS, your fields, your flow | Limited — MPGS controls layout, you supply logo + colour |
| 3-D Secure 2 | Triggered via the authentication API, you orchestrate |
Triggered automatically inside the hosted page |
| Tokenization | pay interaction returns a token you store |
Same, returned in the callback session |
| Best for | Brands that want a seamless on-page checkout | Merchants who want the smallest possible PCI footprint |
| Typical onboarding time | 2–3 days | Same-day |
Our default recommendation: pick HPP for the first MPGS merchant. The PCI questionnaire is short, the wiring takes hours not days, and you can always move to Direct later once volume justifies the audit work. Agencies who jump straight to Direct on a new acquirer regularly spend a week on the SAQ A-EP that they didn't need to spend yet. The formal PCI scope definitions are in the PCI Security Standards Council documentation if you want to read the source.
How GoHighLevel handles a gateway that isn't on its default list
GHL ships with a small built-in set: Stripe, PayPal, Square, Authorize.net, NMI. Outside that set, GHL exposes a Custom Payment Provider slot per sub-account — a marketplace app that registers a query URL and a payment URL, and from GHL's perspective behaves like a first-party gateway across funnels, order forms, calendars, invoices, and memberships.
The catch: GHL only allows one active custom provider per sub-account. So you don't install five gateways. You install one bridge that brokers to whichever gateway the merchant uses. That's where Genius Checkout fits.
Where Genius Checkout fits
We are that bridge. Genius Checkout is the marketplace app GHL talks to: we hold the MPGS credentials, run the card form (or redirect to the MPGS HPP), handle 3-D Secure, tokenize for recurring, post webhooks back to GHL, and emit settlement reports to the merchant dashboard. The merchant only ever sees their existing acquirer in the settlement deposits — we're infrastructure, not a processor. Architecture is on the GoHighLevel integration overview; feature matrix is on the MPGS gateway page.
Setup walkthrough
You'll need three things before you start: your MPGS merchant ID (8–12 alphanumeric chars, sometimes labelled MID), your API password (Admin → API Authentication in the merchant portal), and the gateway URL the acquirer issued — e.g. https://eu-gateway.mastercard.com or https://ap-gateway.mastercard.com. Test and production are separate hosts. Don't mix them. (See mistake #1 below for what happens when you do.)
Step 1 — Install Genius Checkout from the GHL marketplace
Inside the sub-account, Settings → Integrations → Marketplace. Search Genius Checkout, click Install.
Agency users: switch to Sub Account View first, otherwise the install button stays greyed out and you'll convince yourself it's a permissions bug. (It isn't.)
Step 2 — Connect MPGS as the underlying gateway
Open the Genius Checkout admin and go to Gateways.
The Gateways tab lists every processor Genius Checkout can route to. Pick MPGS, then choose Direct or HPP on the next screen.
Click Add Gateway → Mastercard Payment Gateway Services. Paste the merchant ID, API password, and gateway base URL. Pick Direct or HPP per the table above. Save.
Step 3 — Configure currency and 3-D Secure
Currency must match what your MPGS account is provisioned for. Republic Bank Trinidad settles TTD and USD; Bank of Saint Lucia settles XCD and USD. Confirm with your bank before enabling.
Set the default to whatever your bank confirmed. Leave 3-D Secure 2 on. For Caribbean issuers it's a chargeback-liability shift, not optional — disabling it is one of the fastest ways to give yourself a reconciliation problem you didn't need.
Step 4 — Connect Genius Checkout to GoHighLevel
In Genius Checkout, Integrations → GoHighLevel → Connect. Authorise the sub-account. The flow registers us as the Custom Payment Provider in one click; no manual webhook copy-paste.
Step 5 — Activate the provider in GHL
In the sub-account, navigate to Payments → Integrations → Manage. Not the sidebar — GHL hid the manage screen behind this path in their 2025 redesign and the sidebar item now points somewhere else entirely. Select Genius Checkout. Save.
Step 6 — Test with the MPGS test card
Run a $1.00 transaction through a funnel. MPGS's universal test card is 5123 4500 0000 0008, expiry 01/39, CVV 100. Confirm the gateway URL still says test-gateway.mastercard.com if you aren't ready for a live charge — a real card on the production endpoint will charge real money, immediately, with no confirmation step.
Beyond cards — payment links, QR, subscriptions
The Custom Payment Provider slot covers the funnel path. Plenty of regional businesses don't only sell through funnels, though, so Genius Checkout also adds shareable payment links with QR codes (the format most regional SMB sales actually close in — WhatsApp first, web second), subscription links with optional trial and setup fee, and branded receipts on every successful charge.
A merchant generates a payment link in 30 seconds and drops the QR code into a WhatsApp Business broadcast. Each link can be one-time or subscription.
Recurring billing with MPGS tokenization
MPGS handles cards-on-file through its pay interaction. On the first transaction the gateway returns a token (persisted in the MPGS vault with RETAIN: true). Subsequent charges call the same endpoint with sourceOfFunds.provided.card.token instead of a PAN, and clear without re-prompting the buyer. That's it — the whole recurring story on MPGS.
The buyer pays the first installment through a GHL funnel or subscription link. MPGS returns the token. We store the reference (not the card data). The subscription schedule fires on cadence — daily, weekly, monthly, annual, or custom. Each charge posts a webhook back to GHL so the customer's tag, opportunity stage, or membership status updates automatically. On failure (insufficient funds, expired card, do-not-honor) the dunning sequence retries on the schedule you set.
Configuring a subscription payment link: interval, trial period, setup fee, max billing cycles. The recurring engine sits in Genius Checkout — GHL's native recurring engine is not involved.
One regional gotcha worth flagging: a couple of Caribbean issuers decline tokenized recurring charges that don't carry a CIT-to-MIT chain on file. We surface that as an explicit error rather than a generic decline, so you'll see exactly what's wrong instead of "issuer declined" three months in. The fix is to re-authorise the first transaction with CARDHOLDER_INITIATED flagged. Two-minute change.
Refunds, reporting, and the merchant dashboard
Full and partial refunds run from the dashboard or via API. Each refund posts a webhook to GHL so the original opportunity flips to refunded automatically — no double-bookkeeping.
The merchant dashboard rolls up settled volume, refund rate, and per-link conversion. MPGS-specific reporting (BIN attack flags, 3DS attempt rate) sits under the Gateways → MPGS tab.
The dashboard mirrors MPGS reporting, then adds GHL context that MPGS doesn't have: which funnel, which sub-account, which payment link. Agencies running 30+ sub-accounts tell us the cross-account view is the reason they don't have to log into the MPGS portal once a week per merchant.
Five mistakes we see on roughly half of new MPGS-to-GHL connections
1. Mixing test and production credentials. MPGS uses separate hostnames and separate merchant IDs for test (test-gateway.mastercard.com) and production. The classic bug: paste the prod ID against the test hostname, get auth failures, assume the credentials are wrong. Verify hostname matches environment first.
2. Currency mismatch. If your acquirer settles TTD and the GHL product is priced USD, MPGS may accept the auth but settle at a conversion rate that surprises everyone — including the merchant on month-end review. Confirm the currency provisioned on the merchant account before going live.
3. Skipping 3-D Secure 2. Caribbean issuers keep tightening the liability shift. A non-3DS transaction that goes through today may be chargeable to the merchant tomorrow. Genius Checkout enables 3DS by default. If you're tempted to disable it, read EMVCo's 3DS 2 overview first.
4. Using the GHL native recurring engine. GHL's built-in subscription scheduler only fires for Stripe and PayPal. For MPGS, use our subscription payment links — they read GHL's customer record and post status back. Trying to make GHL's native engine work for MPGS is a week of debugging that ends in "you can't."
5. Installing in agency view. Marketplace installs from the agency-wide context register against the agency, not the sub-account, and silently fail on the Payments → Integrations screen. Switch to Sub Account View first. We've debugged this five times this year. Now you don't have to.
FAQ
Does MPGS work for both one-time and recurring payments in GHL?
Yes. Genius Checkout uses MPGS's pay interaction with tokenization for recurring, and the standard pay flow for one-time. Both surface inside GHL funnels, calendars, invoices, and memberships.
Will my buyer see a Mastercard-branded checkout?
With HPP, yes — the page sits on gateway.mastercard.com and carries the acquirer's logo. With Direct routed through Genius Checkout, the buyer sees the merchant's branded checkout and MPGS is invisible. Either is fine; it just depends on how branded you want the checkout step to feel.
What currencies are supported? Whatever your acquirer provisioned. Most Caribbean MPGS deployments support a local currency (TTD / JMD / XCD / GYD) plus USD.
How long does the integration take end-to-end? Assuming credentials are issued: HPP, same day. Direct, 2–3 days because the PCI SAQ A-EP form takes longer than the technical wiring. Pricing for both paths is on our pricing page.
What about other acquirers that aren't MPGS? For Colombia (Wompi, Bancolombia, PSE, Nequi), see the Colombian acquirer setup. For Caribbean banks on FAC / PowerTranz, see our PowerTranz setup guide.
Is there a transaction limit? We don't impose one. MPGS limits are set by your acquirer's risk team — Republic Bank Trinidad's standard new-merchant cap is typically TTD 50,000 per transaction, raised on request after a month of clean settlement. Other acquirers vary; ask yours.
Ready to connect MPGS to your GHL sub-account?
If your acquirer is on MPGS and you need card payments live in GoHighLevel this week, start a Genius Checkout account. Pick HPP for the fastest PCI path, Direct for full checkout branding. Both configure from the same screen, both settle to your existing MPGS merchant account, and both ship with the subscription, payment link, and refund features above.