Skip to content

Release testing instructions for WC Payments 4.2.0

Dat Hoang edited this page May 23, 2022 · 11 revisions

Fix empty phone and email value

Stripe does not accept empty strings for support phone and email. We don't have to send empty values for these fields.

Testing instructions

  • go to Card readers -> Receipt details section
  • set an empty value for email -> an error should be displayed and the save button disabled
  • set an empty value for phone number -> an error should be displayed and the save button disabled

Add - Fee details to order notes for successful payments.

Testing instructions

  • Try multiple cases of generating payments: only base fee, with capped fee (SEPA Debit), with international cards, with FX, with discount, etc.
  • Ensure that formats and strings in order notes and respective transaction pages (under WP Admin > Payment > Transactions > A specific transaction) are the same.

Example:

image

Add - Show WooPay Specific info on success page when customer paid with WooPay

Adds WooPay specific info on success page when a customer pays via WooPay Testing instructions With WooPay

  • Checkout this PR branch on WooPay site
  • Checkout this branch of WC Payments on Merchant site
  • As a shopper go to the merchant site
  • Add any product to the cart
  • Checkout using WooPay
  • Make sure that the page looks like the figma file
  • A WooPay logo and last 4 digits should show
  • A green notice should show on top of the page
  • As a Merchant go to the order edit page
  • Make sure the WooPay logo and card last 4 shows up like bellow
Screen Shot 2022-05-05 at 11 41 59 AM

Without WooPay

  • As a shopper go to the merchant store and buy any product but checkout without WooPay
  • The WooPay info should not show up in the success page nor on the admin area
  • No errors should show up

Other Payment methods

  • As a shopper got to the merchant store and buy any product and checkout with other payment method. Like Boleto, OXXO, etc
  • The WooPay info should not show up in the success page nor on the admin area
  • No errors should show up

Fix - Change type parameter with transaction_type for transactions url

Rename type parameter to transaction type for transaction details URL

Testing instructions

  • Go to Transactions section
  • check transaction details pages. The informations should be correctly displayed.*

Do not show country code on Platform Checkout opt-in

Prevent show country code text in the Platform Checkout opt-in phone when it's pre-filled, showing only its flag.

Testing instructions

  1. Enable Platform Checkout.
  2. On the checkout page billing address, write a phone number starting with + and country code.
  3. Opt-in to Platform Checkout.
  4. The country code will not show in the opt-in phone field.

Fix the subscriptions onboarding modal and toast

Introduces a WooCommerce version check to determine the correct plugin scope to use when registering plugins on the frontend via the registerPlugin function.

This fixes an issue where the "One more step..." modal does not appear after attempting to publish a subscription product prior to completing WCPay onboarding.

Testing instructions

Prerequisites

  • WC Subscriptions is not installed / active.
  • Fresh JN site where WCPay onboarding is not completed or enable the "Force onboarding" and "Force the plugin to act as disconnected from WCPay" settings in WCPay Dev Utils.

Then

  • Navigate to Products → Add New.
  • Add product name and switch the product type to "Simple subscription".
  • Add subscription price.
  • Click "Publish".
  • Wait for the page request to complete.
  • Observe the "One more step..." modal appears and the product remains in the draft status.
  • Click the "Finish setup" button.
  • Complete the WCPay onboarding.
  • Observe you are redirected back to the product edit page.
  • Observe the product is now published.
  • Observe the toast notification "Thank you for setting up WooCommerce Payments! We’ve published your first subscription product.".

This should work across a variety of WooCommerce versions, including:

  • WC 6.3.1
  • WC 6.4.0
  • WC 6.4.1
  • WC 6.5.0
  • WC 6.5.1

You can use the WooCommerce Beta Tester plugin to toggle between different WooCommerce versions.

Fix - Prevent sending empty values for required support email and phone fields.

Stripe does not accept empty strings for support phone and email. We don't have to send empty values for these fields.

Testing instructions

  • go to Card readers -> Receipt details section
  • set an empty value for email -> an error should be displayed and the save button disabled
  • set an empty value for phone number -> an error should be displayed and the save button disabled

Fix - Update platform URL to pay.woo.com

This updates all instances of woo.app to pay.woo.com.

Testing instructions

  • Make sure platform checkout is enabled for your merchant site.
  • When PLATFORM_CHECKOUT_FRONTEND_HOST and PLATFORM_CHECKOUT_HOST is not set, WCPay attempts to load the OTP iframe from pay.woo.com

Update - Update KYC reminder email Tracks properties

