title: GoCardless API access with self signed certificate
body: <p>I have a Laravel project in which I'm using the GoCardless API with the PHP Client wrapper from <a href="https://github.com/gocardless/gocardless-pro-php" rel="nofollow noreferrer">https://github.com/gocardless/gocardless-pro-php</a>. I have set it up very simply like so.</p>
  <pre><code>&lt;?php
  namespace App\Http\Controllers;
  
  use Illuminate\Http\Request;
  use GoCardlessPro\Client;
  
  class PaymentController extends Controller
  {
      /**
       * Display the index page where we begin a payment flow.
       */
      public function index(Request $request)
      {
          // Create a new instance of the GoCardLess Client.
          $client = new Client([
              'access_token' =&gt; config('gocardless.token'),
              'environment' =&gt; config('gocardless.environment')
          ]);
  
          $customers = $client-&gt;customers()-&gt;list();
  
          dd($customers);
      }
  }
  </code></pre>
  <p>However, whenever I attempt to make an API call I get the following error.</p>
  <blockquote>
  <p>cURL error 60: SSL certificate problem: certificate has expired (see
  <a href="https://curl.haxx.se/libcurl/c/libcurl-errors.html" rel="nofollow noreferrer">https://curl.haxx.se/libcurl/c/libcurl-errors.html</a>) for
  <a href="https://api-sandbox.gocardless.com/customers" rel="nofollow noreferrer">https://api-sandbox.gocardless.com/customers</a></p>
  </blockquote>
  <p>I am using Laragon on my local machine, and one thing two things that provides are:</p>
  <ol>
  <li>Pretty URLs using Virtual Hosts</li>
  <li>SSL certificates for your URLs</li>
  </ol>
  <p>I feel the issue lies in the fact that the Laragon SSL certificate is self signed.</p>
  <p>Here is the folder with the related items.</p>
  <p><a href="https://i.stack.imgur.com/40q8V.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/40q8V.png" alt="enter image description here" /></a></p>
  <p>I found a related issue on GitHub -&gt; <a href="https://github.com/gocardless/gocardless-pro-php/issues/126" rel="nofollow noreferrer">https://github.com/gocardless/gocardless-pro-php/issues/126</a></p>
  <p>However, I spoke to a GoCardless developer and they said the following:</p>
  <blockquote>
  <p>For the SSL issue this is most likely an issue on your localhost or
  Laravel - It's possible that if you still have the expired root CA
  cert in your trust store then OpenSSL is building a path to the bad CA
  cert and therefore considering it expired when it shouldn't be. See
  this post for details:
  <a href="https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire/" rel="nofollow noreferrer">https://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire/</a>
  Our team ran into this issue on some of our machines which were
  running OpenSSL 1.0.2, as an example I use Mamp to run my PHP, after
  updating Mamp and homebrew it subsequently updated openssl</p>
  </blockquote>