New European regulation for online payments with Stripe

  1. Address is there - and seems to work. However one small caveat. I use a 3rd party tax handling - and this requires the address - but the sales tax 0.00% applied information is confusing (the 3rd party option (quaderno as stripe plugin) is calculating the taxes after buying and decreases the actual price before taxes so customer always pays the same no matter where he is from).

Maybe you could remove the bogus tax and make a real address option instead.

  1. I used the Stripe card: 4000002500003155
    and get the following error:
    “Action required: 3D Secure authorization”
  • above and below the form:

"This PaymentIntent pi_1FQ86HJ1O9wogKkFdpTLNT72 cannot be confirmed using your publishable key because its confirmation_method is set to manual. Please use your secret key instead, or create a PaymentIntent with confirmation_method set to automatic.

what is going wrong here?" Maybe I missed something that I need to change in my Stripe account? Or in the Stripe settings of s2member? Sorry haven’t got time today to continue on this. But if something needs to be changed here still please mention it here and in the instructions for upgrading s2member.

Here is my stripe form:
[s2Member-Pro-Stripe-Form level=“1” ccaps="" desc=“1Euro_One_Time_Payment_for_1_year_Openmtbmap_access_no_subscription” cc=“EUR” custom=“” ta=“0” tp=“0” tt=“D” ra=“1” rp=“1” rt=“Y” rr=“BN” coupon="" accept_coupons=“0” captcha=“0” /]
[s2Member-Pro-Stripe-Form level=“1” ccaps="" desc=“1 Euro_One_Time_Payment_for_2_years_Openmtbmap_access_no_subscription” cc=“EUR” custom=“” ta=“0” tp=“0” tt=“D” ra=“1” rp=“2” rt=“Y” rr=“BN” coupon="" accept_coupons=“0” captcha=“0” /]
[s2Member-Pro-Stripe-Form level=“1” ccaps="" desc=“1 Euro_One_Time_Payment_for_3_years_Openmtbmap_access_no_subscription” cc=“EUR” custom=“” ta=“0” tp=“0” tt=“D” ra=“1” rp=“3” rt=“Y” rr=“BN” coupon="" accept_coupons=“0” captcha=“0” /]
[s2Member-Pro-Stripe-Form level=“1” ccaps="" desc=“1 Euro_One_Time_Payment_for_4_years_Openmtbmap_access_no_subscription” cc=“EUR” custom=“” ta=“0” tp=“0” tt=“D” ra=“1” rp=“4” rt=“Y” rr=“BN” coupon="" accept_coupons=“0” captcha=“0” /]
[s2Member-Pro-Stripe-Form level=“1” ccaps="" desc=“1Euro_One_Time_Payment_for_8_years_Openmtbmap_access_no_subscription” cc=“EUR” custom=“” ta=“0” tp=“0” tt=“D” ra=“1” rp=“8” rt=“Y” rr=“BN” coupon="" accept_coupons=“0” captcha=“0” /]
[s2Member-Pro-Stripe-Form level=“1” ccaps="" desc=“1 Euro_One_Time_Payment_for_25_years_Openmtbmap_access(Lifetime)_no_subscription” cc=“EUR” custom=“” ta=“0” tp=“0” tt=“D” ra=“1” rp=“25” rt=“Y” rr=“BN” coupon="" accept_coupons=“0” captcha=“0” /]
[s2Member-Pro-Stripe-Form update=“1” desc=“Update_your_billing_information.” captcha=“0” /]

1 Like

Well - even updating the Stripe API version to 2019-09-09 did not change anything here. The 3D Secure Authentication is not opening. I’m rolling back to 2018-08-23 for now as i don’t know if the current API version is supported by old s2member versions. Would be nice if you, Christian, can help us out here if update is safe and also of course inform that the upgrade of Stripe API is needed (or did you set this in the new s2member manually which is possible so manual updating not needed?) - because I think 3D Secure will only work with the 2 latest Stripe API versions.

Anyone else got an idea what else could be running wrong here? Because I’m sure I’m still missing something - 3D Secure is simply not working and I’m sure this credit card has been tested already.

All credit cards listed under:

Regulatory test card numbers


3D Secure test card numbers and tokens

should work for my understanding before the new s2member version is published…

1 Like

Found that issue and another thing. Fixed on my copy. Running several tests before sending you the new copy. Thanks for finding that! :smiley:

1 Like

Thanks - the newest beta from 10. October is now working correctly concerning SCA (other problems of course still exist)

1 Like

Thank you for the feedback! Very glad to hear that. :smiley:

When you say other problems, which do you mean? Did you start other threads for those?

1 Like

just started a thread and replied to the one you correctly found. BTW my main other gripe for a long time that paypal payments were missed is solved since the update 190822
(it was solved by this patch here: Error with Paypal Auto-Return URL )
I used to have about 1-2% of all payments gone into Nirvana (especially troublesome because if s2member sent them into Nirvana - I had to manually write invoices because my invoicing solution depends on s2member getting the payment recognized so each VATMOSS return I spend 5-6 hours using excel to find the payments missing by comparing invoices registered to paypal activity downloads and then repairing s2member accounts and manually by hand writing the invoices)

Less important but also still current: (s2Member / API Notification Email) - Payment - wrong user data

1 Like

Found another really important bug!!!

The address is asked for using bogus tax - but it isn’t forwarded to Stripe!!!
So right now asking for the address is simply broken!

A similar bug got fixed 2 or 3 days before 01.01.2015
(asking for address and then not storing it is a useless as it can be)

Please fix this ASAP and send out a new beta. The current version is not production ready…

(to try out - check that all of the following three are different and working: a) credit card country b) address country as user indicated c) postal code as user indicated d) IP address forwarded to Stripe.

