Skip to content

Comments

Add evidence matrix for fraudulent × physical product disputes#11351

Open
mgascam wants to merge 9 commits intodevelopfrom
woopmnt-5399-physical-product-fraudulent-purchase-info-page-update-copy
Open

Add evidence matrix for fraudulent × physical product disputes#11351
mgascam wants to merge 9 commits intodevelopfrom
woopmnt-5399-physical-product-fraudulent-purchase-info-page-update-copy

Conversation

@mgascam
Copy link
Contributor

@mgascam mgascam commented Feb 13, 2026

Fixes WOOPMNT-5399

Changes proposed in this Pull Request

  • Added a physical_product entry to getFraudulentMatrix() in the evidence matrix with 5 explicit fields (receipt, prior undisputed transaction history, customer signature, refund policy, other documents) + the auto-merged base field (customer communication) for a total of 6 UI fields

Testing instructions

Setup:

  1. Enable feature flag: wp option update _wcpay_feature_dispute_additional_evidence_types 1
  2. Use WCPay Dev Tools plugin to override dispute reason to fraudulent (WP Admin → WCPay Dev → Check "Enable dispute reason override" → Select fraudulent → Save)
  3. Navigate to any dispute's challenge page

Verify:

  1. Select "Physical Product" as the product type
  2. Confirm 6 document fields appear in order:
    • Order receipt
    • Prior undisputed transaction history
    • Customer communication
    • Customer's signature
    • Refund policy
    • Other documents
  3. Verify shipping step appears (physical product + fraudulent = shipping needed)
  4. Upload documents to fields and verify cover letter attachment labels match
  5. Switch product type to "Booking/Reservation" and back — fields should update correctly
  6. Disable feature flag and verify legacy fields appear (no "Prior undisputed transaction history")
Screenshot 2026-02-13 at 18 18 51 Screenshot 2026-02-13 at 18 19 55
  • 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

🤖 Generated with Claude Code

mgascam and others added 4 commits February 11, 2026 13:52
… been issued)

Implements Scenario A for credit_not_processed + booking_reservation disputes.
When "Refund has been issued" is selected, shows 3 fields: Refund receipt,
Cancellation logs, and Other documents — matching the Figma specs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds the physical_product product type to the fraudulent dispute reason
matrix, enabling tailored document fields (receipt, prior undisputed
transaction history, customer signature, refund policy) when merchants
challenge fraudulent disputes on physical products. Previously this
combination fell back to legacy fields which omitted the most relevant
"Prior undisputed transaction history" field.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mgascam mgascam requested review from a team and rtio and removed request for a team and rtio February 13, 2026 17:10
@mgascam mgascam changed the base branch from develop to woopmnt-5433-booking-reservation-credit-not-processed-purchase-info-page February 13, 2026 17:11
@github-actions
Copy link
Contributor

github-actions bot commented Feb 13, 2026

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 11351 or branch name woopmnt-5399-physical-product-fraudulent-purchase-info-page-update-copy 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: edb4d91
  • Build time: 2026-02-20 17:06:12 UTC

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

@github-actions
Copy link
Contributor

github-actions bot commented Feb 13, 2026

Size Change: +32 B (0%)

Total Size: 956 kB

