v8.3.0 ‐ Release testing instructions - woocommerce/woocommerce-gateway-stripe GitHub Wiki

Generating Test Stripe Accounts

Stripe 8.3.0 introduces 3 new Buy Now, Pay Later payment methods which require specific Stripe account business location requirements to be enabled. Please follow the following steps to create Stripe accounts for specific business locations:

  1. From the Stripe Dashboard click on the Accounts dropdown
  2. Click "Create New Account"

Screenshot 2024-05-03 at 2 14 45 PM

  1. Enter a Business name (can be anything).
  2. Select the country you want to create a Stripe Account for.

Screenshot 2024-05-03 at 2 20 50 PM

  1. Click Create
  2. Go to Developers → Api Keys and copy the API Publishable Key and Secret Key into your WooCommerce Stripe Settings
Screenshot 2024-05-03 at 2 22 45 PM Screenshot 2024-05-03 at 2 28 59 PM

Klarna

Is available on the Settings page

  1. Connect the store to a Stripe account under one of the countries that support Klarna, like France

  2. Ensure the store currency is set to Euro

  3. Ensure the Legacy experience is disabled

  4. Go to the Payment Methods tab, at wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods

  5. Confirm Klarna is displayed and available to be enabled

Is unavailable on the Settings page based on the store currency

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings

  2. Change the currency to an unsupported one, like the Mexican peso

  3. Go to the Payment Methods tab, at wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods

  4. Confirm Klarna has a note on the supported currencies and can't be enabled

Can process a payment on the checkout pages

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings

  2. Select Euro as the store currency

  3. As a shopper, add a product to the cart and go to the Block checkout page

  4. Select France as the billing country

  5. Confirm Klarna is displayed among the available payment methods

  6. Select Klarna and click on the Place Order button

  7. On the Klarna payments page, log in with a French account using the phone number +33689854321

  8. Complete the payment flow

  9. Confirm the payment is placed as expected

    • The related WC order has an associated charge in the Stripe dashboard
    • The WC order status is "processing"
    • The payment in the Stripe dashboard has a "Succeeded" status, has the correct WC order number, billing and shipping address, and payment method associated with it

Confirm the behavior is the same when checking out through the Shortcode checkout page

Is unavailable on checkout based on the store currency and the account country's default currency

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings
  2. Select a currency that's supported by Klarna, but that's not the default of the country your Stripe account is associated with. For example, select the United States dollar when your Stripe account is from France
  3. As a shopper, go to the Block checkout page
  4. Confirm that France is selected as the billing country
  5. Confirm Klarna is not displayed on the available payment methods

Confirm this behavior is the same on the Shortcode checkout page

Is unavailable on checkout based on the customer's billing country

  1. Confirm the store currency is the one used by the country your Stripe account is associated with. For example, Euro for a French Stripe account
  2. As a shopper, go to the Block checkout page
  3. Select France as the billing country
  4. Confirm that Klarna is displayed on the available payment methods
  5. Select a country that Klarna does not support as the billing country, like Mexico
  6. Confirm that Klarna is no longer displayed on the available payment methods

Confirm this behavior is the same on the shortcode checkout page

Can be used on the Pay for Order page

  1. Ensure Klarna is enabled and available on the checkout page
  2. Follow the steps on the Checkout via the Pay for Order page critical flow, but choosing Klarna as the payment method

Is not available for "Issue an authorization on checkout, and capture later"

  1. Ensure Klarna is enabled and available on the checkout page
  2. Go to the Settings tab, at /wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=settings
  3. Enable "Issue an authorization on checkout, and capture later"
  4. As a shopper, go to the Block checkout page
  5. Confirm that Klarna isn't displayed on the available payment methods

Confirm this behavior is the same on the shortcode checkout page

Can be fully refunded from the WooCommerce dashboard

  1. Place an order using Klarna, as described in Can process a payment on the checkout pages
  2. Confirm the Full refund critical flow works as expected for this order

Can be partially refunded from the WooCommerce dashboard

  1. Place an order using Klarna, as described in Can process a payment on the checkout pages
  2. Confirm the Partial refund critical flow works as expected for this order

Can be fully refunded from the Stripe dashboard

  1. Ensure Webhooks are set up

  2. Place an order using Klarna, as described in Can process a payment on the checkout pages

  3. Go to your Stripe dashboard

  4. Go to the payment related to the order you just placed

  5. At the right of the screen, click on "Refund"

  6. Process a refund for the full total of the order

  7. Go to the Edit order page for this order on your WooCommerce dashboard, at /wp-admin/admin.php?page=wc-orders&action=edit&id=< order_id >

  8. Confirm that the order status is "refunded", and that the refunded amount is the order's total

