As I work toward syncing our as400 to our payment gateway, I’ve encountered an error both in PayTrace and Payeezy sample codes, generally when making a JSON post with Curl in PHP.

The error:

ssl certificate problem: self signed certificate in certificate chain

Almost ALL documentation / research on this suggests you turn off Curl verification (CURLOPT_SSL_VERIFYPEER off)  and yes, it works, but it’s just not an option when I’m trying to secure my server for payment transactions.

Finally, today, a simple solution.  The cause?   The PHP installation on Windows is missing a Curl certificate file.  Find out how to download and install here from this Snippets website.  Thanks to them for finally explaining this simply!