- πΊπΈUnited States TomTech
Automatically closed because Drupal 7 security and bugfix support has ended β as of 5 January 2025. If the issue verifiably applies β to later versions, please reopen with details and update the version.
While working on #2511156: Add a card form not saving customer profile entity β it was discovered that it's possible to lose sync between stored Drupal "Billing Address profile" entities and the address saved at Stripe through their API.
If a user updates their saved billing profile through Card on File, the address remains unchanged at Stripe. This can result in AVS (address verification system) problems such as "Zip code mismatch" errors, which leads to a poor customer experience since the user appears to have entered the correct address on file, but Stripe still has the old (invalid) address.
When a billing address profile entity is saved, call the Stripe API to update the address stored with that card. This is probably best achieved with hook_entity_presave() on the profile entity type.
Tests and review.
None.
If we go the entity_presave() route, this would result in an additional call every time a profile entity is saved. We should take some consideration to make sure the address is only updated in the instances that are relevant.
Another potential problem revolves around the Billing Address pane being in place at all at Checkout; ideally, we should disable or hide the Billing Address form at Checkout if the user has selected a CoF card. This problem should be addressed in a separate issue.
Closed: outdated
3.0
Code
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.
Automatically closed because Drupal 7 security and bugfix support has ended β as of 5 January 2025. If the issue verifiably applies β to later versions, please reopen with details and update the version.