The Gateway Built for South Africa. Full Stop.
South African store owners don't need another payment plugin that tolerates ZAR as an afterthought. They need the one that speaks Rand natively — with subscriptions, webhook verification, and admin refunds built in from day one.
Everything a South African Joomla Store Needs to Get Paid
Accept one-time Payfast payments, run recurring subscription billing, issue refunds from the order screen, and verify every transaction through Payfast's secure notification system — all without leaving your Joomla ecommerce admin.
Secure Hosted Checkout
Customers pay on Payfast's PCI-compliant hosted page. Your store never touches a card number. The compliance headache leaves the building the moment you install this plugin.
Four-Layer Payment Verification
Every Payfast notification runs four independent checks: cryptographic signature, server origin, amount match, and direct server-to-server confirmation. Orders only advance to Completed when all four agree.
Tokenized Subscriptions
Subscription products automatically enable Payfast tokenization on first purchase. Renewal charges fire on schedule without the customer re-entering payment details. Ever.
Admin Refunds from the Order Screen
Full or partial refunds issued without leaving Joomla. For EFT payouts the modal collects bank details — account holder, bank, branch code, account number, type — then processes the refund and logs everything to the order history.
Saved Payment Methods
Returning subscribers see their stored Payfast token at checkout. Manage and delete saved methods from the customer account page. One click for repeat purchases.
Granular Controls
Geo zone restrictions, minimum and maximum order values, four configurable order statuses, and a notify URL override for stores behind reverse proxies. You control when and how Payfast appears.
Full Sandbox Mode
One toggle switches the entire plugin to Payfast's test environment. Run complete purchase flows, webhook deliveries, and status transitions before a single live rand changes hands.
Bootstrap 5 & UIkit Templates
Checkout pages render in Bootstrap 5 or UIkit to match your Joomla store's theme. No jarring style breaks mid-purchase. No visual discontinuity that makes customers wonder if they left your store.
18 Languages Including en-ZA
Ships with 18 language translations including South African English. Your checkout messages, error texts, and admin labels display in the right language for every member of your team and every customer.
Payment Verification That Doesn't Blink
A lot of payment plugins accept a notification and move on. This one interrogates every incoming Payfast confirmation until it's satisfied. Signature check, IP check, amount check, server confirm — four layers, no shortcuts. Fraudulent or spoofed notifications get logged and rejected before they touch an order status.
- Cryptographic signature verified on every webhook
- Payfast server IP confirmed before processing
- Amount validated against the order to the cent
- Direct server-side validation call to Payfast returns "VALID" — or the order stays pending
Subscription Billing That Actually Stays Subscribed
When a customer buys a subscription product, Payfast issues a token. The plugin stores it. On renewal day, J2Commerce creates the renewal order and charges the token automatically — no customer action required. The order confirms, the fulfilment email fires, and the next renewal date advances. Cancel the subscription from admin and the recurring billing stops at Payfast simultaneously.
- Token stored after first purchase — no re-entry on renewal
- Renewal orders created, charged, and confirmed automatically
- Cancellations stop billing at Payfast immediately
- Customers manage saved payment tokens from their account page
Refunds Without the Dashboard Circus
Every refund happens from the J2Commerce order screen. Enter the amount, write a reason, hit submit. When Payfast requires bank account information for an EFT payout, the refund modal collects it — account holder, bank, branch code, number, type — then processes the API call, records the result in the order's transaction detail, adds a history entry, and updates the order status. One screen. One action. Done.
- Full or partial refund — your choice per order
- EFT bank detail collection built into the modal
- Refund written to order history with timestamp and amount
- Order status updates to your configured "Refunded" state
Real-World Use Cases
South Africa Is Waiting at Your Checkout. Don't Make Them Wait.
Sixty million people. South Africa's most trusted payment gateway. Your Joomla ecommerce store. Get the plugin and stop leaving South African sales on the table.
Translated In The Following Languages
Arabic Unitag (ar-AA), Chinese, Traditional (zh-TW), Danish (da-DK), Dutch (nl-NL), English (en-GB), English, USA (en-US), Finnish (fi-FI), French (fr-FR), German (de-DE), Greek (el-GR), Hebrew (he-IL), Italian (it-IT), Japanese (ja-JP), Norwegian Bokmål (nb-NO), Persian Farsi (fa-IR), Polish (pl-PL), Portuguese, Brazil (pt-BR), Portuguese, Portugal (pt-PT), Russian (ru-RU), Spanish (es-ES), Swedish (sv-SE), Turkish (tr-TR)
License Information
An active license entitles you to updates, downloads, and support for the duration of the license period. You may continue using this plugin indefinitely without an active license; however, support, updates, and downloads will not be available while your license is inactive.
- Developer J2Commerce
- Extension Type Payment
- J2Commerce Version 4.x, 6.x
- Joomla Version 4.x, 5.x, 6.x
Arabic Unitag
Chinese, Traditional
Danish
Dutch
English
English, USA
Finnish
French
German
Greek
Hebrew
Italian
Japanese
Norwegian Bokmål
Persian Farsi
Polish
Portuguese, Brazil
Portuguese, Portugal
Russian
Spanish
Swedish
TurkishImprovement Tighten spacing on the order-view admin payment buttons (Bootstrap 5)
Improvement Tighten spacing on the order-view admin payment buttons (UIkit)
Fix Amount format fix
New Feature J2Commerce v4 and Joomla 4/5 support
You may also be interested in these products
Stay Updated
Subscribe for free and be the first to know about the latest features, updates, and new additions.