Skip to content
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

Enable transaction dispute details feature for all merchants (remove feature flag) #7365

Merged

Conversation

Jinksi
Copy link
Member

@Jinksi Jinksi commented Oct 4, 2023

Fixes #7289

Changes proposed in this Pull Request

This PR enables the transaction dispute details feature for all merchants by removing the feature flag _wcpay_feature_dispute_on_transaction_page.

TODO:

  • Create changelog entry
    Display dispute information, recommended resolution steps, and actions directly on the transaction details screen to help merchants with dispute resolution.

Post-merge:

Before
image

After
image

Testing instructions

  • Ensure you've disabled the feature flag _wcpay_feature_dispute_on_transaction_page if previously enabled
    • delete_option( '_wcpay_feature_dispute_on_transaction_page' )
  • Visit a dispute details screen and ensure it redirects to the transaction details screen
  • Ensure the dispute details section appears on the transaction details screen for
    • Dispute awaiting a response
    • Dispute under review
    • Dispute lost
    • Dispute won
    • Inquiry awaiting a response
    • Inquiry under review
    • Inquiry closed

  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply)

Post merge

@botwoo
Copy link
Collaborator

botwoo commented Oct 4, 2023

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 7365 or branch name add/7289-remove-transaction-dispute-details-feature-flag in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: bebbecd
  • Build time: 2023-10-05 00:09:18 UTC

Note: the build is updated when a new commit is pushed to this PR.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

Size Change: -622 B (0%)

Total Size: 1.42 MB

Filename Size Change
release/woocommerce-payments/dist/index-rtl.css 36.4 kB -2 B (0%)
release/woocommerce-payments/dist/index.css 36.4 kB -2 B (0%)
release/woocommerce-payments/dist/index.js 283 kB -596 B (0%)
release/woocommerce-payments/dist/settings.js 233 kB -22 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.03 kB
release/woocommerce-payments/assets/css/success.css 158 B
release/woocommerce-payments/dist/blocks-checkout-rtl.css 1.51 kB
release/woocommerce-payments/dist/blocks-checkout.css 1.51 kB
release/woocommerce-payments/dist/blocks-checkout.js 74.6 kB
release/woocommerce-payments/dist/checkout-rtl.css 440 B
release/woocommerce-payments/dist/checkout.css 441 B
release/woocommerce-payments/dist/checkout.js 28.8 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.05 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 2.88 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 60.2 kB
release/woocommerce-payments/dist/multi-currency.css 2.88 kB
release/woocommerce-payments/dist/multi-currency.js 54.8 kB
release/woocommerce-payments/dist/order-rtl.css 676 B
release/woocommerce-payments/dist/order.css 679 B
release/woocommerce-payments/dist/order.js 41 kB
release/woocommerce-payments/dist/payment-gateways-rtl.css 690 B
release/woocommerce-payments/dist/payment-gateways.css 692 B
release/woocommerce-payments/dist/payment-gateways.js 38.5 kB
release/woocommerce-payments/dist/payment-request-rtl.css 146 B
release/woocommerce-payments/dist/payment-request.css 146 B
release/woocommerce-payments/dist/payment-request.js 11.8 kB
release/woocommerce-payments/dist/product-details.js 898 B
release/woocommerce-payments/dist/settings-rtl.css 8.93 kB
release/woocommerce-payments/dist/settings.css 8.94 kB
release/woocommerce-payments/dist/subscription-edit-page.js 669 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 519 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 20.3 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 693 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 117 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 19.5 kB
release/woocommerce-payments/dist/tos-rtl.css 230 B
release/woocommerce-payments/dist/tos.css 231 B
release/woocommerce-payments/dist/tos.js 21.9 kB
release/woocommerce-payments/dist/upe_checkout-rtl.css 440 B
release/woocommerce-payments/dist/upe_checkout.css 441 B
release/woocommerce-payments/dist/upe_checkout.js 34.1 kB
release/woocommerce-payments/dist/upe_split_checkout-rtl.css 440 B
release/woocommerce-payments/dist/upe_split_checkout.css 441 B
release/woocommerce-payments/dist/upe_split_checkout.js 34.6 kB
release/woocommerce-payments/dist/upe_with_deferred_intent_creation_checkout.js 36.7 kB
release/woocommerce-payments/dist/upe-blocks-checkout-rtl.css 1.51 kB
release/woocommerce-payments/dist/upe-blocks-checkout.css 1.51 kB
release/woocommerce-payments/dist/upe-blocks-checkout.js 39.5 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout-rtl.css 1.51 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout.css 1.51 kB
release/woocommerce-payments/dist/upe-split-blocks-checkout.js 41 kB
release/woocommerce-payments/dist/woopay-express-button-rtl.css 146 B
release/woocommerce-payments/dist/woopay-express-button.css 146 B
release/woocommerce-payments/dist/woopay-express-button.js 51.6 kB
release/woocommerce-payments/dist/woopay-rtl.css 3.85 kB
release/woocommerce-payments/dist/woopay.css 3.85 kB
release/woocommerce-payments/dist/woopay.js 71.6 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 622 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 814 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.43 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.01 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 522 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 581 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/babel.config.js 160 B
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.css 2.32 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.js 13.8 kB
release/woocommerce-payments/vendor/automattic/jetpack-identity-crisis/build/index.rtl.css 2.32 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 291 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 403 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.56 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 299 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 742 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 572 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 411 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.63 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.8 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.83 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 544 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.6 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 502 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 355 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 429 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 781 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.1 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.27 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 392 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.06 kB

