I get the error “Unable to find the socket transport ”ssl””.

I get the error “Unable to find the socket transport ”ssl””.

The problem is that the PHPinstallation on your server does not have OpenSSL support enabled. This is required in order for your server to communicate securely with PayFast to receive payment information.

You can check this by creating a file called “phpinfo.php” in the root of your website with the following content:

1<!--?php <br-->echo phpinfo();<br>?>


Once you have done this, browse to the file in your browser. This will output information about your server”s PHPinstallation to the screen. There should be a section entitled “OpenSSL” with a value showing “OpenSSL support = enabled” (similar to the image below). If you are experiencing this problem, this section will either not be there, or will be set to 'disabled'.

OpenSSL Enabled

To correct this problem, your hosting provider will need to enable OpenSSL support within PHP.

Note:This has nothing to do with an SSLcertificate and you don’t need an SSLCertificate! If you’re hosting provider advises you that you do, they are incorrect and we advise that you ask to speak to someone technical regarding this and potentially direct them to this helpful resource as well. Failing this, we advise that you move to a different hosting provider.

To enable OpenSSL for PHP, please ask your hosting provider to consult PHPresources on how to achieve this or direct them to the following resources:

    • Related Articles

    • On VirtueMart, I get the error message "Direct Access to this location is not allowed".

      You’ll get this error message when there is a mismatch between your version of VirtueMart and version of the PayFast VirtueMart module you have installed. There are three versions of VirtueMart currently in circulation: 2.0.0, 1.1.*, and 1.0.*. They ...
    • I upgraded WordPress/Event Espresso and now I get an error “item_name” required.

      This error may happen when the Event Espresso module did not initialise correctly. In some cases the “*_event_attendee_cost” table was not created, causing the SQL that fetches the item_name to break. To solve this, you just need to deactivate, and ...
    • In Xero, why does the 'Get bank feeds' button not work for PayFast?

      By setting up Xero according to the steps outlined here, the integration will handle the bank feeds automatically from our side and update your Xero systems when there are successful payments received, that were actioned from Xero. Additionally, it ...
    • Why am I getting a 'currency format invalid' error?

      PayFast only processes transactions in ZAR and does not provide a currency conversion service. This means the base currency of your store and product prices will need to be set to ZAR for us to be able to process the transaction. However, you may ...
    • What causes an invalid URL error?

      The PayFast system will pick up on ‘local’ or ‘localhost’ in the return, cancel and notify URLs and throw the invalid URL error. This is because it is not possible to test the ITN locally due to no server to server communication. The site needs to be ...