I think right now c) is somehow broken. Having all of them is essential for correct VAT calculation (as most countries require 3 independent proofs).

Edit2: I first thought I found the address data - as I could find it under Metadata. But that address was still present as I used the same email as previously once to pay via ThriveCart test payment. So actually right now the billing address is not forwarded at all.

1 Like

Tax address is not collected. Country and postal code are, when taxes are configured in s2, but that was never stored. The taxes part is behaving as it used to, or am I wrong?

I’m not saying it shouldn’t be improved, and there’s many things I have planned to make the taxes part of s2Member better, but it’s unrelated to the updated Stripe integration and SCA support to collect payments.

The card’s country and postal code don’t need to, or have to match the tax country or postal code, or the customer’s IP. Stripe’s card element doesn’t require the postal code, but it can ask for it optionally as an extra verification.


You haven’t understood the problem at all. S2member only needs to forward the billing address to stripe. The new release breaks this. It’s been working since 2015.

Oh, I think I understand what you mean…

The previous implementation was using the old Stripe Checkout modal to collect the payment info. It also made it possible to collect billing address, although it wasn’t required for the payment. That Checkout wasn’t SCA ready.

That is the modal that you complained added an extra step and would prefer removed. The new implementation doesn’t use the new Checkout with SCA support (which now is different and can’t be implemented that same way).

I now used Stripe’s Elements, which puts the card field inline, without the extra steps of clicking the button for the modal, then saving that, before submitting the payment form.

Elements doesn’t have billing address collection, because it’s not required for payment.

I don’t consider the integration broken. Payments are collected successfully, with SCA covered.

I will look into how to add those fields separately, though, to help those that rely on Stripe for billing.

Well the current taxation is not usable in any country - the information gathered is simply dropped, without storing proof who is gonna believe you later about customer location? Even the USA now has sales tax nexus in most states and requires any kind of E-services to collect billing address. EU, Australia, new Zealand, Japan, Russia and many other countries too. Invoices are mandatory in most countries and without address.

Before there was also the possibility to get billing address via the stripe popup. But you removed that too off course.

So I do consider s2member without billing address collection broken for production.

Custom fields could be used to collect address, but they Are not recognised with the corresponding fields at Stripe so also not usable. Cannot be hard to get the billing address to stripe, either by forwarding the current fields or by adding the Stripe address collection into the checkout again

I sent you guys a new update. This one adds the billing address to the Stripe customer when taxes are enabled in s2.


1 Like

Sorry - I can now additionally see another field - but the address is not arriving at Stripe.
If working in first Screenshot - instead of Address - there would be the Zip Code

And here in the second screenshot it would show the address under billing_details.

Those are the required fields - as 3rd party tools like or other invoicing/billing/shipping systems would look for.

(and yes I know - the zip code for the credit card verification is something completely different. If that is enabled the customer would be asked twice for zip-code. Once for credit card, once for address.

Actually that brings me to a second thought - I think we would need the name fields again for the credit card, or am I incorrect?

Credit cards usually require the name to be correct. However sometimes (for my website like 5-10%) people use their husbands/wife/parents credit card. Then they need to be able to enter their own name, and the name on the credit card. At least in Europe usually websites ask you once for name of account owner - and then again for the name of the credit card owner.

Plus another thing - not sure how useful with google checkout and so on - Stripe used to have the remember me checkbox - so people can store their credit card for future purchases with Stripe. Has this been removed? I think I prefer not to use it anyhow - just wondering.

here is a screenshot from the old s2member implementation - note depending on the implementation, instead of just the postal code also the full address could show up here:

And here the billing address

I only asked for city and postcode (but actually the city got entered into the state field). I did not ask customers for street/housenumber as I don’t need to do that (sales only up to 100€, so simplified invoices are possible - if over 200-300€ then usually street would be a must too, but city and postal code are essential to correctly calculate taxes, as quite a few countries have different tax rates based on the region and that can be identified by the postal code. Not sure about us, maybe town vs city is important there - but I am below the nexus for all states (and will have to refund/return any payment from those non EU countries/states in the US which want to have VAT from the sale without nexus - Avalara is a great resource to understand VAT )

but the address is not arriving at Stripe
Those are the required fields

As I mentioned in the private message, I added the address to the customer, not the payment method. I see that the charge is getting the billing details from the payment method, not the customer, and your tool gets it from the charge, not the customer. Got it.

I’ll work on that.

here is a screenshot from the old s2member implementation
I only asked for city and postcode

The old implementation, with the Stripe Checkout modal, did ask for the street address and state, not just the city. And you were using the s2 tax fields, right? Those are country, state and postal code.

Yesterday I added street and city to the tax section and named it billing address. At this moment I will not add flexibility to have this or that field show up and be required or not. I can’t skip the state field, without now having to change the taxes part of s2.

I will make tax and UI improvements later, but they’re not required at the moment for the Stripe payments to work. I really want to make the new release for those waiting for the new Stripes SCA implementation.

To remove the street and state, you could probably write some JS to add a default value to those fields, and hide them from the form, so they aren’t seen and don’t give an error on submit.


1 Like

I couldn’t find the address at the customer either… Where would it be?


Also in the customer’s page, under Billing Information, e.g.:


Okay I will check if it’s working with at the moment. Haven’t had any non PayPal payment so far today

1 Like

Nope - I really need the address added to the billing address. And I cannot find the address info - your link is not working. And in the payment that I see under customer billing information - it says no details:

cut here to hide customer email address

and here - same as yours I think but empty:

Maybe you use another version than the one you gave us for download?
The last version I got from you is labeled 08 October - not 09 or 10… I think I’m missing the last version…