Stripe test only charges issue

Hi All
I have s2 members pro and am integrating Stripe. I have set up all keys etc correctly and stripe says the stripe account is set up correctly. When using the living keys and making a real transaction using a recurring pro form I get “you can make test charges right now”

Any ideas?

Thanks all

Wayne

Lincoln University, I see! I hear it has expanded considerably over the last few years!

As for your question, have you (a) saved your changes and (b) cleared all caches (including browser caches) or tried using a different browser?

Also, have made sure you have a “Live” webhook at Stripe?

1 Like

sorry for the delay, Ha yes Lincoln is getting larger. think its around 13000 students at the mo.
Anyways - tried different browsers, private windows, updated keys, Stripe seem to think it is not an issue their end, however I get an invalid api keys error when submitting the pro form. Stripe lets me add card details etc, its submitting those details that fails, I have checked the logs and can see a TLS1.0 issue. The site is on https, but on a windows server.

[jsonBody] => Array
(
[error] => Array
(
[type] => invalid_request_error
[message] => Stripe no longer supports API requests made with TLS 1.0. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at https://stripe.com/blog/upgrading-tls.
)

    )

has anyone else had this issue?

That is a problem with your SSL certificate.

Have checked the SSL with our providers and it supports everything https://www.ssllabs.com/ssltest/analyze.html?d=redlettergreetings.com
I think I need to speak to stripe again. My only issue is that s2members gives wrong api credentials error?

W

I believe s2 members pro form stripe uses tls 1.0 protocol and needs to be updated?

Not unless you are using an outdated version of s2Member Pro and even then I’m not sure that would be the case. I say this because Stripe is working perfectly for me on several sites. If this was the case, everyone using s2Member Pro for Stripe should be getting these errors.

Are you using an outdated version of the Stripe API?

Have you taken a look at the HTTP logs for s2Member?

yep using s2Member Pro v170221 and I checked the logs.
last log entry is
indent preformatted text by 4 spaces
-------- Output string/vars: ( Wed, 03 May 17 09:43:52 +0000 ) --------
Stripe_AuthenticationError Object
(
[message:protected] => Stripe no longer supports API requests made with TLS 1.0. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at https://stripe.com/blog/upgrading-tls.
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => E:\domains\redletwin\www\wp-content\plugins\s2member-pro\src\includes\classes\gateways\stripe\stripe-sdk\lib\Stripe\ApiRequestor.php
[line:protected] => 152
[trace:Exception:private] => Array
(
[0] => Array
(
[file] => E:\domains\redletwin\www\wp-content\plugins\s2member-pro\src\includes\classes\gateways\stripe\stripe-sdk\lib\Stripe\ApiRequestor.php
[line] => 269
[function] => handleApiError
[class] => Stripe_ApiRequestor
[type] => ->

Like @JediShark, I am currently using s2Member with Stripe on several sites without any issues. I am using Let’s Encrypt for the SSL certificates.

As I said before, there’s a problem with your SSL certificate. It doesn’t matter what the site to which you hyperlinked might say; it’s not providing what Stripe wants. I have seen this happen before (with Comodo certificates). That’s why I switched to Let’s Encrypt.

Thanks Tim, I have spoken with stripe who can see all the transactions I have sent and they say we are using tls 1.0. Forgive my ignorance on this but I assume that this protocol is set by the stripe form submission functions via s2members. I Noticed that there is a public static $apiBase = ‘https://api.stripe.com;
but stripe documentation says it should $apiBase = ‘https://api-tls12.stripe.com’; which I have tried and get an error. Stripe say they do not think it is the comodo ssl? is the stripe sdk in s2members outdated? public static $apiVersion = ‘2015-07-13’;

Thanks

Wayne

I doubt it’s anything set by s2Member. I have never touched the s2Member code, and it’s all working for me.

When I had the problem with Stripe, it was my host who diagnosed that the problem lay with the SSL certificate and who then set me up with Let’s Encrypt (which they subsequently rolled out to everyone else who hosts with them).

ok, i have just tried in test mode which does not require an ssl certificate and changed credentials etc and i still get an error, wrong api credentials from s2members which I know are correct, but teh logs says tls error again… Something is not making sense?

LOG ENTRY: Thu May 4th, 2017 @ precisely 8:38 am UTC
PHP v5.4.45 :: WordPress v4.7.4 :: s2Member v170221 :: s2Member Pro v170221
Memory 17.27 MB :: Real Memory 17.75 MB :: Peak Memory 17.30 MB :: Real Peak Memory 17.75 MB


User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
-------- Function/Caller: ( get_plan ) --------
-------- Input vars: ( Thu, 04 May 17 08:38:49 +0000 ) --------
Array
(
[shortcode_attrs] => Array
(
[ids] => 0
[exp] => 72
[level] => 1
[ccaps] =>
[desc] => 60 Days free / then £10 GBP / Yearly (recurring charge, for ongoing access)
[cc] => GBP
[custom] => redlettergreetings.com
[ta] => 0.00
[tp] => 60
[tt] => D
[ra] => 10.00
[rp] => 1
[rt] => Y
[rr] => 1
[rrt] =>
[modify] => 0
[cancel] => 0
[unsub] => 0
[sp] => 0
[register] => 0
[update] => 0
[accept] => Array
(
)

        [coupon] => 
        [accept_coupons] => 0
        [default_country_code] => US
        [captcha] => 0
        [template] => 
        [success] => 
        [validate_zipcode] => 0
        [collect_billing_address] => 0
        [collect_shipping_address] => 0
        [reject_prepaid] => 0
        [singular] => 4432
        [level_ccaps_eotper] => 1
        [_coupon_applies] => 0
        [_coupon_code] => 
        [_full_coupon_code] => 
        [_coupon_affiliate_id] => 
    )

[metadata] => Array
    (
    )

[input_time] => 1493887129

)

-------- Output string/vars: ( Thu, 04 May 17 08:38:52 +0000 ) --------
Stripe_AuthenticationError Object
(
[message:protected] => Stripe no longer supports API requests made with TLS 1.0. Please initiate HTTPS connections with TLS 1.2 or later. You can learn more about this at
[string:Exception:private] =>
[code:protected] => 0
[file:protected] => E:\domains\redletwin\www\wp-content\plugins\s2member-pro\src\includes\classes\gateways\stripe\stripe-sdk\lib\Stripe\ApiRequestor.php
[line:protected] => 152
[trace:Exception:private] => Array

forget that the test mode still requires tls 1.2, back to the server guys again!

does anyone know what the problem was here? i am having the exact same issue. Right api live keys, got an ssl from hostgator, filled in all the right settings in the s2member plugin.

Stil it keeps saying when checking out that it is in test mode and that i can only use test cards…

I have no idea what the problem is. Does anyone here know what it is?

my ssl was set up incorrectly using ssl3 and not tls. I spoke with the hosts and they updated the settings to make sure it used tls only.