
Skillmerc Payment Gateway for PayFast lets South African stores take payments through PayFast’s hosted payment page (card, instant EFT, SnapScan and Mobicred) and keeps WooCommerce order statuses in step with what PayFast actually reports.
It was written to fix the things South African merchants complain about most: order statuses that never update because the ITN callback silently fails, no refund path from the order screen, no High-Performance Order Storage support, and settings scattered across several screens.
What it does
Pro version
The free plugin covers once-off payments. Skillmerc PayFast Pro adds PayFast subscriptions (sign-up, automatic renewal and cancel from WooCommerce), a notification log, and an automatic re-query every 15 minutes that marks orders paid when PayFast confirms a payment whose notification never arrived, plus Ozow instant EFT and Yoco card payments (both in beta). USD 49 a year for one site, with a 14-day money-back guarantee: https://checkout.freemius.com/plugin/40911/plan/70874/licenses/1/
The free plugin stays fully functional without Pro. Nothing is locked or time-limited. The gateway settings screen shows one short panel about Pro, which any admin can hide with one click, and the Plugins screen shows a “Get Pro” link. Neither appears once Pro is active, and there are no notices anywhere else in your dashboard.
Switching from another PayFast plugin
If your current PayFast plugin leaves paid orders stuck on pending, throws errors on your PHP version, or has no refund button, you can move over in a few minutes:
The code is checked on PHP 7.4 through 8.5 and tested end to end against the PayFast sandbox on PHP 8.2.
External services
This plugin talks to PayFast, and only to PayFast. There is no tracking, no analytics and no phone-home of any kind.
https://www.payfast.co.za (or https://sandbox.payfast.co.za in sandbox mode) to complete payment. The order number, order total, item description and the billing name and email address are sent so PayFast can process and receipt the payment.https://www.payfast.co.za/eng/query/validate (or the sandbox equivalent) to confirm PayFast really sent it. This is PayFast’s documented server confirmation step and is what makes a forged callback unusable.https://api.payfast.co.za. This only happens when you refund an order in WooCommerce, and the setting is off by default.wc_payfast_pro_verify_itn_source filter if your host sits behind a proxy.PayFast is a service of DPO South Africa (Pty) Ltd. Terms: https://payfast.io/legal/ and privacy policy: https://payfast.io/privacy-policy/