Filename Size Change
release/woocommerce-payments/dist/index.js 159 kB +32 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.46 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.46 kB
release/woocommerce-payments/assets/css/success.css 1.06 kB
release/woocommerce-payments/assets/css/success.rtl.css 1.06 kB
release/woocommerce-payments/dist/blocks-checkout-rtl.css 2.89 kB
release/woocommerce-payments/dist/blocks-checkout.css 2.89 kB
release/woocommerce-payments/dist/blocks-checkout.js 54.8 kB
release/woocommerce-payments/dist/cart-block-rtl.css 113 B
release/woocommerce-payments/dist/cart-block.css 112 B
release/woocommerce-payments/dist/cart-block.js 16.9 kB
release/woocommerce-payments/dist/cart.js 5.32 kB
release/woocommerce-payments/dist/checkout-rtl.css 1.01 kB
release/woocommerce-payments/dist/checkout.css 1.01 kB
release/woocommerce-payments/dist/checkout.js 34.1 kB
release/woocommerce-payments/dist/chunks/express-checkout-previews.js 3.51 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 367 B
release/woocommerce-payments/dist/express-checkout.css 367 B
release/woocommerce-payments/dist/express-checkout.js 17.4 kB
release/woocommerce-payments/dist/frontend-tracks.js 883 B
release/woocommerce-payments/dist/index-rtl.css 21.7 kB
release/woocommerce-payments/dist/index.css 21.7 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.09 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.82 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 19.2 kB
release/woocommerce-payments/dist/multi-currency.css 3.83 kB
release/woocommerce-payments/dist/multi-currency.js 25.7 kB
release/woocommerce-payments/dist/order-rtl.css 740 B
release/woocommerce-payments/dist/order.css 740 B
release/woocommerce-payments/dist/order.js 22.2 kB
release/woocommerce-payments/dist/plugins-page-rtl.css 484 B
release/woocommerce-payments/dist/plugins-page.css 484 B
release/woocommerce-payments/dist/plugins-page.js 2.65 kB
release/woocommerce-payments/dist/product-details-rtl.css 433 B
release/woocommerce-payments/dist/product-details.css 436 B
release/woocommerce-payments/dist/product-details.js 12.5 kB
release/woocommerce-payments/dist/settings-rtl.css 12.4 kB
release/woocommerce-payments/dist/settings.css 12.3 kB
release/woocommerce-payments/dist/settings.js 154 kB
release/woocommerce-payments/dist/subscription-edit-page.js 1.9 kB
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 1.98 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 730 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 1.9 kB
release/woocommerce-payments/dist/success.js 6.03 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 235 B
release/woocommerce-payments/dist/tos.js 3 kB
release/woocommerce-payments/dist/wc-payments-review-prompt-rtl.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.js 14.9 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight-rtl.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.js 28.2 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 5.69 kB
release/woocommerce-payments/dist/woopay-express-button.js 22.9 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.27 kB
release/woocommerce-payments/dist/woopay.css 4.25 kB
release/woocommerce-payments/dist/woopay.js 70.9 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 625 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.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/jetpack-script-data.js 880 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.02 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/script-data.js 69 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/babel.config.js 163 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.js 14.3 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.rtl.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.js 31.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.rtl.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.js 280 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.rtl.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.css 625 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.js 331 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.rtl.css 626 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-users.js 415 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-users-connection.js 159 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 520 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 585 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.css 218 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.js 521 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.css 719 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.js 412 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-users.js 625 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.04 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 294 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 408 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.59 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 301 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 746 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 574 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 414 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 543 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.78 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.84 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 545 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.7 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 507 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 358 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 428 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 782 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.09 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.26 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 391 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.04 kB

compressed-size-action

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds an evidence-matrix entry for the fraudulent × physical_product dispute combination so the “new evidence” flow shows tailored document fields (not the legacy fallback), including Prior undisputed transaction history (access_activity_log) under the feature flag isDisputeAdditionalEvidenceTypesEnabled.

Changes:

  • Added fraudulent.physical_product evidence-matrix fields (receipt, prior history, signature, refund policy, other docs; plus auto-merged customer communication).
  • Updated recommended-document-fields tests to expect matrix output for this combination when the feature flag is enabled.
  • Extended spec-validation and cover-letter generator tests to include/validate this new combination and attachment ordering.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
client/disputes/new-evidence/evidence-matrix.ts Adds the fraudulent × physical_product matrix entry with explicit ordered fields.
client/disputes/new-evidence/tests/recommended-document-fields.test.ts Updates expectations so flagged fraudulent × physical_product uses matrix + merged base field (6 fields).
client/disputes/new-evidence/tests/evidence-matrix-spec-validation.test.ts Adds a spec entry for the new implemented combination and removes it from “not implemented”.
client/disputes/new-evidence/tests/cover-letter-generator.test.ts Adds an attachment ordering test covering the new combination with full evidence (including shipping).
changelog/woopmnt-5399-physical-product-fraudulent-purchase-info-page-update-copy Changelog entry for the new evidence-matrix combination.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Base automatically changed from woopmnt-5433-booking-reservation-credit-not-processed-purchase-info-page to develop February 18, 2026 11:12
mgascam and others added 2 commits February 18, 2026 12:15
…_product

Address Copilot review feedback: the header comment now lists
fraudulent × physical_product as implemented and changes "All" to
"Remaining" for the physical_product backlog entry.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mgascam mgascam marked this pull request as ready for review February 18, 2026 16:28
@mgascam mgascam requested review from a team and rtio and removed request for a team February 18, 2026 16:28
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.

1 participant