-
Notifications
You must be signed in to change notification settings - Fork 69
Release testing instructions for WC Payments 2.6.0
James Rodger edited this page Jun 18, 2021
·
17 revisions
Customer Multi-Currency allows a shop to allow their customers to choose which currency they'd like to use to see and pay for products.
Pre-requisites/Setup:
- Set
_wcpay_feature_customer_multi_currency
option in the wp_options table to 1. Or use the following snippet:update_option( '_wcpay_feature_customer_multi_currency', '1' );
in the Code Snippet plugin. - Once you have the
_wcpay_feature_customer_multi_currency
option set to 1, you should be able to see a "Multi-Currency" settings tab on the settings page after clicking onPayments > Settings
. Make sure this is present, in order to test the scenarios below.
- Go to WP Admin and click on the "Multi-Currency" tab on the
WooCommerce > Settings
page. - On the settings page, click the
Add Currencies
button. A modal should appear. - Verify that the search box works as expected by searching for a currency and verifying that the currency list updates only the expected currency displays.
- Tick the
Danish Krone
option in the currency list then clickUpdate selected
. The UI should update and Danish Krone should now be in the list of enabled currencies. - Click the bin icon to the right of Danish Krone. A modal should appear. Click
Remove Currency
. Verify that Danish Krone gets removed from the list of enabled currencies.
As an admin:
- In WP Admin, click on
Appearance > Widgets
. Verify you can see "Currency Switcher" in the list of available widgets. - Click on the currency switcher widget and add it to the sidebar of the site. Tick both the
Display currency symbols
andDisplay flags
options.
As a guest user:
- Go to the shop page on the site. Verify the currency switcher appears in the sidebar. Change the selected currency and verify that the page should reload and all items in the shop will now display in the selected currency.
- Test toggling the
Display currency symbol
option and verify the currency symbol no longer displays in the currency switcher list. Do the same with theDisplay flags
option. - Add some items to the cart and go to the cart page, click
Pay now
and use a Stripe test card: 4242 4242 4242 4242, any cardholder name, valid expiration date and CVV will work. - Order should be completed correctly.
As a logged in user:
- Go to the
My Account -> Account Details
page. Update the "Default currency" option, save changes. - Go to the shop page. Prices should be displayed in your selected currency.
- Add some items to the cart and go to the cart page, click
Pay now
and use a Stripe test card: 4242 4242 4242 4242, any cardholder name, valid expiration date and CVV will work. - Order should be completed correctly.
- Add the currency switcher widget to the store as described in scenario 2.
- Go to WP Admin and click on the "Multi-Currency" tab on the
WooCommerce > Settings
page. Make a note of the exchange rates for the EUR, NZD and CDF currencies. - Go to the shop page on the store, switch between USD, EUR, NZD and CDF and verify that the prices all look right (are converted from their USD price at the appropriate rate) and are formatted accordingly:
-
USD
should look like$xx,xxx.xx
-
EUR
should look like€xx.xxx,xx
-
CDF
should look likeFrxx,xxx.xx
-
NZD
should look like$xx,xx.xx
-
- Make sure that discounted prices and variation price ranges are rendered correctly.
Simple Products
- Make sure the price is converted in the Shop, Product, Cart and Checkout pages.
- Purchase the product and check that the order has the right currency and price
- Navigate to the My Account -> Orders page and ensure that the currency used was the selected one.
Variable Products
- Make sure the price is converted in the Shop, Product, Cart and Checkout pages.
- Modify the selected currency and ensure the price range was updated. It is cached by WooCommerce by default, but should be refreshed when the exchange rate changes.
- Purchase the product and check that the order has the right currency and price
- Navigate to the My Account -> Orders page and ensure that the currency used was the selected one.
Coupons
- Enable coupon codes in the General WooCommerce settings
- Create three coupons, one for each type
- Ensure that the fixed cart discount and fixed product discount amounts are converted when using them
- Ensure that the percentage discount works correctly and the percentage defined in the coupon is applied to the order
- Add a minimum and maximum spend usage restriction to a coupon, and check that those values are converted and matched against the cart subtotal
Shipping
- Add a free and a flat rate shipping method to your shipping zone
- Make sure that they work correctly on the checkout page
- If
apply_charm_only_to_products
is enabled, the shipping rate should only be ceiled after conversion - If it's not, the shipping rate should also have the charm pricing added to it
- Set a
Minimum order amount
for free shipping. Make sure that the minimum order amount is checked against the selected currency. For example:- If the minimum order amount is set to $100.
- $100 in the cart should give free shipping.
- Change the store currency to GBP.
- The amount needed to qualify for free shipping should now be £71 (because of the conversion rate between USD and GBP).
- Ensure that the order still qualifies for free shipping.
Taxes
- Enable taxes in the General WooCommerce settings and create a standard tax rate
- Ensure that taxes are correctly applied and converted when using both "Prices inclusive of tax" and "prices exclusive of tax"
- Ensure that the shipping methods' taxes are also converted properly under both configurations
- Enable “Express checkouts” under Payments > Settings.
- Go to WooCommerce > Settings > Accounts & Privacy and disable the following settings:
- Allow customers to place orders without an account.
- Allow customers to create an account during checkout.
- Make sure you’re not logged in.
- Make sure you have a valid Stripe test card added to chrome://settings/payments. It can be
4242 4242 4242 4242
with any valid CVV and expiration date. - Go to an HTTPS product page in Chrome and click the payment request button (Google Pay button or purple button “Buy now” above add to card). The product can be a simple product (e.g Album or Beanie), but please also test with a simple subscription product without a free trial.
- Notice there’s a dialog, and the Ok button redirects you to my account.
- Login or create an account.
- Notice you’re redirected to the original page and are able to continue with your order.
The behavior shown in this GIF is what’s expected from the testing.
The following settings pages have been redesigned:
- WCPay settings:
/wp-admin/admin.php?page=wc-settings&tab=checkout§ion=woocommerce_payments
. The page has been redesigned. Please ensure that the settings are persisted and honored by the plugin after being saved. - WCPay Express checkouts appearance:
/wp-admin/admin.php?page=wc-settings&tab=checkout§ion=woocommerce_payments&method=digital_wallets
. The page has been redesigned. Please ensure that the settings are persisted and honored by the plugin after being saved. One thing to note in this page is that Stripe doesn’t always honor the changes of the “Express checkouts” button immediately. So for example, if the button is updated from “Size: Medium” to “Size: Large”, the change might not immediately appear. Clearing the cache after saving often resolves the issue. - WC Gateways page:
/wp-admin/admin.php?page=wc-settings&tab=checkout
. The page will show a confirmation modal when attempting to disable WCPay.
For all these pages, after the settings are saved, they should be honored during the checkout experience.
To test the “Express checkouts” feature, ensure that:
- You are not testing on “localhost”
- You have some cards saved on GPay or on Chrome autofill or on ApplePay – see requirements here: https://stripe.com/docs/js/payment_request/can_make_payment.
Starting with a new site and before starting the WooCommerce Payment setup:
- Under WooCommerce -> Settings set country to an unsupported one (e.g. Japan)
- Head to WooCommerce onboarding page and click "Finish setup"
- A modal pop-up should appear saying "It appears you're attempting to setup WooCommerce Payments from an unsupported country. ..."
- Ensure that clicking "Continue" leads to the Stripe account setup and "Cancel" just closes the modal.