-
Notifications
You must be signed in to change notification settings - Fork 69
Release testing instructions for WC Payments 5.9.0
In this new version of WC Payments (5.9.0), we are adding support for 3 new countries:
- Romania (with currency RON - Romanian Leu)
- Croatia (with currency EUR - Euro)
- Bulgaria (with currency BGN - Bulgarian Lev)
Please make sure to run the following testing scenario for each country.
- Create a new site with WooCommerce Payments plugin installed, complete the setup wizard (KYC flow) using the current country address as a store address
- After KYC flow completion go to Payments > Settings page to confirm the account is created and its status displayed.
- Before starting tests, double check the currency is set correctly for each country. If not, go to WooCommerce > Settings > General and change the currency.
- Please make sure the store has multi-currency enabled and EUR is one of the currencies.
- Please make sure the store has a currency widget to change currencies when shopping. If not, please add one from Appearance > Widgets. Click the
+
button and search for "currency switcher block". Place it in the page and save changes - Now go to Payments > Settings page, and make sure all these payment methods are displayed for each country: Card payments, iDEAL, Bancontact, EPS, P24, Giropay, and SEPA.
- Turn these payment methods on by selecting the checkbox near each method. Scroll down and click Save.
- Open the store/website and make sure you're selecting the country's currency from the dropdown and add a product to the cart.
- Pay for your order using a test card like
4242424242424242
. - Once the order is completed, go to Payments > Transactions screen in WP Admin and make sure the transaction is showing correctly.
- Back to the store, change your currency to EUR this time and add a new product to your cart. (This is not necessary for Croatia given the currency is already EUR)
- In the checkout page, make sure payment methods like iDeal, SEPA, etc are showing and you can select one. Pick one of these payment methods (other than card) and pay for the order.
- Once the order is completed, go to Payments > Transactions screen in WP Admin and make sure the transaction is showing correctly.
- Now, back to the store, add a product to the cart, and head to the checkout screen. Now pay using the card
4000000000000259
to trigger a dispute. - Navigate to Payments > Disputes in WP Admin and make sure the dispute is showing correctly.
- That's it. This process can be repeated for another country now.
Test: No filtering on non-WCPay transactions
- Go to WooCommerce > Settings > Payments > All payment methods (
/wp-admin/admin.php?page=wc-settings&tab=checkout§ion
) - Enable Check payments.
- Add an item to your cart and check out using Check payments.
- Go to WooCommerce > Orders in the admin and view/edit the new order. It should be On Hold.
- Confirm a Fraud & Risk meta box is displayed similar to the below.
- Confirm the Learn more link goes to: https://woocommerce.com/document/woocommerce-payments/fraud-and-disputes/fraud-protection/?status_is=fraud-meta-box-not-wcpay-learn-more
Test: Terminal payment message
- Add the below snippet to your client site like through Code Snippets or a manual edit.
- Go to WooCommerce > Orders and view/edit an existing order.
- Look for the
_wcpay_fraud_meta_box_type
field in the Custom Fields section. - Update the field Value to
terminal_payment
, and click Update for the order. - Once the page refreshes, the meta box should resemble the screenshot.
Snippet:
add_filter( 'is_protected_meta', '__return_false', 999 );
The following tests need to be carried out with the testing site configured in some or all of the following ways:
- UPE disabled and manual auth/capture enabled.
- UPE disabled and manual auth/capture disabled.
- Legacy UPE enabled and manual auth/capture enabled.
- Legacy UPE enabled and manual auth/capture disabled.
- Split UPE enabled and manual auth/capture enabled.
- Split UPE enabled and manual auth/capture disabled.
Each test below will list which configuration numbers above need to be tested.
Use the WCPay Dev Tools plugin (/wp-admin/admin.php?page=wcpaydev
) to switch between non-UPE, Legacy UPE, and Split UPE modes.
To enable manual auth/capture (issue an authorization on checkout and capture later), visit the Transactions section of WCPay settings (/wp-admin/admin.php?page=wc-settings&tab=checkout§ion=woocommerce_payments
) and check the second checkbox: Issue an authorization on checkout, and capture later. Then click the save changes button at the bottom of the page.
Set a fraud protection rule for testing. We have found that the Order Items Threshold, was the easiest to use. In the fraud protection section of the WCPay settings page, click the Advanced radio button, then the configure button. On the advanced settings page, scroll to the Order Items Threshold setting, click the toggle to enable it. Then add '2' to the Maximum items per order input field. Click the Save changes button.
Test: Blocked order test
Test with all six configurations.
- Add 3 items to your cart to trigger Your Rule.
- Attempt to check out.
- You should receive this error: Error: There's a problem with this payment. Please try again or use a different payment method.
- Go to WooCommerce > Orders in the admin and there should be a new Pending Payment order, view/edit that order.
- The order should have a Fraud & Risk meta box and Order notes similar to the below.
- The link in the meta box should be:
https://{YOUR_SITE}/wp-admin/admin.php?page=wc-admin&path=/payments/transactions/details&id={ORDER_NUMBER}&status_is=block&type_is=meta_box
- The link in the order note should be:
https://{YOUR_SITE}wp-admin/admin.php?page=wc-admin&path=/payments/transactions/details&id={ORDER_NUMBER}&status_is=block&type_is=order_note
Test: Allowed order with manual auth/capture enabled
Test with configurations: 1, 3, 5.
- Add one item to your cart and proceed to check out and place the order.
- Go to WooCommerce > Orders in the admin and there should be a new On hold order, view/edit that order.
- The order should have a Fraud & Risk meta box and Order notes similar to the below.
Test: Capturing Allowed order with auth/capture enabled via webhook
Test with configurations: 1, 3, 5.
- Go to Payments > Transactions > Uncaptured
- The order should appear in the list, click the Capture button.
- After receiving the confirmation that the charge has been captured, go to the order under WooCommerce > Orders.
- The order should have updated to Processing/Completed status.
- The order should have a Fraud & Risk meta box and Order notes similar to the below.
Test: Cancelling auth for allowed order
Test with configurations: 1, 3, 5.
- You will need to place another order like the one in the 'Allowed order with manual auth/capture enabled' test above.
- In the new order, choose Cancel authorization under Order actions, and then click the arrow or Update button.
- The order should have updated to Canceled status.
- The order should have a Fraud & Risk meta box and Order notes similar to the below.
Test: Allowed order with manual auth/capture disabled
Test with configurations: 2, 4, 6.
- Add one item to your cart and proceed to checkout.
- Check out.
- Go to WooCommerce > Orders in the admin and there should be a new Processing/Complete order, view/edit that order.
- The order should have a Fraud & Risk meta box and Order notes similar to the below.
Test: Payment started message - UPE methods with manual auth/capture disabled
Test with configurations: 4 and 6.
- Add one item to your cart and proceed to checkout.
- Check out using card:
4000000000000002
- The transaction will be declined.
- Go to WooCommerce > Orders in the admin and there should be a new Failed order, view/edit that order.
- The order should have a Fraud & Risk meta box and Order notes similar to the below.
- The No action taken message is displayed because fraud filtering never took place.