FoxComm / highlander

Because there can only be one
MIT License
9 stars 3 forks source link

[ApplePay] If you add all necessary data for paying with card and then change your mind - it will not be possible to pay with ApplePay #2148

Open kiryakov opened 7 years ago

kiryakov commented 7 years ago

Env: apple-feature-branch: https://feature-branch-apple.foxcommerce.com/admin

Steps

  1. Open storefront on mobile
  2. Sign Up with new customer
  3. Add shipping address and add Credit card
  4. Add item to cart and Press usual "Checkout"
  5. Then - dont press "Place order" and go to "My Cart" and press Apple Pay button

Result Payment cannot be completed message will be thrown Its not obvious for customer how to change payment method from Credit card to Apple pay (not very usual but possible - you dont have money in one source but you have them in other)

Expected Would be good to have possibility to change payment method and buy with apple pay even if you filled in everything for usual payment

Video: https://www.dropbox.com/s/9ew9syfnf8krsb7/CannotPayWithApplePayIfCardWasChosen.mov?dl=0

image

aafa commented 7 years ago

We have a situation here when both credit card is attached to the cart and apple pay is gonna be used as a payment method. So from the backend point of view customer is wishing something impossible (since we can't proceed with both).

  1. Customer spent some time to add credit card explicitly to the cart.
  2. Now out of a sudden customer is willing to pay with AP.

Something is wrong here. We need to have a way to be 100% certain what payment method is the one.

Here is the important part - we can't make this decision for a customer, we need to have a clear understanding of the intention. Discarding credit card from a cart is a bold move.

My suggestion: When both cc is picked and AP button is pressed - show alert with a question "You have cc in as your payment method defined, do you want to disregard it and proceed with apple pay?". Then call phoneix to remove cc from the cart - then do apple-checkout. This way we gonna have a smooth process for a customer and concise backend.

cc @Black-Phoenix

kairome commented 7 years ago

I don't like this idea First of all, I cannot start apple pay without an explicit action from the user. So basically, I can't call apple pay function myself. It has to be a direct response to a button click. Which means that the user will have to press the damn button at least twice. And if they were'n signed up/logged in, then it would be 3 times, which is ugly af. Second of all, I'm not favoring alerts. Feels cheap