Skip to main content

#204 Cannot reach Stripe

Posted in ‘Stripe Checkout for Phoca Cart’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information (available for public)

PHP version
8.4.14
Phoca Cart version
5.2.2
Stripe Checkout for Phoca Cart version
2.20

Latest post by b2z on Wednesday, 05 November 2025 21:48 EET

MMSMOAUser

I had a working version of Virtuemart running with a working Stripe payment plugin. I've uninstalled all that for Phoca and all works except that this plugin cannot reach Stripe itself citing lack of certs.

Unexpected error communicating with Stripe. If this problem persists, let us know at support@stripe.com. (Network error [errno 77]: error setting certificate verify locations: CAfile: CApath: none)

sulpher

Hello Brian,

Please give a link to the front-end where the product can be added to the cart.

System Task
system
The ticket information has been edited by Brian Mason (MMSMOAUser).

sulpher

Quote:
Unexpected error communicating with Stripe. If this problem persists, let us know at support@stripe.com. (Network error [errno 77]: error setting certificate verify locations: CAfile: CApath: none)

Snimok-ekrana-2025-11-05-v-19-56-53

 

This issue is not related to Joomla. It is caused by an SSL certificate validation problem on the server side. PHP/cURL/OpenSSL is unable to locate or use the list of trusted root certificates required for secure HTTPS connections.

What the “errno 77” error means

This error indicates that PHP (via cURL) cannot find the CA certificate bundle (the file containing trusted root certificates). Without this file, the server cannot verify the authenticity of secure connections, such as requests to api.stripe.com.

In other words, the Stripe API connection fails because the server does not know which Certification Authorities to trust.

Possible causes:

  1. The server does not have a CA bundle installed.

  2. PHP is configured without the correct certificate path (curl.cainfo, openssl.cafile).

  3. SSL or cURL was compiled without a CA package.

What should be checked

Please verify the SSL certificate installed on your hosting.
If the certificate chain is incomplete (missing Intermediate Certificates), Stripe API connections can fail.
This often happens when the SSL certificate was installed manually without the full chain, instead of using Let's Encrypt / AutoSSL.

Next step

Please contact your hosting provider or server administrator and ask them to:

  • Ensure the CA bundle is installed and up to date.

  • Confirm that PHP/cURL/OpenSSL is using the correct certificate path.

  • Verify that the SSL certificate includes the full trust chain.

Once the SSL configuration is corrected, the Stripe payment integration should work normally.

MMSMOAUser

Thanks. I've opened a ticket with my hosting provider. Odd that my Stripe Virtuemart didn't have this issue, but perhaps it used its own cert vs. a lookup. 
Hosting provider replied:

"I have specified the exact location of server CA in php.ini files.
We have now completed all of the CA/TLS validation tests . Connectivity to Stripe is fully functional at both system and PHP level.

curl
cURL support => enabled
cURL Information => 7.61.1
SSL => Yes
TLS-SRP => Yes
MULTI_SSL => No
SSL Version => OpenSSL/1.1.1k
libSSH Version => libssh/0.9.6/openssl/zlib
curl.cainfo => /etc/pki/tls/certs/ca-bundle.crt => /etc/pki/tls/certs/ca-bundle.crt
core SSL => supported
extended SSL => supported
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.1.1k  FIPS 25 Mar 2021
OpenSSL Header Version => OpenSSL 1.1.1k  FIPS 25 Mar 2021
Openssl default config => /etc/pki/tls/openssl.cnf
openssl.cafile => /etc/pki/tls/certs/ca-bundle.crt => /etc/pki/tls/certs/ca-bundle.crt
openssl.capath => no value => no value
Native OpenSSL support => enabled
Native OpenSSL support => enabled

[root@host ~]#  openssl s_client -connect api.stripe.com:443 -servername api.stripe.com </dev/null 2>/dev/null | grep -Ei "Verify return code|Protocol|Cipher"
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Verify return code: 0 (ok)

cURL with OpenSSL is installed and supports TLS 1.3.
CA bundle is present at the OS level and validated.
This confirms that the environment for Stripe API communication is correct.

Please ask the plugin vendor to test now. If issue persists, please ask them for exact steps to recreate issue with a sample php file(or how they are testing it)"

MMSMOAUser

stripe.php was calling out a cert that isn't there:

return \realpath(**DIR** . '/../data/ca-certificates.crt');

I went up a level and made a data folder and dropped a new cert into it and now it works.

I would guess your recent build isn't creating it and others have it from a previous version.

b2z

Hi Brian! 

Thank you very much for your investigation and report!

During the latest plugin update "data" directory was missed.  Sorry for that. We have released a fix version.

If you are happy with our support and our extension, we would be grateful if you took the time for a small review at the JED.

https://extensions.joomla.org/extension/extension-specific/phoca-cart-extensions/stripe-for-phoca-cart/

Kind regards,

Dmitrijs

Support information

Support hours: You can get our help: Monday - Friday / 09:00 to 17:00 (GMT+3), but not limited. Our staff is pleased to provide Premium support to every paid subscriber asap, but sometimes you should be ready to wait for our reply for up to 3 days.


Our time: / Your time:

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. We also ask you to remove temporary credentials at your site after the problem is resolved. Thank you.

Support of free extensions is not provided on this forum. Please submit your questions or report issues via Github tracker. See link on the product page.