Our Partner & Developer boards on the community are moving to a brand new home: the .dev community forums! While you can still access past discussions here, for all your future app and storefront building questions, head over to the new forums.

Payment methods created from Stripe with invalid billing addresses blocking order editing

Solved

Payment methods created from Stripe with invalid billing addresses blocking order editing

Brian_S
Shopify Partner
171 21 44

We've had many migrations from other platforms where Stripe was being used for billing. Creating Shopify CustomerPaymentMethods works as expected but there's a pretty big issue if the billing address (in Stripe) was "invalid" according to Shopify at the moment the Shopify payment method is created; it will remain invalid unless the customer is notified and has to replace or update it manually (which tends to have negative effects on average LTV for merchants).  Invalid billing addresses in Stripe lead to orders with invalid billing addresses which are uneditable which is problematic four our merchants.

 

This seems very avoidable though. A couple options seem simple enough: 

1. Let Shopify subscription apps update customer payment method billing addresses. I'm sure its in the vein of security but I don't see why there wouldnt be an API to update CPM's billing addresses

2. Shopify could/should pull the latest billing address from Stripe before billing attempts.  We've attempted to correct billing addresses on the original Stripe payment methods, hoping that Shopify would pick up the change but it doesn't work. 

 

The problem this causes is that Orders created by Subscription Contracts with CustomerPaymentMethods with invalid billing addresses become uneditable.  Orders with invalid billing addresses can not be edited, blocking a lot of important functionality around those orders.  And it seems the only option that Shopify has given merchants is to tell their customers to update their payment methods (even though the billing is working just fine). 

 

My requests/questions are:

 

- Is there any way that you could help us with a specific merchant that is struggling with this currently?

- Do you have any guidance on how to correct invalid billing addresses without contacting customers?

- Do you have any guidance on how to avoid this for future migrations? 

 

Thanks you!

Brian Singer
CTO & Cofounder of Subscription Service - Awtomic
Accepted Solution (1)

Brian_S
Shopify Partner
171 21 44

This is an accepted solution.

ok - this has become enough of an issue that we had to find a work around and there does seem to be one.  I don't think this is a Shopify security issue, I think it's just lack of functionality. 

 

NOTE: this is not actually a solution. It's a pretty annoying work around.

 

In order to adjust the billing address on a payment method that you migrated from stripe: 

  1. Fix the billing address in Stripe for the PM you imported
  2. Remove the PM from the subscription (from any subscription that its on)
  3. Revoke the PM
  4. Re-import the PM from stripe
  5. Add the newly created (/imported) PM to the subscription (any sub it was on previously) 
Brian Singer
CTO & Cofounder of Subscription Service - Awtomic

View solution in original post

Replies 5 (5)

J-ROM
Shopify Staff (Retired)
66 6 8

Hey Brian,

I think you're right that the inability to update a remote customer payment method's billing address is due to security concerns.

In order to assist further, could you provide examples of what made the billing addresses you've encountered invalid for Shopify? (please don't share any customer information, just indicate the class of errors e.g. "postal code doesn't match street address").
In these situations, how would a subscription app know or be able to derive the correct billing address without customer input?

Thank you for your patience while I work out this problem with you.
J-ROM

To learn more visit the Shopify Help Center or the Community Blog.

Brian_S
Shopify Partner
171 21 44
I think you're right that the inability to update a remote customer payment method's billing address is due to security concerns.

Yea - it's strange though bc you can manage the billing address with a PayPal billing agreement

 

 

In order to assist further, could you provide examples of what made the billing addresses you've encountered invalid for Shopify? (please don't share any customer information, just indicate the class of errors e.g. "postal code doesn't match street address").

The billing addresses were invalid in a number of different ways. Some were missing zip codes, some were missing countries, some ONLY had zip codes.  The ones that are invalid are clearly invalid. It's less of an issue that they start out invalid (or how they start out that way) and more of an issue that they are STUCK as invalid and Shopify is blocking order editing as a result. 

 


In these situations, how would a subscription app know or be able to derive the correct billing address without customer input?

Good question - there are a few things that come to mind:

  • The subscription platform that my most recently impacted merchant migrated from actually had the correct billing address in its system but Stripe had invalid billing addresses on the payment methods (which is where Shopify gets the billing address from). I don't know why there was a discrepancy between the Stripe and the previous subscription platform, but in this case we have access to the correct, valid billing addresses and if we had an API to update the billing address on CustomerPaymentMethods then we could correct them. 
  • We could allow the merchant to enter the billing address if they know it (they often already do or are in contact with their customers offline and could enter it in on their behalf)
  • We could allow the customers themselves to enter it into the same place where they manage their subscriptions without having to go through the inconvenient flow of triggering an email to themselves, finding the email, opening the link and entering the address.

 

Thanks for your help on this @J-ROM 

Brian Singer
CTO & Cofounder of Subscription Service - Awtomic
J-ROM
Shopify Staff (Retired)
66 6 8

Hey Brian,

 

Thanks for sharing this context. I don't have a workaround to offer at the moment, nor can I promise any timeline, but I've passed down this information to our technical teams for their consideration.

I also know we are working on a plan to allow customers to skip the email step when updating their payment method details. The best way for subscription apps to prepare for this is to use the customerPaymentMethodGetUpdateUrl mutation as explained in this forum post (middle paragraph).

Hope this helps.
J-ROM


To learn more visit the Shopify Help Center or the Community Blog.

Brian_S
Shopify Partner
171 21 44

Thanks J-ROM - 

 

If you think it might be possible to bulk update billing addresses for a Shopify Plus merchant we (and they) would really appreciate it.

 

🙏

Brian Singer
CTO & Cofounder of Subscription Service - Awtomic

Brian_S
Shopify Partner
171 21 44

This is an accepted solution.

ok - this has become enough of an issue that we had to find a work around and there does seem to be one.  I don't think this is a Shopify security issue, I think it's just lack of functionality. 

 

NOTE: this is not actually a solution. It's a pretty annoying work around.

 

In order to adjust the billing address on a payment method that you migrated from stripe: 

  1. Fix the billing address in Stripe for the PM you imported
  2. Remove the PM from the subscription (from any subscription that its on)
  3. Revoke the PM
  4. Re-import the PM from stripe
  5. Add the newly created (/imported) PM to the subscription (any sub it was on previously) 
Brian Singer
CTO & Cofounder of Subscription Service - Awtomic