-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Detect custom fields and disclose when they may cause conflicts with express checkout methods #8299
Comments
Thanks @FangedParakeet! A hard dependency, prior to providing merchant guidance, is getting the express checkout payment methods, WooPay included, into the payments method list on checkout so that the info can be collected prior.
How does that sound to you all? |
Definitely: this will be explored in #8297 (see Q.5 in the acceptance criteria) and will hopefully be included as something supported by our express checkout element implementation.
Those three bullet-points sound beautiful to me. Exactly what I was looking for--cheers, @pierorocca! 🙌 |
Hey team! Please add your planning poker estimate with Zenhub @gpressutto5 @FangedParakeet |
I'm working on detecting custom fields. The suggested variable The notice will look like this. I used the same message as WooPay, so it can be reused for other incompatible extensions, e.g., WooCommerce Deposits. The Learn More link points to Do you think this is good or do we need a specific warning for custom fields? |
Thanks @gpressutto5. The compatibility messaging is misleading for the duplicates scenario and could lead to the merchant disabling WooPayments payment methods. In fact, that's the most likely scenario with WooPay. It's designed so that they disable WooPay because of the incompatibility. What do you think about "One or more of your extensions are enabled with a duplicate payment method. Learn more." WooPay will never be duplicated so we don't need to worry about a scenario where there will be two notices at the same time AFAIK. |
@csmcneill what are your thoughts on a new section in the WooPayments merchant docs for duplicate payment method detection? If you're onboard with the idea, could you provide a placeholder url please? |
@pierorocca In this issue, we are working only on the custom checkout fields notice. It doesn't affect the WooPay component and is only displayed next to the Apple Pay and Google Pay settings. An update on detecting the custom fields: I couldn't find a way to detect additional custom fields, but I found a way to detect if any extension is changing anything in the fields. For example, just having CFE installed will trigger this validation, not requiring any change to the checkout lists. I've done this by calling the filters |
@pierorocca I'm going to hold off on creating docs because it depends on the implementation. Duplicate payment method detection could be its own page or it could be slotted into an existing page; some of that will depend on how we proceed with this issue and the topic brought up in paJDYF-ck0-p2. I won't know until I can get my hands on a PR. FWIW, each express checkout method has its own separate compatibility information:
|
Oh geez, I've totally mixed this up with the duplicate detection not the custom field detection. My bad. I retract my comment above. |
@gpressutto5 besides the Custom Field Editor, is there a way for merchants to add custom fields to checkout?
|
I think in this scenario, where the express checkout buttons essentially function as regular checkout payment methods, would probably allow these methods to be compatible with custom fields and would probably invalidate this warning at checkout. However, we still need to explore how this implementation could work and how this option would be presented in settings as well. Store owners would need to be made aware that even with this implementation, the express checkout methods would only be compatible at checkout and not on the product or cart pages. I think I would like to delay this investigation until after the express checkout element in #8297 has been solved, so that we can ensure that any improvements in this area are as future-proofed as possible. |
That sequencing @FangedParakeet makes sense. Great idea. |
What about this message?
|
It is not possible to add custom fields without coding. An extension specifically created for that is not necessary, as a snippet could do it, but it still requires intended code changes or an extension to add snippets. |
Thanks for asking the question Guilherme. Let me step back and make sure I'm understanding the detection mechanism and which express checkout methods are impacted.
|
|
|
Nice work!! |
@gpressutto5 How would you like to link to documentation here? Since incompatibilities are listed on separate pages for Google Pay and Apple Pay, one option would be to move the information from https://woo.com/document/woopayments/payment-methods/google-pay/#product-compatibility and https://woo.com/document/woopayments/payment-methods/apple-pay/#product-compatibility onto a separate, standalone page. |
@csmcneill The text in their incompatibility section is the same, which makes sense as they use the same logic and components. If we have a page dedicated to both these methods, it would be the perfect page to put this information, but the Express checkout methods page is also connected to WooPay and Stripe Link, so it would be confusing. I think creating a new page just for compatibility information for Google Pay / Apple Pay is the best solution. |
Perfect, thank you! I've created https://woo.com/document/woopayments/payment-methods/apple-pay-and-google-pay-compatibility/ that contains compatibility information specifically for Apple Pay and Google Pay. |
@gpressutto5 Quick edit: I added an anchored heading specifically citing the incompatibility with checkout field editor in case you want to use that instead: https://woo.com/document/woopayments/payment-methods/apple-pay-and-google-pay-compatibility/#faq-extra-fields-on-checkout |
We are temporarily disabling and removing this feature in #9329 due to #8752 and the false positives caused by our implementation in #8339. Consequently, I am reopening this issue to maintain the history of the discussion within this issue along with all of the accompanying design considerations made along the way. After discussing this issue internally, we have arrived at the conclusion that a client-side detection mechanism would provide more accurate results, while being less intrusive and less likely to cause similar issues as described in #8752. This change of direction still leaves sufficient room for interpretation for whomesoever will pick up the work on this issue. Considering this, here are a few more pieces of acceptance criteria that would be valuable to include in a future solution.
Note that there are modals and acceptable UI functionality developed in #8339 and reverted in #9329 that could and, if possible, should be reused in a future implementation. |
Description
It appears that custom fields are currently incompatible with express checkout methods. For example, this is explicitly stated in Apple Pay's documentation.
It would be great if we could detect when this scenario may be present and be able to warn store owners that one of their plugins responsible for adding these custom fields may cause conflicts with the express checkout methods that they present at checkout. It appears that the detection of these custom fields should be feasible from our perspective (see pb22l9-2s6-p2#comment-2665 and paJDYF-ckK-p2#comment-23071).
This issue is to explore a valid way to provide this warning to store owners and to implement a solution that offers this information in an acceptable manner.
Acceptance criteria
Update: steps 1 & 2 have both been completed within this issue. Please read #8299 (comment) for more up to date acceptance criteria on step 3.
Designs
Soon.
Testing instructions
N/A
Dev notes
Additional context
#5018
#6539
paJDYF-ckK-p2
paJDYF-ckK-p2#comment-23071
pb22l9-2s6-p2#comment-2665
CC @pierorocca and @nikkivias, to help us to decide the right format to provide this feedback to store owners.
The text was updated successfully, but these errors were encountered: