PayFast is a Splynx add-on that enables customers to refill their balances and pay invoices using the PayFast payment gateway.
We've developed two different add-ons for utilizing this payment system: splynx-payfast and splynx-payfast-rb.
The first add-on - splynx-payfast
is used for payments which proceed only in the PayFast system.
You can find more information about the splynx-payfast add-on in the following article: PayFast
The second add-on - splynx-payfast-rb
can work with different credit cards using PayFast. It enables you to charge all customers using Direct debit order. You can find information about it in this article.
PayFast makes use of ports 80, 8080, 8081 and 443 only. So your
Splynx Url
has to be on the same ports!
The add-on can be installed in two method: via the CLI or the Web UI of your Splynx server.
To install the splynx-payfast-rb add-on via CLI, the following commands can be used:
apt-get update
apt-get install splynx-payfast-rb
To install it via the Web UI, navigate to Config → Integrations → Add-ons
:
Locate or search for the splynx-payfast-rb add-on and click the Install icon in the Actions column:
Thereafter, you need to log into your account at https://www.payfast.io/ and enable Subscription state and Ad hoc payments state:
Also, it's necessary to set your Notify Url, for example, https://<your_domain>/payfast-rb/notify
. When a successful payment is made, PayFast will send an Instant Transaction Notifications (payment confirmation) to this URL before redirecting the customer to the return_url:
For more information about recurring billing integration, please visit the PayFast website.
Once these options have been configured, you need to set up the parameters in Config → Integrations → Modules list
. Click the Edit (config) icon:
To add a PayFast-RB payment account, a customer should navigate to their Customer Portal, open Finance → PayFast-RB
and enter their credentials.
All customer personal information related to their bank account is stored encrypted in the database.
After that, a customer will be redirected to a new page to complete a zero payment:
The following three screenshots are taken from the sandbox environment. In the production environment, the general appearance of the page and its properties may be different
A zero payment verification may take up to 2-3 minutes, please do not close the next window:
If a zero payment was successful, the following message will be displayed and the customer will be redirected back to the Customer Portal:
Customers can pay their invoices on the Customer Portal both under Finance → Documents and from the Dashboard:
Customers can top up their balances with the Pay by
button under the Dahsboard of their Customer Portal:
You can also charge all customers in one click. Navigate to: Finance → Invoices
, set the period and click the Charge
button as shown below:
Using the payment links is the simplest way to accept credit card payments. This feature is available in the PayFast-RB add-on for paying Invoices and Proforma Invoices. It provides convenience and simplicity for your customers, thereby increasing the likelihood of on-time payments.
For instance, you can include a payment link in the email containing the (proforma) invoice. As a result, customers can quickly make payments by clicking on the link instead of logging into their Portal page.
If customers have already saved their card details on the Customer Portal, they won't need to provide additional information when using the direct payment link in the future.
However, if the credit card is not linked to the Customer Portal, payment details will need to be entered each time the payment link is used.
To create a direct payment link, please use the patterns below:
To pay the Invoice:
https://<splynx_domain_address>/payfast-rb/direct-pay-invoice-by-id?item_id=<Invoice_id>
https://<splynx_domain_address>/payfast-rb/direct-pay-invoice?item_id=<Invoice_number>
To pay the Proforma Invoice:
https://<splynx_domain_address>/payfast-rb/direct-pay-proforma-by-id?item_id=<proforma_id>
https://<splynx_domain_address>/payfast-rb/direct-pay-proforma?item_id=<proforma_number>