OpenCart is a turn-key ready “out of the box” shopping cart solution
- Unlimited products and categories
- Reviews and ratings
- Automatic image resize
To install the PayFast payment module, follow the instructions below:
- Download the correct version for your installation from our GitHub Repository.
- Unzip the module to a temporary location on your computer
- Copy the “admin” and “catalog” folders in the archive to your base “OpenCart” folder
- This should NOT overwrite any existing files or folders and merely supplement them with the PayFast files
- This is however, dependent on the FTPprogram you use
- If you are concerned about this, rather copy the individual files across as per instructions below
- Login to the admin section of your OpenCart installation
- Navigate to the Extensions -> Payments page
- Scroll down to the PayFast.co.za payment method and click the “Install” button to install the module
- Once the module is installed, click on “Edit” button.
- The PayFast options will then be shown, select the payment status for “completed”, “failed” and “pending” payments, select the sandbox mode, enable the payment module and click “Save”.
- The module is now ready to be tested with the Sandbox. To test with the sandbox, use the following login credentials when redirected to the PayFast site:
- Username: firstname.lastname@example.org
- Password: clientpass
- When you are ready to go live input your PayFast merchant ID, Key and passphrase (if it is set on your account), and set sandbox to ‘no’
- Click save
- RECURRING BILLING (only for version 2.3 and above)
- For a recurring billing product, the initial payment amount will be that of the product price (setup under Catalog->Products) and shipping, the recurring amount will be the price set under ‘Recurring Profile’
- It is NOT possible to use the recurring trial period with OpenCart and PayFast for recurring products
- OpenCart uses slightly different language to PayFast when it comes to recurring, due to this ‘Cycle’ in Recurring Profile MUST be set to 1. Duration is the number of payments (what PayFast refers to as cycles)
- It is only possible to use the ‘Month’ and ‘Year’ frequency with PayFast and Opencart
- In order to cancel a subscription you can log into your PayFast account and cancel the subscription
How do I copy the individual files across for OpenCart 2.3.*?
If you are concerned that copying the entire folder from the downloaded module may overwrite files in your installation, rather copy the files from the extracted module individually into your installation.
Be sure to copy the files from the downloaded module to their correspondinglocations within your installation:
The list of files needed in your online installation is as follows:
admin/controller/extension/payment/payfast.php admin/language/en-gb/extension/payment/payfast.php admin/view/image/payment/payfast.png admin/view/image/payment/payfastlogo.gif admin/view/template/extension/payment/payfast.tpl catalog/controller/extension/payment/payfast.php catalog/controller/payment/payfast_common.inc catalog/language/en-gb/extension/payment/payfast.php catalog/model/extension/payment/payfast.php catalog/view/theme/default/image/payfast.png catalog/view/theme/default/image/payfastlogo.gif catalog/view/theme/default/template/extension/payment/payfast.tpl
How can I test that it is working correctly?
If you followed the installation instructions above, the module is in “test” mode and you can test it by purchasing from your site as a buyer normally would. You will be redirected to PayFast for payment and can login with the user account detailed above and make payment using the balance in their wallet.
You will not be able to directly “test” a credit card, Instant EFT or Ukash payment in the sandbox, but you don”t really need to. The inputs to and outputs from PayFast are exactly the same, no matter which payment method is used, so using the wallet of the test user will give you exactly the same results as if you had used another payment method.
I”m ready to go live! What do I do?
In order to make the module “LIVE”, follow the instructions below:
- Login to the admin section of your OpenCart system
- Navigate to the Extensions > Payments page
- Under PayFast.co.za, click on the “Edit” link
- In the PayFast Settings block, use the following settings:
- Set Sandbox Mode = “No”
- Merchant ID = <Login to PayFast -> Integration Page>
- Merchant Key = <Login to PayFast -> Integration Page>
- Click Save
Standard Upgrade Procedure
- Download the payment module from GitHub
- Unzip the module to a temporary location on your computer
- Copy the “modules” folder in the archive to your base “OpenCart” folder
FREQUENTLY ASKED QUESTIONS (FAQS)
How Do I Add South African Rands
In the admin backend, go to System->Localisation->Currencies, click the “Insert” button and complete the form, enable the currency status and click “Save”.
How Do I Change The Default Currency?
In the admin backend, go to System->Settings click “Edit” go to “Local”, change currency from USD to ZAR, click “Save”; The list of currencies is generated for the currencies in the localisation settings.
PayFast Isn”t listed in the Checkout
Ensure that you have added a South African geo-zone, System>Localisation->Geo Zones then go edit the tax options to include the geo-zone, System->Localisation->Taxes->Tax Rates, click on the “Edit” for VAT or “Insert”, South African VAT is currently 14%, be sure to set the Geo Zone setting to the one you created in the previous step.
What is the payment flow?
PayFast works on browser redirection and will redirect the user to PayFast for payment after they click the “Confirm Order” button on the Checkout page.
At this stage, the order has NOT been created in OpenCart, but the shopping cart details will be used.
If the payment is CANCELLED during processing on PayFast:
- The user will be returned to the “Shopping Cart” page to either correct their shopping cart or to choose another payment gateway.
If the payment is SUCCESSFUL through PayFast:
- The user will be returned to the “Order Confirmation” page
- The order will be created and will have a status of “Confirmed”