Proposal For Disabling the Default Payment Cards

Requirement

  • Currently, when customers add a new payment method on the web store, the “Default” checkbox is automatically selected, overwriting any existing default payment method. This auto-selection is causing issues for customers with terms-based billing, as it conflicts with their expected billing setup. 
  • Implement a solution to prevent the “Default” checkbox from being automatically selected particularly for accounts with terms-based billing. 

 

Deliverables     

 

The ‘Default’ checkbox field on the customer’s payment card form is currently being set based on the selection of payment cards in the webstore using the available radio button. 

 

 

 

When an order is placed using a credit card payment through the webstore, the user is required to select one of the available credit cards or add a new card and choose it for payment using the radio button. At that time, the selected payment card is automatically set as the default. This behaviour cannot be disabled through the webstore, and users can only change the default card by selecting a different card using the radio button. The ‘Default’ field can only be manually disabled by editing the payment instrument form in the customer record in NetSuite. 

 

To resolve the issue of automatically setting the default payment card, the implementer will add and activate an extension named ‘UnsetPaymentCard.’ This extension will disable the default credit card for the customer if the payment method is terms-based. 

  • When a user logs in to the webstore, the implementer will check the active payment methods available. 
  • If the active payment method is a credit card: Users can select a card for the purchase, which will be set as the default payment card. If a default payment card already exists, it will remain unchanged unless the user selects another card based on their preference. The purchase will be completed using the current default card available. 
  • If the active payment method is terms-based: The implementer will check if a default credit card is available. If a default credit card exists, it will be disabled. 
  • When a user updates their current payment method from a credit card to terms in the webstore, the implementer will trigger the functionality to check for an existing default credit card and disable it, if any exists. 
  • When a user places an order using a credit card, the default payment card will remain enabled for the purchase. To disable the default payment card after the purchase, the implementer will add a user event script. This script will run either in the after submit event of sales order creation or during the editing of the sales order.  

Scope Limitation 

  • The proposal is based on the discussions, anticipations, and understanding through our discussions and email. Any requirement, change, and feature development identified during the development process will be treated as change request.  
  • The functionality implemented in the extension will work when the user accesses the payment section during checkout on the webstore, provided the specified conditions are satisfied. It will not apply in other areas or scenarios outside the defined conditions. 
  • The functionality will be available to all customers, even if they have only a credit card payment method. 

 

 

 

Assumption 

  • The scope and estimate are based on our current understanding of the requirements. Any changes or additional feature development identified during implementation will be treated as a change request. 
  • Assuming the sandbox/staging environment is already available, the development will begin in this environment, and changes will only be moved to production after receiving confirmation. 
  • The current default payment card logic in the webstore can be overridden using custom scripting and extensions without conflicting with existing webstore functionality. 

Leave a comment

Your email address will not be published. Required fields are marked *