Release testing instructions for the WooCommerce Stripe payment gateway 5.8.0 - woocommerce/woocommerce-gateway-stripe GitHub Wiki

Make sure you can unload Stripe scripts when PRBs are disabled on Product and shortcode Cart pages

Note: The test should be performed with UPE enabled and disabled, and on the Shortcode cart page.

  1. Open the Network tab of your browser's developer tools.
  2. Open any product details page.
  3. Notice that we load scripts from js.stripe.com (filter/search the network tab for js.stripe.com).
  4. Add a product to your cart and go to your store's cart page (make sure the page is using the Shortcode cart, not the Blocks cart).
  5. Notice that we load scripts from js.stripe.com.
  6. Make sure PRBs are only present on the Checkout page by changing the settings in WooCommerce > Settings > Payments > Stripe.
image
  1. Open any product details page.
  2. Make sure we still load scripts from js.stripe.com.
  3. Add a product to your cart and go to your store's cart page.
  4. Make sure we still load scripts from js.stripe.com.
  5. Use the Code Snippets plugin to add the following filters:
add_filter( 'wc_stripe_load_scripts_on_product_page_when_prbs_disabled', '__return_false' );
add_filter( 'wc_stripe_load_scripts_on_cart_page_when_prbs_disabled', '__return_false' );
  1. Open any product details page.
  2. Make sure no scripts are loaded from js.stripe.com
  3. Add a product to your cart and go to your store's cart page.
  4. Make sure no scripts are loaded from js.stripe.com

Make sure Cart Block updates are applied to the Payment Request

Note: This test requires that you have the WooCommerce Blocks extension installed on your store.

  1. Add a product to your cart.
  2. Go to the page containing the Cart Block.
  3. Click the Payment Request Button (Apple Pay/Google Pay/Chrome Payment Request).
  4. Note the list of items and the total.
  5. Click Cancel to cancel the payment.
  6. Change the number of items in the cart.
  7. Click the Payment Request Button again.
  8. Make sure the list of items and the total have been updated.

Make sure Payment Requests can be cancelled multiple times in the Cart Block

Note: This test requires that you have the WooCommerce Blocks extension installed on your store.

  1. Add a product to your cart.
  2. Go to the page containing the Cart Block.
  3. Click the Payment Request Button (Apple Pay/Google Pay/Chrome Payment Request).
  4. Click Cancel to cancel the payment.
  5. Click the Payment Request Button again.
  6. Click Cancel to cancel the payment.
  7. Change the number of items in the cart.
  8. Click the Payment Request Button again.
  9. Click Cancel to cancel the payment.
  10. Click the Payment Request Button again.
  11. Click Cancel to cancel the payment.
  12. Make sure you can interact with the Payment Request Button (i.e. button is clickable, and not greyed out).
  13. Change the number of items in the cart.
  14. Again, make sure the Payment Request Button is still active (i.e. button is clickable, and not greyed out).

Pre-orders

Note: The tests below require WooCommerce Pre-Orders. Make sure you have it installed and active.

Note: Pre-orders is currently not compatible with the blocks checkout.

Note: For SEPA payments, make sure you follow these steps in order to listen for webhooks, etc.

Make sure you can pay with a saved card after failing 3DS authentication when using UPE

Note: UPE must be enabled.

  1. Save 4000000000003220 as a payment method to your account
  2. Add any product to your cart and go to the checkout page
  3. Checkout with the saved 4000000000003220 card
  4. Fail the 3DS authentication
  5. Checkout again with the same card
  6. Complete the 3DS auth successfully
  7. Go to WooCommerce > Orders
  8. Make sure the payment was successful (order status should be Processing or Completed).
  9. Go to your Stripe dashboard
  10. Note that the payment has a status of Succeeded

Pre-orders with charge upon release.

  1. Create a pre-order product with charge upon release:
  • a. As a merchant, navigate to Products > Add new.
  • b. Set the product title to: "Pre-order product with charge upon release".
  • c. Under product data, add a regular price of 10.
  • d. Select pre-orders.
  • e. Check "Enable pre-orders for this product".
  • f. Set an availability time in the future.
  • g. Select when to charge: "Upon release".
  • h. Click "Publish".
  1. Paying with "new checkout experience" disabled:
  • a. As a merchant, make sure "new checkout experience" is disabled under WooCommerce > Settings > Payments > Stripe.
  • b. As a shopper, add the pre-order product to the cart and proceed to checkout.
  • c. Pay with a new credit card.
  • d. Make sure the order details page has a description at the top saying that you will be automatically charged for your order.
  • e. As a merchant, navigate to WooCommerce > Pre-Orders.
  • f. Select the recently purchased pre-order, go to Bulk Actions > Complete > Apply.
  • g. Make sure the pre-order icon is changed to blue "Completed", and that the related order is "Processing".
  • h. Please repeat the steps a-g with a saved credit card, and then with SEPA.
  1. Paying with "new checkout experience" enabled:
  • a. As a merchant, make sure "new checkout experience" is enabled under WooCommerce > Settings > Payments > Stripe.
  • b. Repeat steps b-h from step 2.

