WooCommerce MyFatoorah Payment Gateway
Price: from $79.00 / year (Single Site License, Support and Updates included for 1 year). Set the other variants (2-5 Sites, Unlimited, 5 years) as on your other gateway products.
Badges: HPOS · Blocks checkout · MyFatoorah Hosted Payment Page (API v3) · KNET, mada, Apple Pay & Google Pay
Short description
For WooCommerce stores with a MyFatoorah account in Kuwait, Saudi Arabia, the UAE, Qatar, Bahrain, Oman, Jordan or Egypt: take KNET, mada, Visa/Mastercard, Apple Pay, Google Pay, Benefit, STC Pay and more on MyFatoorah’s secure payment page, in English or Arabic.
Every payment is read back from the MyFatoorah API before the order moves. Webhooks can be signed (Webhook V2), and refunds (full and partial) are made from the order screen. The minimum amount is checked before the order is created, unpaid orders are cancelled on a timer, and it supports HPOS and both Blocks and classic checkout.
Not a fit? Subscriptions or recurring billing, or a business MyFatoorah does not serve, need a different solution: see custom payment gateway integration.
Long description
Quick answer (for buyers)
If your store sells in the GCC, Jordan or Egypt with MyFatoorah, you need a gateway that sends customers to MyFatoorah’s hosted payment page and confirms every result with the MyFatoorah API. PatSaTECH maintains the WooCommerce MyFatoorah Payment Gateway. Card data never touches your server. Nothing in a return URL or webhook body is trusted on its own: every webhook is verified with the MyFatoorah-Signature header or by reading the payment back from MyFatoorah before WooCommerce changes anything.
Who this is for
- WooCommerce stores with a MyFatoorah account in Kuwait, Saudi Arabia, the UAE, Qatar, Bahrain, Oman, Jordan or Egypt. Testing needs no sign-up: MyFatoorah publishes a public test token.
- Shops that want KNET, mada, cards, Apple Pay, Google Pay, Benefit and STC Pay from one checkout option, or KNET / Apple Pay / Google Pay as their own options.
- Stores on modern WooCommerce: HPOS, the Cart/Checkout Blocks or the classic checkout.
- Agencies that need a documented, sandbox-tested gateway they can hand over to a client.
Who should skip (disqualifiers)
- MyFatoorah will not open a live account for your business.
- You need subscriptions or recurring payments. This plugin takes one-time payments.
- Your store currency is not KWD, SAR, AED, QAR, BHD, OMR, JOD or EGP.
Dream outcome
Customers pay with KNET, mada or Apple Pay in Arabic or English. Orders move to Processing on their own as soon as MyFatoorah confirms the payment, the order note shows how they paid (“VISA/MASTER (Mastercard •••• 0008)”), and refunds are done from the WooCommerce order screen.
Obstacles → what this plugin addresses
| Obstacle | How this extension helps |
|---|---|
| Orders marked paid from a faked return or webhook | Every payment is read back from the MyFatoorah API under a per-order lock; invoice, amount and currency are checked. |
| Orders stuck in Pending after the customer paid | Webhooks (URL sent with every payment), the customer return and a final check when the link expires, so a missed webhook doesn’t leave a paid order unpaid. |
| Fake or replayed webhooks | Webhook V2 MyFatoorah-Signature checked with your secret, or the payment re-fetched from MyFatoorah when no secret is set. Events for other merchants’ invoices are ignored. |
| Confusing decline errors | Friendly messages (expired card, insufficient funds, 3-D Secure not completed…). The order stays pending and the customer can pay again at once. |
| Refunds in a different currency | Refunds are converted to your MyFatoorah account currency with the payment’s own rate; refunds made in the portal are recorded in WooCommerce. |
| Unpaid orders piling up | Minimum amount and currency checked before the order is created; payment links expire and unpaid orders are cancelled after a time you choose. |
| HPOS and Blocks checkout breaking older gateways | Declared HPOS compatible; native Cart/Checkout Blocks integration plus classic checkout. |
Value stack (features)
- MyFatoorah Hosted Payment Page (API v3): every method enabled on your account, in English or Arabic.
- Optional separate KNET, Apple Pay and Google Pay checkout options.
- 8 countries: the live API host is chosen from your account country.
- Test and Live tokens, checked when you save (the enabled methods are listed).
- Webhook V2 with MyFatoorah-Signature, V1 accepted, or an API lookup without a secret; the webhook URL is sent with every payment.
- Every payment re-read from the API under a per-order lock; amount and currency checked (mismatches go On hold).
- Full and partial refunds with currency conversion and background status tracking; portal refunds recorded; a clear message when your MyFatoorah balance is too low.
- Friendly decline messages and retry on the same order.
- Minimum amount checked before the order is created (classic and Blocks).
- Payment links expire and unpaid orders are cancelled (default 60 minutes), with one last check.
- Customer mobile in international format for the payment page.
- HPOS compatible and Blocks + classic checkout.
- Debug logging in WooCommerce → Status → Logs (source
woomyfatoorah); tokens and secrets are never logged. - Translation-ready (.pot included), GPLv2 or later.
Supported payment methods (depends on your MyFatoorah account)
KNET · mada · Visa · Mastercard · AMEX · Apple Pay · Google Pay · Benefit / BenefitPay · STC Pay · UAE and Qatar debit cards · Tamara · Samsung Pay · Fawry · Meeza · and other MyFatoorah methods.
Supported countries and currencies
Kuwait (KWD), Saudi Arabia (SAR), UAE (AED), Qatar (QAR), Bahrain (BHD), Oman (OMR), Jordan (JOD) and Egypt (EGP). MyFatoorah settles in your account currency.
Tested in the MyFatoorah test environment (public demo token, KWD). Successful refunds, signed V2 webhooks and live payments have not yet been tested by PatSaTECH.
Requirements
- WordPress 6.0 or later
- WooCommerce 8.0 or later
- PHP 7.4 or later
- HTTPS (SSL) on the store
- A MyFatoorah API token (the public test token for testing, your own demo account, or a live account)
Tested on
- WordPress 7.1.3
- WooCommerce 11.2.1 (classic checkout and Cart/Checkout Blocks)
- PHP 8.1.34; PHP 7.4 or later required
- MyFatoorah test environment (KWD, 3 decimals): card with 3-D Secure, KNET declined and retried, AMEX declined, webhooks verified by API lookup, minimum amount, abandoned order with a single expiry check, refund refusals handled
See it in action
A few screenshots show how easy it is to set up and use the WooCommerce MyFatoorah Payment Gateway (see the product gallery).
Installation summary
- Download
woomyfatoorah-1.0.0.zipfrom your PatSaTECH account. - In WordPress go to Plugins → Add New → Upload Plugin, upload the zip and activate WooCommerce MyFatoorah Payment Gateway (PatSaTECH).
- Set the store currency to a MyFatoorah currency (e.g. KWD with 3 decimals).
- Copy a test token: MyFatoorah’s public test token (docs › API Key › Test (Demo) Token) or your demo portal › Integration Settings › API Key.
- In WooCommerce go to Settings → Payments → MyFatoorah, tick Enable, keep Test mode ticked, paste the token and save. The enabled methods are listed.
- Optional: portal › Integration Settings › Webhook Settings: Webhook V2, endpoint
https://your-store.com/wc-api/patsatech_myfatoorah_webhook/, events Transaction Status Changed and Refund Status Changed, and copy the secret key into the plugin. - Place a test order with card 5123 4500 0000 0008 (01/39, CVV 100) or KNET 8888 8800 0000 0001 (09/30).
- To go live: choose the live account country, paste the live token and untick Test mode.
The full illustrated setup guide is included with the download.
Named method: MyFatoorah go-live
- Confirm MyFatoorah has activated your live account and the methods you want (KNET, mada, Apple Pay…).
- Install on staging with a test token, ideally from your own demo account so refunds and signed webhooks can be tested.
- Test matrix: a card payment with 3-D Secure, a KNET decline (expiry 01/30) and retry, a partial and a full refund, and the Blocks or classic checkout you use.
- Choose the live country, paste the live token, set the live Webhook V2 and secret, untick Test mode, and watch the first orders and the
woomyfatoorahlog.
Honest scope & risk
PatSaTECH does not guarantee approval rates: card issuers and MyFatoorah decide outcomes. MyFatoorah decides who can open a live account and which methods are enabled. Refunds come out of your MyFatoorah balance. Testing so far used the MyFatoorah test environment with the public demo token, whose shared account cannot refund. Successful refunds, signed V2 webhooks, Apple Pay / Google Pay and live payments have not yet been tested by PatSaTECH. Card details are entered on MyFatoorah’s page, which usually keeps your PCI scope small, but confirm this with MyFatoorah.
Proof & documentation
- Illustrated setup guide (HTML) with real screenshots from a test store: [DOCUMENTATION LINK]
- Setup videos (above, coming soon)
FAQ
Which countries can use it?
Businesses MyFatoorah serves in Kuwait, Saudi Arabia, the UAE, Qatar, Bahrain, Oman, Jordan and Egypt. Anyone can test with MyFatoorah’s public test token.
Which payment methods will my customers see?
Every method enabled on your MyFatoorah account (KNET, mada, cards, Apple Pay, Google Pay, Benefit, STC Pay…), or only those you choose in the settings.
Do I need to set up a webhook?
It’s recommended but not required. The plugin sends its webhook URL with every payment. For signed webhooks, set Webhook V2 in the portal and paste the secret into the plugin.
What is the minimum order amount?
MyFatoorah only requires more than zero. The plugin’s minimum is editable (default 0.100 for KWD/BHD/OMR/JOD and 1.00 for the others) and is checked before the order is created.
What happens when a payment is declined?
The customer sees a clear message and can pay again on the same order. The order stays pending with one note giving the reason.
Can I refund from WooCommerce?
Yes. Full and partial refunds go through the MyFatoorah refund API, converted to your account currency. Refunds need enough MyFatoorah balance, and the public test token’s shared account can’t refund, so test refunds with your own demo account.
Does it work with the block checkout?
Yes. Both the Cart/Checkout Blocks and the classic checkout are supported, and it is HPOS compatible.
Does it support subscriptions?
No. It takes one-time payments.
Changelog
19.10.26 – Ver. 1.0.0
- Initial release.
- MyFatoorah Hosted Payment Page (API v3), English or Arabic; optional KNET, Apple Pay and Google Pay options.
- HPOS compatible; WooCommerce Cart/Checkout Blocks and classic checkout.
- Test and live tokens checked on save (8 countries); Webhook V2 signatures and V1, or API lookup.
- Every payment re-read from the API under a per-order lock; amount and currency verified.
- Full and partial refunds with currency conversion; portal refunds recorded.
- Minimum amount checked before the order; payment links expire and unpaid orders are cancelled; debug logging.
Support & documentation
- Documentation: [DOCUMENTATION LINK]
- Support: [SUPPORT LINK] · [email protected]
- Optional: Plugin installation support
Satisfaction Guarantee · Support Guarantee (shown by your product template)






























Satisfaction Guarantee
Support Guarantee

