Can be partially refunded from the Stripe dashboard

  1. Ensure Webhooks are set up

  2. Place an order using Klarna, as described in Can process a payment on the checkout pages

  3. Go to your Stripe dashboard

  4. Go to the payment related to the order you just placed

  5. At the right of the screen, click on "Refund"

  6. Process a refund for part of the order's total

  7. Go to the Edit order page for this order on your WooCommerce dashboard, at /wp-admin/admin.php?page=wc-orders&action=edit&id=< order_id >

  8. Confirm that the order status is "processing", and that the refunded amount matches the amount you defined on the Stripe dashboard

Handles failed payments gracefully

  1. As a shopper, add a product to the cart and go to the Block checkout page
  2. Select Klarna as the payment method
  3. On the Klarna payments page, use the following French user that will be denied +33687984322. You can find users from other countries here
  4. Attempt to pay for the order until the flow takes you back to the store
  5. On the store, confirm that the related WC order has a "failed" status

Confirm the behavior is the same on the Shortcode checkout page

Confirm the behavior is the same on the Pay for Order page - The behavior here can be improved. We have the following issue to address it: https://github.com/woocommerce/woocommerce-gateway-stripe/issues/3066

Affirm

  1. Connect the store to a Stripe account under one of the countries that support Affirm, like the US or Canada
  2. Ensure the store currency (WooCommerce → Settings → General) is set to US or CAD (matching your Stripe account country)
  3. Ensure the Legacy experience is disabled
  4. Go to the Payment Methods tab, at wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods
  5. Confirm Affirm is displayed and available to be enabled

Screenshot 2024-05-03 at 4 38 59 PM

Is unavailable on the Settings page based on the store currency

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings
  2. Change the currency to an unsupported one, like the Mexican peso
  3. Go to the Payment Methods tab, at wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods
  4. Confirm Affirm has a note on the supported currencies and can't be enabled

Can process a payment on the checkout pages

Note

Affirm is only available to carts with a total (including shipping and taxes) of $50 - $30,000 USD or CAD1 - 2,000 AUD

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings
  2. Select CAD or USD as the store currency. Note it needs to match your Stripe Account's default currency (US ⇒ USD, CA ⇒ CAD)
  3. As a shopper, add a product to the cart and go to the Block checkout page
  4. Enter the United States or Canada as the billing country
  5. Confirm Affirm is displayed among the available payment methods
  6. Change the billing country to an ineligible country like Australia.
  7. Confirm Affirm is not displayed among the available payment methods
Available to US or CA shoppers Not available to other countries
Screenshot 2024-05-03 at 4 47 52 PM Screenshot 2024-05-03 at 4 53 11 PM

Important

Note that if you are using a US based Stripe account, you can only transact with customers in the US. If you are using a Canadian based Stripe Account you can only transact with customers in Canada. This payment method is not eligible for cross border transactions.

  1. Enter the United States or Canada as the billing country
  2. Select Affirm and click on the Place Order button
  3. You will be redirected to a Stripe sandbox page and asked to Authorize or Fail.
  4. Authorize the payment.
  5. Confirm the payment is placed as expected
    • The related WC order has an associated charge in the Stripe dashboard
    • The WC order status is "processing"
    • The payment in the Stripe dashboard has a "Succeeded" status, has the correct WC order number, billing and shipping address, and payment method associated with it

Confirm this behavior is the same on the shortcode checkout page

Is unavailable on checkout based on the store currency and the account country's default currency

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings
  2. Select a currency that's supported by Affirm (CAD or USD), but that's not the default of the country your Stripe account is associated with. For example, select the United States dollar when your Stripe account is from CAD
  3. As a shopper, go to the Block checkout page
  4. Confirm that Canada is selected as the billing country
  5. Confirm Affirm is not displayed on the available payment methods

Confirm this behavior is the same on the Shortcode checkout page

Can be used on the Pay for Order page

  1. Ensure Affirm is enabled and available on the checkout page
  2. Follow the steps on the Checkout via the Pay for Order page critical flow, but choosing Affirm as the payment method

Is not available for "Issue an authorization on checkout, and capture later"

  1. Ensure Affirm is enabled and available on the checkout page
  2. Go to the Settings tab, at /wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=settings
  3. Enable "Issue an authorization on checkout, and capture later"
  4. As a shopper, go to the Block checkout page
  5. Confirm that Affirm isn't displayed on the available payment methods