Pre-orders with charge upfront.

  1. Create a pre-order product with charge upfront:
  • a. As a merchant, navigate to Products > Add new.
  • b. Set the product title to: "Pre-order product with charge upfront".
  • c. Under product data, add a regular price of 10.
  • d. Select pre-orders.
  • e. Check "Enable pre-orders for this product".
  • f. Set an availability time in the future.
  • g. Select when to charge: "Upfront".
  • h. Click "Publish".
  1. Paying with "new checkout experience" disabled:
  • a. As a merchant, make sure "new checkout experience" is disabled under WooCommerce > Settings > Payments > Stripe.
  • b. As a shopper, add the pre-order product to the cart and proceed to checkout.
  • c. Pay with a new credit card.
  • d. Make sure the order details page has a description at the top saying that your order has been received, and no mentions of automatic payments in a future date.
  • e. As a merchant, navigate to WooCommerce > Orders and make sure recently created order has a status of "Pre-ordered", and the order amount has already been charged.
  • f. As a merchant, navigate to WooCommerce > Pre-Orders.
  • g. Select the recently purchased pre-order, go to Bulk Actions > Complete > Apply.
  • h. Make sure the pre-order icon is changed to blue "Completed", and that the related order is "Processing".
  • i. Please repeat the steps a-h with a saved credit card, and then with SEPA.
  1. Paying with "new checkout experience" enabled:
  • a. As a merchant, make sure "new checkout experience" is enabled under WooCommerce > Settings > Payments > Stripe.
  • b. Repeat steps b-i from step 2 also with Bancontact and iDEAL.

New Settings UX

Note: The WC Stripe Dev tools is required to enable/disable the new Settings user interfase.

Edit Stripe account keys

  1. In WC Stripe Dev, enable UPE redesign.
  2. Under "General" in WooCommerce > Settings > Payments > Stripe > Settings.
    1. Click the Edit Account Keys button .
    2. Check that the modal popup to edit the keys is displayed, and that you can switch between Test & Live mode; the keys shown there should be loaded from your saved Stripe keys.
    3. Click Save test keys, you should receive a success toast notification.
  3. Under "Account details" in WooCommerce > Settings > Payments > Stripe > Settings.
    1. Click the 3 dots icon in the top right of the card and select Edit Account Keys in the drop-down menu.
    2. Check that the modal popup to edit the keys is displayed, and that you can switch between Test & Live mode.
    3. Click Save test keys, you should receive a success toast notification.

Edit Payments & transactions settings

  1. In WC Stripe Dev, enable UPE redesign.
  2. Under "Payments & transactions" in WooCommerce > Settings > Payments > Stripe > Settings.
    1. Change the option Enable payments via saved cards.
    2. Change the option Enable separate credit card form.
    3. Change the option Issue an authorization on checkout, and capture later.
    4. Change the text of Full bank statement.
    5. Save changes (you should receive a success toast notification).
    6. Keep this tab open to verify the values later.
  3. In another tab, go to WC Stripe Dev, and disable UPE redesign.
  4. Under "Payments & transactions" in WooCommerce > Settings > Payments > Stripe > Settings.
    1. Verify that Enable Payment via Saved Cards matches the value of Enable payments via saved cards from Step 2.i.
    2. Verify that Inline Credit Card Form has the opposite value of Enable separate credit card form from Step 2.ii.
    3. Verify that Capture charge immediately has the opposite value of Issue an authorization on checkout, and capture later from Step 2.iii.
    4. Verify that Statement Descriptor matches the value of Full bank statement from Step 2.iv.

Express checkouts settings.

  1. In WC Stripe Dev, enable UPE redesign.
  2. Under "Express checkouts" in WooCommerce > Settings > Payments > Stripe > Payment Methods.
    1. Change the value of Enable express checkouts.
    2. Change the selected options of Show express checkouts on.
    3. Save changes
    4. Keep this tab open to verify the values later.
  3. In another tab, go to WC Stripe Dev, and disable UPE redesign.
  4. Under "Express checkouts" in WooCommerce > Settings > Payments > Stripe.
    1. Verify that Enable Payment Request Buttons. (Apple Pay/Google Pay) matches the value of Enable express checkouts form Step 2.i.
    2. Verify that Payment Request Button Locations have the options saved in Show express checkouts on from Step 2.ii.