compressed-size-action

{ ignore: '.a11y-speak-region' }
)
).toBeNull();
test( 'renders the information of a dispute-reversal charge', () => {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a new test, simply moved down in this file to group dispute-related tests.

@Jinksi Jinksi marked this pull request as ready for review October 4, 2023 06:39
@Jinksi Jinksi requested a review from a team October 4, 2023 23:51
Copy link
Contributor

@haszari haszari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did a quick test of various dispute flows after deleting feature flag.

% docker-compose exec wordpress wp --allow-root option delete _wcpay_feature_dispute_on_transaction_page
Success: Deleted '_wcpay_feature_dispute_on_transaction_page' option.
% docker-compose exec wordpress wp --allow-root option get _wcpay_feature_dispute_on_transaction_page  
Error: Could not get '_wcpay_feature_dispute_on_transaction_page' option. Does it exist?
%
  • View payments overview, click You have many disputes notice, land on disputes list.
  • Click a dispute, land on relevant transaction with inline dispute info (via redirect spinner). I tested inquiries and disputes with a range of dates.
  • Inquiry:
    • Click Submit evidence, land on dispute response form.
    • Click Issue refund, shows a modal, can click through to relevant order.
  • Dispute:
    • Click Challenge dispute, land on dispute response form.
    • Click Accept dispute, shows a modal.
      • Click Accept dispute, eventually shows transaction detail with resolved dispute state.

I didn't search the code for the feature flag – assuming you've done that :)

One blocker (IMO):

  • Delete LegacyDisputeDetailsPage, no longer needed.

Some minor design notes, might want to log follow up maintenance issues:

  • Extra line at bottom of respond steps, e.g. between Submit evidence or issue a refund and action buttons. This may be as designed, feels disconnected/cluttered. I wonder if we need lines between steps at all.
  • Accept dispute flow is a little disconnected, might benefit from a transition or spinner after the modal.

@nikkivias FYI – design feedback / notes for your consideration

Significance: major
Type: add

Display dispute information, recommended resolution steps, and actions directly on the transaction details screen to help merchants with dispute resolution.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice changelog!

container: isDisputeOnTransactionPageEnabled
? RedirectToTransactionDetails
: LegacyDisputeDetailsPage,
container: RedirectToTransactionDetails,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can also remove LegacyDisputeDetailsPage completely.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this is being handled in #7363 and is OK to merge after 6.6.

@Jinksi
Copy link
Member Author

Jinksi commented Oct 5, 2023

Accept dispute flow is a little disconnected, might benefit from a transition or spinner after the modal.

Agreed! This came up in our UX review. I will log an issue for this if it hasn't been created already.

@haszari
Copy link
Contributor

haszari commented Oct 5, 2023

Agreed! This came up in our UX review. I will log an issue for this if it hasn't already.

Probably ok to leave that with product / design and let it come up as a project / maintenance via normal process. GitHub is best for things we know we want to prioritise.

@Jinksi Jinksi added this pull request to the merge queue Oct 5, 2023
Merged via the queue into develop with commit 6a5f1fb Oct 5, 2023
25 of 27 checks passed
@Jinksi Jinksi deleted the add/7289-remove-transaction-dispute-details-feature-flag branch October 5, 2023 01:20
@Jinksi
Copy link
Member Author

Jinksi commented Oct 5, 2023

Note this PR has resulted in some failing e2e tests. These tests are being skipped in #7088.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Transaction Details → Dispute Details – Remove feature flag
3 participants