Confirm this behavior is the same on the shortcode checkout page

Can be fully refunded from the WooCommerce dashboard

  1. Place an order using Affirm, as described in Can process a payment on the checkout pages
  2. Confirm the Full refund critical flow works as expected for this order

Can be partially refunded from the WooCommerce dashboard

  1. Place an order using Affirm, as described in Can process a payment on the checkout pages
  2. Confirm the Partial refund critical flow works as expected for this order

Can be fully refunded from the Stripe dashboard

  1. Ensure Webhooks are set up
  2. Place an order using Affirm, as described in Can process a payment on the checkout pages
  3. Go to your Stripe dashboard
  4. Go to the payment related to the order you just placed
  5. At the right of the screen, click on "Refund"
  6. Process a refund for the full total of the order

Screenshot 2024-05-03 at 5 22 59 PM

  1. Go to the Edit order page for this order on your WooCommerce dashboard, at /wp-admin/admin.php?page=wc-orders&action=edit&id=< order_id >
  2. Confirm that the order status is "refunded", and that the refunded amount is the order's total

Can be partially refunded from the Stripe dashboard

  1. Ensure Webhooks are set up
  2. Place an order using Affirm, as described in Can process a payment on the checkout pages
  3. Go to your Stripe dashboard
  4. Go to the payment related to the order you just placed
  5. At the right of the screen, click on "Refund"
  6. Process a refund for part of the order's total

Screenshot 2024-05-03 at 5 27 33 PM

  1. Go to the Edit order page for this order on your WooCommerce dashboard, at /wp-admin/admin.php?page=wc-orders&action=edit&id=< order_id >

  2. Confirm that the order status is "processing", and that the refunded amount matches the amount you defined on the Stripe dashboard

Handles failed payments gracefully

  1. As a shopper, add a product to the cart and go to the Block checkout page
  2. Select Affirm as the payment method and click Place order
  3. On the sandbox Stripe page, click Fail test payment
  4. On the store, confirm that the related WC order has a "failed" status

Confirm the behavior is the same on the Shortcode checkout page

Confirm the behavior is the same on the Pay for Order page - The behavior here can be improved. We have the following issue to address it: https://github.com/woocommerce/woocommerce-gateway-stripe/issues/3066

Afterpay/Clearpay

  1. Connect the store to a Stripe account under one of the countries that support Afterpay. (United States, Canada, United Kingdom, Australia, New Zealand)
  2. Ensure the store currency (WooCommerce → Settings → General) is set to the corresponding currency. ie It matches your Stripe accounts base country. eg UK ⇒ GBP
  3. Ensure the Legacy experience is disabled
  4. Go to the Payment Methods tab, at wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods
  5. Confirm Afterpay/Clearpay is displayed and available to be enabled

Screenshot 2024-05-03 at 6 32 38 PM

Note

If you use a Stripe account based in the UK. It will be called "Clearpay". Every other country it will be called "Afterpay".

Is unavailable on the Settings page based on the store currency

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings
  2. Change the currency to an unsupported one, like the Mexican peso
  3. Go to the Payment Methods tab, at wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods
  4. Confirm Clearpay/Afterpay has a note on the supported currencies and can't be enabled

Screenshot 2024-05-03 at 6 33 40 PM

Can process a payment on the checkout pages

Note

Clearpay/Afterpay is only available to carts with a total (including shipping and taxes) of $1 - $2,000 (AUD, CAD, NZD), £1 - £1,200 (GBP) and $1 - $4,000 USD.

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings
  2. Select the store correct currency. Note it needs to match your Stripe Account's default currency (US ⇒ USD, CA ⇒ CAD)
  3. As a shopper, add a product to the cart and go to the Block checkout page
  4. Set the billing country to the one that matches your Stripe account location.
  5. Confirm Clearpay/Afterpay is displayed among the available payment methods
  6. Change the billing country to an ineligible country like France.
  7. Confirm Clearpay/Afterpay is not displayed among the available payment methods
Available to domestic * shoppers Not available to other countries
Screenshot 2024-05-03 at 6 45 57 PM Screenshot 2024-05-03 at 6 40 33 PM

Important

