How do I integrate PayFast with WP Invoice?

How do I integrate PayFast with WP Invoice?

You can use PayFast with WP-Invoice by installing http://wordpress.org/plugins/wp-invoice/, which is an invoicing and billing plugin for WordPress.

This will give your WordPress site, Invoicing capabilities and we then provide a payment module for WP-Invoice which will enable you to accept payments with WP-Invoice using PayFast.

Installation requirements

  • A working WordPress installation with the WP-Invoice Plugin installed

Installation and testing for WP-Invoice v3

To install the PayFast payment module, do the following:

  1. Download the payment module from our site.
  2. Unzip the module to a temporary location on your computer.
  3. Copy the wp-content folder in the archive to your base wordpress folder.
    • This should NOT overwrite any existing files or folders and merely supplement them with the PayFast files.
    • This is, however, dependent on the FTP program you use.
    • If you are concerned about this, rather copy the individual files across as per instructions below.
  4. Log in to the WordPress Administrator console.
  5. Using the main menu, navigate to WP-Invoice > Settings > Payment.
  6. Select the default payment method drop-down and click PayFast.
  7. Click the PayFast link that appears and the options will then be shown below.
  8. Change default currency to South African Rand, leave everything else as per default, and click Save All Settings.
  9. The module is now installed and ready to be tested with the PayFast Sandbox. To test with the sandbox, use the following login credentials when redirected to the PayFast site:

Copying the individual files across

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 corresponding locations within your installation:

The list of files needed in your online installation is as follows:

wp-content/plugins/wp-invoice/lib/gateways/js/wpi_payfast.js
wp-content/plugins/wp-invoice/lib/gateways/payfast/payfast_common.inc
wp-content/plugins/wp-invoice/lib/gateways/templates/wpi_payfast-frontend.tpl.php
wp-content/plugins/wp-invoice/lib/gateways/class_wpi_payfast.php

Testing that it is working correctly

If you followed the installation instructions above, the module is in 'test' mode and you can test it by creating an invoice and completing the payment cycle through the PayFast sandbox, 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 or Instant EFT 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.

Installing the PayFast module for WP-Invoice v4

To install the PayFast payment module, follow the instructions below:

  1. Download the payment module from our site.
  2. Unzip the module to a temporary location on your computer.
  3. Copy the “wp-content” folder in the archive to your base wordpress folder.  
    • This should NOT overwrite any existing files or folders and merely supplement them with the PayFast files.
    • This is however, dependent on the FTP program you use.
    • If you are concerned about this, rather copy the individual files across as per instructions below.
  4. Log in to the WordPress Administrator console.
  5. Using the main menu, navigate to Settings > Invoice > Settings > Payments.
  6. Select the default payment method drop-down and click PayFast.
  7. Click the PayFast link that appears and the options will then be shown below.
  8. Leave everything else as per default and click Save All Settings.
  9. The module is now and ready to be tested with the PayFast Sandbox (note: sandbox does not currently work with subscriptions).
  10. To setup a subscription, select Recurring Bill in the right side menu and fill in the PayFast Subscription fields as necessary.
  11. Ensure that subscriptions are enabled on the Integration page (under Settings) on your PayFast account.

Please note: When creating an invoice, the current PayFast configuration is set to that invoice can not be changed. (eg. If PayFast is set to test mode when you create invoice 1, then invoice 1 will always use the sandbox, even if PayFast is later set to live mode).

Going live

In order to make the module “live”, do the following:

  1. Log in to the WordPress Administrator console.
  2. Using the main menu, navigate to Invoice > Settings > Payments.
  3. Click PayFast, change the configuration values as below:  
    • PayFast Mode = “LIVE”
    • Merchant ID = <Integration Page>
    • Merchant Key = <Integration Page>
    • Log Debugging Info = No
  4. Change the other fields as per your preferences.
  5. Click Save.

    • Related Articles

    • How do I integrate PayFast with WP Invoicing?

      This module was developed by WP Invoicing, so please visit their website for integration support. You will need to be registered on PayFast to accept payments and get your Merchant ID. For further inquiries, visit the Invoice inquiry page. Demo site ...
    • How do I integrate PayFast with WP eCommerce?

      In order to use PayFast with WP e-Commerce, you will need to install the PayFast payment module for WP e-Commerce which is provided by PayFast. Installation requirements A working WordPress installation with the WP e-Commerce plugin installed ...
    • I upgraded WordPress/WP Invoice and now 'PayFast' no longer appears as a payment option.

      When upgrading either WordPress or WP Invoice, the PayFast payment module files may be deleted. You simply need to reinstall the module following the installation procedures and the 'PayFast' option will reappear with your previous setting intact.
    • How do I integrate PayFast with Invoice Ninja?

      This module was developed by Invoice Ninja, so please visit their website for integration support. You will need to be registered on PayFast to accept payments and get your Merchant ID.
    • How do I integrate PayFast with WP EasyCart?

      This module was developed by WP EasyCart, so please visit their website for integration support. You will need to be registered on PayFast to accept payments and get your Merchant ID. In order to use this integration, you would need to have the WP ...