Prerequisites:
-
Subscription Management + Billing
-
Braintree payment provider
Braintree has recently introduced new rules that require a billing country for VISA cards, so in case your My Account section does not have this option, users might not be able to add VISA cards.
In such a case, you would need to either revert all of the below-mentioned templates back to their default version or apply the following changes:
My Account Wallet Components
-
Add the
<script type="text/ng-template" id="/widget/myaccount/partials/wallet/billing_country.shtml">component. -
Add the code snippet
<my-account-billing-country></my-account-billing-country>to the form in the section starting withwidget/myaccount/partials/wallet/wallet_list_form.shtml.
My Account Common Components
-
Add the
/widget/checkout/component/partials/country-selector.htmlcomponent. -
Add the
/widget/checkout/component/partials/select-selector.htmlcomponent.
My Account Layout
-
Revert this template back to default.
The essential part here is the billing country selector component in the Wallet template, which requires additional components in other templates. If you want to avoid having a billing country selector in your My Account, you can add in the My Account Style template the CSS code display: none for the billing-country-form class. This way the billing country will be always picked up based on the user's geo-location.