* Note that if you are using a US based Stripe account, you can only transact with customers in the US. If you are using a Canadian based Stripe Account you can only transact with customers in Canada. This payment method is not eligible for cross border transactions. There is a known issue if you select a country that is available to Clearpay/Afterpay but it doesn't match the stripe account. eg if you Stripe account is based in the US, and you enter an address that is in Canada, United Kingdom, Australia, or New Zealand, it will be displayed on checkout. We have an open PR https://github.com/woocommerce/woocommerce-gateway-stripe/pull/3108 for that. We'll fix this before release.

  1. Enter the billing country that matches your Stripe account
  2. Select Clearpay/Afterpay and click on the Place Order button
  3. You will be redirected to a Stripe sandbox page and asked to Authorize or Fail the payment.
  4. Authorize the payment.
  5. Confirm the payment is placed as expected
    • The related WC order has an associated charge in the Stripe dashboard
    • The WC order status is "processing"
    • The payment in the Stripe dashboard has a "Succeeded" status, has the correct WC order number, billing and shipping address, and payment method associated with it

Confirm this behavior is the same on the shortcode checkout page

Is unavailable on checkout based on the store currency and the account country's default currency

  1. Go to WooCommerce settings, at /wp-admin/admin.php?page=wc-settings
  2. Select a currency that's supported by Afterpay/Clearpay (USD, CAD, GBP, AUD, or NZD), but that's not the default of the country your Stripe account is associated with. For example, select the United States dollar when your Stripe account is from CA
  3. As a shopper, go to the Block checkout page
  4. Confirm that Canada is selected as the billing country
  5. Confirm Clearpay/Afterpay is not displayed on the available payment methods

Confirm this behavior is the same on the Shortcode checkout page

Can be used on the Pay for Order page

  1. Ensure Afterpay/Clearpay is enabled and available on the checkout page
  2. Follow the steps on the Checkout via the Pay for Order page critical flow, but choosing Clearpay/Afterpay as the payment method

Is not available for "Issue an authorization on checkout, and capture later"

  1. Ensure Afterpay/Clearpay is enabled and available on the checkout page
  2. Go to the Settings tab, at /wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=settings
  3. Enable "Issue an authorization on checkout, and capture later"
  4. As a shopper, go to the Block checkout page
  5. Confirm that Afterpay/Clearpay isn't displayed on the available payment methods

Confirm this behavior is the same on the shortcode checkout page

Can be fully refunded from the WooCommerce dashboard

  1. Place an order using Afterpay/Clearpay, as described in Can process a payment on the checkout pages
  2. Confirm the Full refund critical flow works as expected for this order

Can be partially refunded from the WooCommerce dashboard

  1. Place an order using Afterpay/Clearpay, as described in Can process a payment on the checkout pages
  2. Confirm the Partial refund critical flow works as expected for this order

Can be fully refunded from the Stripe dashboard

  1. Ensure Webhooks are set up
  2. Place an order using Afterpay/Clearpay, as described in Can process a payment on the checkout pages
  3. Go to your Stripe dashboard
  4. Go to the payment related to the order you just placed
  5. At the right of the screen, click on "Refund"
  6. Process a refund for the full total of the order

Screenshot 2024-05-03 at 5 22 59 PM

  1. Go to the Edit order page for this order on your WooCommerce dashboard, at /wp-admin/admin.php?page=wc-orders&action=edit&id=< order_id >
  2. Confirm that the order status is "refunded", and that the refunded amount is the order's total

Can be partially refunded from the Stripe dashboard

  1. Ensure Webhooks are set up
  2. Place an order using Afterpay/Clearpay, as described in Can process a payment on the checkout pages
  3. Go to your Stripe dashboard
  4. Go to the payment related to the order you just placed
  5. At the right of the screen, click on "Refund"
  6. Process a refund for part of the order's total

Screenshot 2024-05-03 at 5 27 33 PM

  1. Go to the Edit order page for this order on your WooCommerce dashboard, at /wp-admin/admin.php?page=wc-orders&action=edit&id=< order_id >

  2. Confirm that the order status is "processing", and that the refunded amount matches the amount you defined on the Stripe dashboard

Handles failed payments gracefully

  1. As a shopper, add a product to the cart and go to the Block checkout page
  2. Select Afterpay/Clearpay as the payment method and click Place order
  3. On the sandbox Stripe page, click Fail test payment
  4. On the store, confirm that the related WC order has a "failed" status

Confirm the behavior is the same on the Shortcode checkout page

Confirm the behavior is the same on the Pay for Order page - The behavior here can be improved. We have the following issue to address it: https://github.com/woocommerce/woocommerce-gateway-stripe/issues/3066

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