-
Notifications
You must be signed in to change notification settings - Fork 69
Release testing instructions for WC Payments 8.7.0
- Use card
4000 0000 0000 0002
for testing. - In the checkout, as a shopper, you will still see the generic decline
Your card was declined.
- However, as a merchant, in the order note, you can see more details like this:
-
Set WooPayments to "Issue an authorization on checkout, and capture later."
-
Switch to the
develop
branch or use the plugin version without this change. -
Add an item to the cart and process the payment on the checkout page.
-
Go to the order's view screen in the WP Admin page and confirm that the transaction fee is displayed as shown below:
-
Switch to this branch.
-
Repeat the steps above.
-
On the order's view screen in WP Admin, notice that the transaction fee is no longer displayed since the transaction is not yet captured.
- Capture the transaction in the Transactions tab.
- Return to the order's view screen in WP Admin.
- Confirm that the transaction fee is now displayed.
-
Switch to the
develop
branch. or plugin version without this change. -
Ensure you have at least two shipping methods enabled.
-
Add the following filter to your code (e.g., inside
functions.php
). Note that checking out to thedevelop
branch might overwrite this change, so ensure the filter is re-added if needed. Adjust the shipping method name in the example (local_pickup
) to match one you have configured. This filter removes WooCommerce Payments as a gateway for the specified shipping method:add_filter( 'woocommerce_available_payment_gateways', function ( $available_gateways ) { $chosen_shipping = WC()->session->get( 'chosen_shipping_methods' )[0] ?? ''; if ( isset( $available_gateways['woocommerce_payments'] ) && 0 === strpos( $chosen_shipping, 'local_pickup' ) ) { unset( $available_gateways['woocommerce_payments'] ); } return $available_gateways; } );
-
Test behavior on the
develop
branch:- Ensure the filter from Step 3 is in place, as switching to the
develop
branch might overwrite it. - Go to the checkout page.
- Select the shipping method configured in the filter (e.g.,
local_pickup
). Confirm that WooCommerce Payments is not available as a payment option. - Switch to a different shipping method. Confirm that WooCommerce Payments is displayed, and payment fields are rendered.
- Switch back to the shipping method that disables WooCommerce Payments and refresh the page.
- After the page refresh, switch to another shipping method that supports WooCommerce Payments. Confirm that the checkout blocks or payment fields (e.g., credit card fields) are not rendered.
- Ensure the filter from Step 3 is in place, as switching to the
-
Switch to this branch and repeat the test:
- Perform the same steps as above.
- Confirm that this time the payment fields or credit card fields are correctly rendered for the supported shipping methods.
Fix issue where order status and data are not updated when an order is in the processing state and being captured.
- Enable manual capture.
- Switch to the
develop
branch or any branch without the code from this PR. - Place an order and complete the payment.
- In the admin panel, locate the order and confirm it is in the "On-hold" state.
- Change the order status to "Processing."
- Navigate to Payments -> Transactions, then open the "Uncaptured Transactions" tab.
- Find the newly created order and click the Capture button.
- Observe that the capture note is missing on the order screen.
- Check Stripe and verify the transaction is captured.
- Attempt to refund the order:
- Notice that you cannot refund because the order remains in the "requires capture" state, and an error message appears.
- Enable auth + capture.
- Purchase a product.
- Navigate to Payments > Transactions.
- Select the Uncaptured tab.
- Capture the transaction purchased in step 2.
- Select the Transactions tab.
- Note that the transaction captured in step 5 is present.
We are going to test that date and times format follow the user preferences.
- As a merchant, navigate to WP Admin > Settings > General.
- Select the following date, time and timezone settings. Don't forget to save your changes:
- Timezone: UTC
- Date Format:
F j, Y
i.e. December 20, 2024 - Time Format:
g:i a
i.e. 11:20 pm
- As a shopper, purchase an order. Note the transaction date and time and convert it to UTC if needed. We'll need it later.
- As a merchant, navigate to WP Admin > Payments > Transactions
- We need to check two things:
- A notice appears at the top of the page, informing the merchant about the change of date and time formats.
- The date column in the transactions list displays the date and time in the expected
F j, Y / g:i
format and the UTC timezone i.e. December 20, 2024 / 11:20 pm - You can use the screenshot below for reference
- In the notice you can find a link to the settings page, click it.
- Select different date, time and timezone settings than before. Don't forget to save your changes:
- Timezone: Madrid (or you can set a different timezone for your convenience)
- Date Format:
d/m/Y
i.e. 20/12/2024 - Time Format:
H:i
i.e. 12:20
- Navigate again to WP Admin > Payments > Transactions
- Check that the notice for merchants no longer appear and the
Date
column in the transactions list displays the date and time in the expectedd/m/Y / H:i
format and the UTC timezone i.e. 20/12/2024 / 12:20 pm. Please make sure to check the date displayed time is in the correct timezone.