Allow customers to manage their payment methods without a subscription
Currently, we don't allow customers to manage their payment methods if they don't have any subscription. For that we check if a customer has a subscription and that check makes a request to Zuora to query for customer's subscriptions.
In light of the ongoing refactoring of Zuora mixin this check will be moved from the Customer
model to BillingAccount
model and that results in additional queries to load the root page.
The proposal here is to remove that check completely and allow customers to manage their payment methods without purchasing a subscription. We have everything in place mostly, see the image below for the case when the customer does not have a billing account or any payment method:
Things to consider:
- When the customer doesn't have a billing account and they create a payment method. Should we create a billing account automatically? To link the newly created payment to a billing account, we need to create it.
- When the customer has a payment method and they want to change any existing payment method, should we allow that operation? In theory, we should as nothing extraordinal could happen.
Edited by Vitaly Slobodin