opencart / opencart

A free shopping cart system. OpenCart is an open source PHP-based online e-commerce solution.
https://www.opencart.com/
Other
7.46k stars 4.83k forks source link

Checkout - Default Payment Method and shipping method not automatically selected on checkout page. #14051

Closed qfx007 closed 3 months ago

qfx007 commented 3 months ago

What version of OpenCart are you reporting this for? 4.0.2.3

Describe the bug Default Payment Method and shipping method not automatically selected on checkout page. Even if there is only 1 payment method and 1 shipping method available on the store.

What section does it affect? Checkout page

To Reproduce Steps to reproduce the behavior:

  1. Create a shop with only 1 payment method and 1 shipping method enabled.
  2. Add a product to cart.
  3. Go to checkout page.
  4. The buyer needs to manually select the payment and shipping method to successfully checkout.

Expected behavior When there is only one payment and shipping method available it should be automatically assigned with checkout. And if multiple payment and shipping methods are available, the first method as per the sort order should be automatically assigned on checkout.

danielkerr commented 3 months ago

why would they need to click continue if already selected

qfx007 commented 3 months ago

why would they need to click continue if already selected

Hi Daniel, sorry it seems i am not able to properly explain the issue. For the better understanding of it please find the attached video herewith.

https://github.com/user-attachments/assets/a10d34cc-e5e6-443c-898d-d16648a155cf

TheCartpenter commented 3 months ago

That would be unregulated, since store owners would take ownership of their guests / customers based on their account preferences and overwritten by the stores' settings. Opencart does provide subscription plans from the core but only based on products; not based on the customers' profiles. In order for the customer to be consent to default payment options during checkout, a subscription plan would be needed without affecting PCI regulations. Take note that PCI regulations does not reflect on payment sort orders but only to what it's being prioritized as a default option without the customer's preferences.

As for the continue button, it has no relevance to this type of feature, since whether the payment sort order is being used with or without a continue button, it does not impact the customer in any way. The real deal is the fact that an identity provider is required when the need for customers to choose their payment options. Take a look as an example like PayPal and Stripe with the card options, for instance. Both identity providers provide those options directly to the customers by using those accounts.

Therefore, this could be easily achieved with a payment extension. Also take note that using subscription plans reflecting customers' accounts would also reflect on the store's prices.

qfx007 commented 3 months ago

I still fail to understand the relevance of PCI regulations here. As per my understanding PCI regulations are applicable when the merchant is accepting and/or storing credit/debit cards on their system and the security of the communication between the servers handling card information. The video shown above utilises COD payment option for demonstration. And, even if we use PayPal as the payment gateway, the customer gets redirected to the PayPal's gateway and we aren't storing any card data with us.

My concern here is just to make the user-interface of checkout page more customer friendly wherein they don't have to manually select the addresses(whats the purpose of marking an address as DEFAULT by the customer) and shipping method / payment method when there is NO OTHER ALTERNATIVE available for the customer to select one.

On the checkout page, if the default addresses(based on buyer assigned default address) and the available methods(based on default or sort order) get auto populated that will save lot of unnecessary steps and enhance the buyer experience. Please understand here that the buyer still possess the ability to change them through drop-down list. Only thing required is to auto populate the fields so that once verified by the buyer, all it requires is to press checkout if no deliberate change is intended by them.

TheCartpenter commented 3 months ago

why would they need to click continue if already selected

Hi Daniel, sorry it seems i am not able to properly explain the issue. For the better understanding of it please find the attached video herewith.

OC-issue.mp4

I still fail to understand the relevance of PCI regulations here.

Yes, as it seem. You are still failing to understand the purpose on why only identity providers provides those options and not store owners. As per my previous reply, it clearly explains on why this feature is normally restricted to guests users since it requires a subscription reflecting on customers' accounts to achieve this. As you mentioned, in regard to redirecting to customers to PayPal without the need of choosing a card to purchase their goods, that is one of the reasons as well customers are not being asked is because they may not be acquired to authenticate to an account with PayPal Checkout, since it is the reason why PayPal acquires customers to have an account, like any other identity payment providers, in order to select a default payment option. Therefore, it is not up to store owners to override this option for their customers as part of their stores without an extension involving a subscription payment that reflects to customers' accounts.

