On PrestaShop, why isn’t my payments being marked as paid after a successful transaction?
It could be that the CHMOD settings for your /modules directory is incorrect. Ensure that both /modules and /modules/payfast both are CHMOD 0755. If it is 0777 the PrestaShop installation won't see the module and reports an error 404, page not found, or, throws an internal server error.