Customize Express checkout appearance.

  1. In WC Stripe Dev, enable UPE redesign.
  2. Under "Express checkouts" in WooCommerce > Settings > Payments > Stripe > Payment Methods, click the Customize appearance button.
  3. Change the selected options for:
    1. Call to action
    2. Appearance
    3. Theme
    4. Save changes
    5. Keep this tab open to verify the values later.
  4. In another tab, go to WC Stripe Dev, and disable UPE redesign.
  5. Under "Express checkouts" in WooCommerce > Settings > Payments > Stripe.
    1. Verify that Payment Request Button Type matches the value saved in Call to action from Step 3.i.
    2. Verify that Payment Request Button Size matches the value saved in Appearance from Step 3.ii.
    3. Verify that Payment Request Button Theme matches the value saved in Theme from Step 3.iii.

Hide payment request button (PRB) when a variable product's variations are out-of-stock

All variations are out-of-stock

  1. As a merchant, create a new product: Products > Add New
  2. Add a Product name and select "Variable product" as Product data
  3. Click Attributes menu-item, then click Add while "Custom product attribute" is selected
  4. Create "Size" attribute with "Small | Medium" as values
  5. Ensure Used for variations is checked and click Save attributes
  6. Click the Variations menu-item, select "Create variations from all attributes", and click Go
  7. Add a Regular price ($) for each variation
  8. Select "Out of stock" on the Stock status field, for each variation
  9. Click Save changes, click Publish, and go to the product's page
  10. As a shopper, verify that the PRB is not visible, upon loading the page. Also, verify that switching between Size variations keeps the PRB hidden.

One variation is out-of-stock

Note: The following test uses the product from above (All variations are out-of-stock)

  1. As a merchant, go back to edit the product created in All variations are out-of-stock
  2. Click the Variations menu-item
  3. Update the Stock status of the "Small" variation to "In stock"
  4. Click Save changes and go to the product's page
  5. As a shopper, verify that the PRB is visible, upon loading the page. Also, verify that selecting the "Small" Size variation makes the PRB show. But switching to the "Medium" variation makes the PRB hide.

Hide payment request button (PRB) when a variable subscription's variations are out-of-stock

Note: For the following tests, ensure that the WooCommerce Subscriptions plugin is installed and activated.

All variations are out-of-stock

  1. As a merchant, create a new product: Products > Add New
  2. Add a Product name and select "Variable subscription" as Product data
  3. Click Attributes menu-item, then click Add while "Custom product attribute" is selected
  4. Create "Billing Period" attribute with "1 Month | 2 Months" as values
  5. Ensure Used for variations is checked and click Save attributes
  6. Click the Variations menu-item, select "Create variations from all attributes", and click Go
  7. Add a Subscription price ($) for each variation
  8. Select "Out of stock" on the Stock status field, for each variation
  9. Click Save changes, click Publish, and go to the product's page
  10. As a shopper, verify that the PRB is not visible, upon loading the page. Also, verify that switching between Billing Period variations keeps the PRB hidden.

One variation is out-of-stock

Note: The following test uses the product from above (All variations are out-of-stock)

  1. As a merchant, go back to edit the product created in All variations are out-of-stock
  2. Click the Variations menu-item
  3. Update the Stock status of the "1 Month" variation to "In stock"
  4. Click Save changes and go to the product's page
  5. As a shopper, verify that the PRB is visible, upon loading the page. Also, verify that selecting the "1 Month" Billing Period variation makes the PRB show. But switching to the "2 Months" variation makes the PRB hide.

Make sure documentation links are properly updated

  1. In the readme.txt, ensure the documentation link goes to https://woocommerce.com/document/stripe.
  2. In wp-admin > Plugins, look for the WooCommerce Stripe Gateway plugin, and ensure the Docs link goes to https://woocommerce.com/document/stripe.
  3. In wp-admin > WooCommerce > Settings, update Test Publishable Key, find the new notice at the top (see image below) of the page, and ensure the Click here to learn more link goes to https://woocommerce.com/document/stripe-fixing-customer-errors.

image

  1. In wp-admin > WooCommerce > Settings, look for New checkout experience field, and ensure Learn more link goes to https://woocommerce.com/document/stripe/#new-checkout-experience.
  2. In wp-admin > Settings > Privacy, Policy Guide tab (at the top), open the Stripe accordion element (see image below), and ensure the Learn more about how this works, including what you may want to include in your privacy policy link goes to https://woocommerce.com/document/privacy-payments/#section-3.

image

⚠️ **GitHub.com Fallback** ⚠️