As for PCI compliance, doing more research online, you may notice a larger scale on what involves the details of the use for PCI which is also one of the reasons why the GDPR law came along years afterwards. As for the customers' addresses, you'd be typically correct. However, this feature was implemented way long before the GDPR law got released as this feature has also been modified in OC v4.x releases as opposed to previous OC series during checkout and with the API.

TheCartpenter commented 3 months ago

By making this change to JS, when customers will be redirected to the payment identity provider, the default payment option may not remain there.

danielkerr commented 3 months ago

I still fail to understand the relevance of PCI regulations here. As per my understanding PCI regulations are applicable when the merchant is accepting and/or storing credit/debit cards on their system and the security of the communication between the servers handling card information. The video shown above utilises COD payment option for demonstration. And, even if we use PayPal as the payment gateway, the customer gets redirected to the PayPal's gateway and we aren't storing any card data with us.

My concern here is just to make the user-interface of checkout page more customer friendly wherein they don't have to manually select the addresses(whats the purpose of marking an address as DEFAULT by the customer) and shipping method / payment method when there is NO OTHER ALTERNATIVE available for the customer to select one.

On the checkout page, if the default addresses(based on buyer assigned default address) and the available methods(based on default or sort order) get auto populated that will save lot of unnecessary steps and enhance the buyer experience. Please understand here that the buyer still possess the ability to change them through drop-down list. Only thing required is to auto populate the fields so that once verified by the buyer, all it requires is to press checkout if no deliberate change is intended by them.

dont listen to him. its nothing to do with PCI

TheCartpenter commented 3 months ago

I still fail to understand the relevance of PCI regulations here. As per my understanding PCI regulations are applicable when the merchant is accepting and/or storing credit/debit cards on their system and the security of the communication between the servers handling card information. The video shown above utilises COD payment option for demonstration. And, even if we use PayPal as the payment gateway, the customer gets redirected to the PayPal's gateway and we aren't storing any card data with us. My concern here is just to make the user-interface of checkout page more customer friendly wherein they don't have to manually select the addresses(whats the purpose of marking an address as DEFAULT by the customer) and shipping method / payment method when there is NO OTHER ALTERNATIVE available for the customer to select one. On the checkout page, if the default addresses(based on buyer assigned default address) and the available methods(based on default or sort order) get auto populated that will save lot of unnecessary steps and enhance the buyer experience. Please understand here that the buyer still possess the ability to change them through drop-down list. Only thing required is to auto populate the fields so that once verified by the buyer, all it requires is to press checkout if no deliberate change is intended by them.

dont listen to him. its nothing to do with PCI

Have it your way. The bottom line is that you're still leaving the source code in the browser upon redirections to a payment identity provider where the default payment option may not be used.

TheCartpenter commented 3 months ago

https://community.shopify.com/c/payments-shipping-and/can-we-alter-the-sequence-of-payment-options-in-settings/m-p/1692320/highlight/true#M62682

qfx007 commented 3 months ago

https://community.shopify.com/c/payments-shipping-and/can-we-alter-the-sequence-of-payment-options-in-settings/m-p/1692320/highlight/true#M62682

Re-Change-Order-of-Payment-Options-Shopify-Community

Oh.. so shopify has monetized this feature. Thank God, Daniel is not thinking about OpenCart Plus Plan.

TheCartpenter commented 3 months ago

https://community.shopify.com/c/payments-shipping-and/can-we-alter-the-sequence-of-payment-options-in-settings/m-p/1692320/highlight/true#M62682

Re-Change-Order-of-Payment-Options-Shopify-Community

Oh.. so shopify has monetized this feature. Thank God, Daniel is not thinking about OpenCart Plus Plan.

May be not. However, he's not relying on a payment identity provider either but rather to provide ownership to store owners over their customers to select their default payment which, normally, would require a payment extension to achieve this.

danielkerr commented 3 months ago

TheCartpenterur in the wrong. stop posting this rubish.