Track merchants visiting the Connect page with the special URL param to redirect them to the KYC flow. **If you don't have access to Live Track, you can't test case. Please don't hesitate to ask someone with access to this tool in order to help you with testing ** These events were originally introduced in #3958. Server-side property names of KYC reminder emails were recently updated in 1995-gh-Automattic/woocommerce-payments-server, this PR adjust the client side track event, wcadmin_wcpay_kyc_reminder_merchant_returned to match the above changes.

Testing instructions

  • Make sure Tracking is enabled in WC options. That's in {your site}/wp-admin/admin.php?page=wc-settings&tab=advanced&section=woocommerce_com.
  • Make your site publicly accessible.

Initial:

  • Visit {website url}/wp-admin/admin.php?page=wc-admin&path=%2Fpayments%2Fconnect&wcpay-connect-redirect=initial
  • Go to Live Tracks and search wcadmin_wcpay_kyc_reminder_merchant_returned
  • Wait ~5 minutes after visiting the URL (it could take ~10 mins for the event to show up)
  • Confirm the event has eventprops [ offset: 1, description: initial ] in its properties

second:

  • Visit {website url}/wp-admin/admin.php?page=wc-admin&path=%2Fpayments%2Fconnect&wcpay-connect-redirect=second
  • Go to Live Tracks and search wcadmin_wcpay_kyc_reminder_merchant_returned
  • Wait ~5 minutes after visiting the URL (it could take ~10 mins for the event to show up)
  • Confirm the event has eventprops [ offset: 3, description: second ] in its properties

Follow-ups

  • Visit {website url}/wp-admin/admin.php?page=wc-admin&path=%2Fpayments%2Fconnect&wcpay-connect-redirect={ 1 | 2 | 3 | 4}
  • Go to Live Tracks and search wcadmin_wcpay_kyc_reminder_merchant_returned
  • Wait ~5 minutes after visiting the URL (it could take ~10 mins for the event to show up)
  • Confirm the event has eventprops [ offset: 7 | 14 | 21 | 28, description: weekly-{1|2|3|4} ] in its properties

Compatibility with WordPress 6.0

WordPress 6.0 should be released on May 24th 2022.

We should manually test compatibility between WCPay and the new WordPress version. We should also test the default theme, which is still TwentyTwentytTwo.

Testing instructions

Usage of this plugin is mandatory because it provides an easy way to install the latest WordPress version. It can also be installed through the Include WordPress Beta Tester checkbox on JN.

  • Make sure to test Critical Flows with WordPress 6.0 installed.
  • Make sure to preform testing with the default theme, which is still TwentyTwentytTwo

Fix: invalid_request_error for payment_intents caused by level3 data unit_cost is negative value for discount

We are fixing an error thrown by the Stripe API. This error happened when a payment_intent included a negative unit_cost in the line_items level3 data. The level3 data is a set of additional information related to the transaction, that gets embedded in the payload that we send to Stripe to create a Payment Intent. Among others, it includes information about the line_items of the transaction.

It is important to note that the level3 data is meant to be processed by the card provider. It is not something that the merchant is necessarily interested in. As a matter of fact, there is no place in the WP Admin where the merchant could check the level3 data associated to a transaction. Furthermore, the Payment Intent is retried in case there is a failure, discarding the level3 data.

With those considerations in mind, we should test that there are no regression during the checkout process, caused by this fix. This change should be transparent to both the merchants and the customers. I think that the testing of this issue is mostly covered by the critical flows testing. But we can include one more testing scenario, please check below.

Testing instructions

Prerequisites

  • Fresh JN site with WC Payments set up & onboarded and products created

Then

  • Go to WP Admin > Products > Add New
  • Fill the product details, setting a negative amount in the Regular Price field, and Publish the product.
  • Visit the store and make an order with some products, including the product created in previous step. Note that the total amount of the order needs to be greater than 0.5 to be able to checkout
  • Proceed to place the order
  • Confirm that the order is created correctly

UPE Survey Enhancements

Testing instructions

  • Go to WP Admin > Payments > Settings. If UPE (new WooCommerce Payments checkout experience) is not enabled, turn it on.
  • Disable it.
  • See a new form of sending feedback.
  • Expectation: the system status report field displays, and it's possible to edit this field.
  • Expectation: see two different options buggy and slow for the first question.
  • Submit the form by clicking "Send feedback" button.
  • Report if there is any issue when submitting the form, make sure to include test site URLs in the report.
Clone this wiki locally