Critical flows ‐ Instructions - woocommerce/woocommerce-gateway-stripe GitHub Wiki

Table of Contents

Setup

Shopper

Merchant

Shopper (subscriptions)

Merchant (subscriptions)

Alternative Payment Methods (APMs)

⚠️ New Stripe accounts can't use APMs with the Legacy experience.

To test APMs with the Legacy experience, use a Stripe account that processed a payment with the Legacy experience before March 1st, 2024.

Otherwise, the payment will fail with a "The Sources API has been deprecated, and we are no longer allowing new integrations" error message.

Setup

Manual plugin installation and setup

  1. Create a new site, install WooCommerce, and finish the setup wizard using United States address as a store address without selecting Stripe on Business Details step.

  2. If you don't have one already, create a Stripe account. You don't have to enter details to verify the account because we only use test data for testing.

  3. Follow the instructions in the docs Connecting to a Stripe account to manually install and set up the Stripe Payment Gateway.

    Note: Since 8.0.0, you have to use the "Create or connect an account" button, and this will take you through the live flow. There's a the GH issue #2936 to update this. In the meantime, follow these steps:

    • Click on the "Create or connect an account" button.
    • Select or create an account.
    • On the left sidebar, click "Return to WooCommerce Inc."
    • Enable Test mode and save
    • Go to Edit account keys > Test and manually enter the test keys from your account
  4. Import test products to your store. Instructions. CSV with sample products to import.

  5. Create a page with the Classic Checkout block on it.

    • Go to Pages > Add New.
    • Under the available blocks, select the "Classic Checkout" one.
    • Publish the page.
  6. Create a page with the Classic cart block on it.

    • Go to Pages > Add New.
    • Under the available blocks, select the "Classic Cart" one.
    • Publish the page.

Payment Request setup

  1. As a merchant, go to Stripe settings > Payment Methods tab > Express checkouts, at siteurl/wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods.
  2. Enable Apple Pay / Google Pay.
  3. If the Updated Checkout Experience is enabled, enable Link too.
  4. Go to the Payment Request's customization options, under Express checkouts > Apple Pay / Google Pay > Customize at siteurl/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods&area=payment_requests.
  5. Under Show express checkouts on, enable all options: Checkout, Product page, and Cart.
  6. Ensure that the store is accessible via public HTTPS URL (e.g. with Jurassic Ninja).
  7. Add a credit card to Chrome Payment settings. It can be a Stripe test card: 4242 4242 4242 4242, any cardholder name, valid expiration date and any CVV will work.

Note: Link is only available when the Updated Checkout Experience is enabled.

Webhooks setup

Follow the instructions from the official documentation to set up webhooks.

Enable the Legacy checkout experience

Since 8.1.0, the Updated checkout experience (UPE) is enabled by default on new installs.

To test the scenarios for the flows below using the Legacy checkout experience, you'll need to enable it.

  1. Go to the Stripe extension settings page > Settings tab, at siteurl/wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=settings.
  2. Scroll down to "Advanced settings"
  3. Check off the checkbox labeled "Enable the legacy checkout experience" and save

Shopper

Checkout with normal credit card

  1. Add a product to the cart and proceed to checkout.
  2. Fill in form details and checkout using one of the test cards (e.g. 4242 4242 4242 4242).
  3. Do not save card details.
  4. Place the order.
  5. Confirm the order is submitted successfully.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Save card at checkout

  1. Log in to the store as a shopper.

  2. Add a product to the cart and proceed to checkout.

  3. Fill in form details and checkout using one of the test cards (e.g. 4242 4242 4242 4242).

  4. Check the "Save payment information" checkbox.

    Block checkout Classic checkout
  5. Place the order.

  6. Confirm the order is submitted successfully.

  7. Confirm the card was saved in the store. It must be listed under My account > Payment methods.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Checkout with saved card

  1. Save a card in the store. Follow the testing instructions under Save card at checkout if in doubt.
  2. Add a product to the cart and proceed to checkout.
  3. Select the previously saved card from the list and place the order.
  4. Confirm the order is submitted successfully.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Checkout failures (with various cards)

Follow the steps from Checkout with normal credit card but using the following test cards:

Card number Expected error message Reason
4000000000000002 The card was declined. declined
4000000000009995 The card was declined. insufficient funds
4000000000009987 The card was declined. declined (lost)
4000000000000069 The card has expired. expired
4000000000000127 The card's security code is incorrect. CVC incorrect
4000000000000119 An error occurred while processing the card. processing error
4242424242424241 The card number is invalid. invalid number

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Checkout with SCA card

  1. Add a product to the cart and proceed to checkout.
  2. Use one of the SCA test cards (e.g. 4000002760003184).
  3. Place the order.
  4. Confirm that the 3D Secure verification dialog is displayed.
  5. Click on "Complete" to complete the authorization.
  6. Confirm the order is submitted successfully.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Checkout failure with SCA card

  1. Add a product to the cart and proceed to checkout.
  2. Use the SCA failing card with the number 4000008260003178.
  3. Place the order.
  4. On the 3D Secure verification dialog that's displayed, click on "Complete" to complete the authorization.
  5. Confirm an error message saying "Your card has insufficient funds." is displayed.
  6. Use a SCA successful card, like 4000002500003155.
  7. Place the order.
  8. On the 3D Secure verification dialog that's displayed, click on "Fail" to mimick a failed authorization.
  9. Confirm that an error message saying "We are unable to authenticate your payment method. Please choose a different payment method and try again." is displayed.
  10. Place the order again.
  11. On the 3D Secure verification dialog, click on "Complete".
  12. Confirm the order is submitted successfully.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Checkout with Payment Request

This table will guide you on how to load payment request buttons for specific payment options such as Google Pay, Apple Pay, or Link.

Browser + Wallet Payment Button
Safari + Apple Pay enabled Apple Pay
Chrome + Link authenticated Link
Chrome + Google Pay enabled and Link not authenticated Google Pay
Chrome on iOS 16 + Apple Pay and Google Pay enabled Apple Pay
Any browser + No active Apple Pay or Google Pay Link

Notes: Payment Request buttons ( Apple Pay, Google Pay, Link ) will be disabled for subscriptions with free trial if the product isn't virtual or downloadable. This is a limitation of checkout flow and not an issue.

Checkout from Product Page

  1. Go to product page and select product options (quantity and other params if required by product).
  2. Click Pay now button.
  3. Pick saved card from Chrome payment UI.
  4. Order should be completed successfully.
Stripe's experience Single product page
Legacy
Updated (UPE)

Checkout from the Cart

  1. Add several products to cart and go the cart page.
  2. Adjust cart settings if needed.
  3. Click Pay now button.
  4. Pick saved card from Chrome payment UI.
  5. Order should be completed successfully.

This flow applies to:

Stripe's experience WC's block cart WC's shortcode cart
Legacy
Updated (UPE)

Checkout with 3DS card

  1. Set up Payment Request as described above.
  2. Add a 3DS test card like 4000002500003155 to Chrome Payment settings. Any cardholder name, valid expiration date and any CVV will work.
  3. Try to pay with that card using the Payment Request button.
  4. Order should be completed successfully.

Add a new payment method

  1. As a shopper, navigate to My account > Payment methods
  2. Click on the "Add payment method" button.
  3. Fill the form in with card number 4242424242424242, expiration date in future, and any CVC code.
  4. Click on the "Add payment method" button.
  5. Confirm a "Payment method successfully added" success message is displayed.
  6. Confirm the payment method you just added is listed under My account > Payment methods

This flow applies to:

Stripe's experience Payment methods page
Legacy
Updated (UPE)

Delete a saved payment method

  1. Follow the steps under Add a new payment method if none is already saved.
  2. Go to My account > Payment methods.
  3. Locate the payment method you just added. Click on its "Delete" button.
  4. Confirm a "Payment method deleted" success message is displayed.
  5. Confirm the payment method is not listed anymore.

This flow applies to:

Stripe's experience Payment methods page
Legacy
Updated (UPE)

Checkout via the Pay for Order page

Repeat this flow using the following payment methods to check out:

  • Debit/credit card
  • SEPA
  1. As a merchant, go to the create a new order page at siteurl/wp-admin/admin.php?page=wc-orders&action=new
  2. Set the order status to Pending payment and add a product to the order.
  3. On the sidebar at the right, click on "Create".
  4. On the edit order page, click on "Customer payment page →".
  5. Place the order.
  6. Confirm that the order status gets updated to "Processing".

This flow applies to:

Stripe's experience Pay for Order page
Legacy
Updated (UPE)

Cards - Checkout form validation

  1. Add a product to the cart and proceed to checkout.
  2. Confirm that an error message is displayed and no console errors are shown when clicking on the "Place order" button for the following scenarios:
    • Don't add any payment information.
    • Enter a full CC number (e.g. 4242 4242 4242 4242), but don't enter any expiration or CVV number.
    • Enter a partial CC number
Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Cards - Add Payment Method form validation

  1. Log in as a shopper.
  2. Go to the My Account > Payment Methods page > Add Payment Method button.
  3. Select Cards as the payment method to be added.
  4. Confirm that an error message is displayed and no console errors are shown when clicking on the "Add payment method" button for the following scenarios:
    • Don't add any payment information.
    • Enter a full CC number (e.g. 4242 4242 4242 4242), but don't enter any expiration or CVV number.
    • Enter a partial CC number
Stripe's experience Add Payment Method page
Legacy
Updated (UPE)

Merchant

Manual capture

Note: Webhooks must be set up for this flow.

  1. As a Merchant, go to WooCommerce > Settings > Payments > Stripe > Settings tab > Payments & transactions.
  2. Check off the checkbox for Issue an authorization on checkout, and capture later to enable capture later.
  1. Save the settings.
  2. Follow normal card checkout flow as a Shopper to make a purchase. Take a note of the order number created.
  3. Using Merchant account go to the WooCommerce > Orders page and open the order created above. The order should have the status On Hold.
  4. Go to your Stripe's account dashboard
  5. Make sure Viewing test data is enabled and navigate to the Payments page.
  1. Locate the payment for the order you just made.
  1. Open the order details, click the Capture button, and capture the full amount.
  1. Go back to the order detail screens in your WooCommerce store and observe that the payment should now be captured (the order notes will say Stripe charge complete (Charge ID: ch_abc...)), and the order status should be set to Processing.

Full refund

  1. Go to the order page for an order purchased with the Stripe Payment Gateway. You might need to create one using steps from the normal card checkout flow.
  2. Click the Refund button to activate the refund UI.
  3. Update Qty and Refund amount fields to make sure all products and fees are refunded.
  4. Click the Refund via Stripe button to issue refund.
  5. After page reload check order status (Refunded) and notes in the right sidebar. Successful refund notes should be added.
  6. Go to your Stripe's account dashboard.
  7. Locate the payment for the order you just made.
  1. Check transaction summary, timeline, and payment details. It should reflect status Refunded and refunded amounts.

Partial refund

  1. Go to the order page for an order purchased with the Stripe Payment Gateway. You might need to create one using steps from the normal card checkout flow.
  2. Click Refund button to activate refund UI.
  3. Update Qty and Refund amount fields to make sure only part (not all) products and fees are refunded.
  4. Click Refund via Stripe button to issue refund.
  5. After page reload check order status (Processing) and notes in the right sidebar. Successful refund notes should be added.
  6. Go to your Stripe's account dashboard.
  7. Locate the payment for the order you just made.
  1. Check transaction summary, timeline, and payment details. It should reflect status Partial refund and refunded amounts.
  1. Repeat steps 2-9. Make sure following partial refunds work well and reflected in your Stripe's account dashboard.

Refund failure

  1. As a Shopper make a purchase using test card 4000000000005126 and make a note of order number.
  2. As a Merchant go to the order page for the created order.
  3. Click Refund button to activate refund UI.
  4. Update Qty and Refund amount fields to make sure all or part of the products and fees are refunded.
  5. Click Refund via Stripe button to issue refund.
  6. After page reload check order status (Refunded) and notes in the right sidebar. Successful refund notes should be added.
  7. Reload the order page, check that refund failure notes added to the order.
  8. Go to your Stripe's account dashboard.
  9. Make sure Viewing test data is enabled and navigate to the Payments page.
  10. Locate the payment for the order you just made.
  11. Observe that the transaction has the Succeeded status, but the timeline shows the refund failure.

Shopper (subscriptions)

Purchase subscription product

  1. As a Merchant create a subscription product (see official documentation for more details).
  2. As a Shopper purchase the product using a test card.
  3. Navigate to 'My account -> My Subscription'.
  4. Ensure the new subscription is listed there:

.

  1. Ensure 'Subscription' link and 'View' button are opening.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Purchase free trial subscription

  1. As a Merchant create a subscription product (see official documentation for more details).
  2. Modify the subscription: set 'Free trial' to e.g. 14 days, click 'Update' button in the top-right block on the product edit page.
  3. As a Shopper add the product to the cart and start the checkout.
  4. Ensure the total is '$0.00' and the product price includes e.g. ' with a 14-day free trial'.
  5. Ensure the order items have 'Recurring totals' section with correct subscription price.
  6. Complete the checkout and navigate to 'My account -> Subscriptions'.
  7. Ensure the new subscription is listed.

Note: "Payment Request" option ( Apple Pay, Google Pay, etc. ) will be disabled for subscriptions with free trial if the product isn't virtual or downloadable. This is a limitation of checkout flow and not an issue.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Purchase multiple subscriptions (same schedule)

  1. As a Merchant create 2 subscription products (see official documentation for more details).
  2. The subscription products should use an identical schedule, e.g. both daily, both weekly, both monthly, etc.
  3. As a Shopper add both products to the cart and complete checkout.
  4. Navigate to 'My account -> Subscriptions'.
  5. Ensure the listing contains only one new entry, click the 'View' button on the right side of the entry.
  6. Ensure 'Subscription totals' section lists the subscription products with the correct price.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Purchase multiple subscriptions (differing schedules)

  1. As a Merchant create 2 subscription products (see official documentation for more details).
  2. The subscription products should use differing schedules, e.g. one weekly and one monthly.
  3. As a Shopper add both products to the cart and complete checkout.
  4. Navigate to 'My account -> Subscriptions'.
  5. Ensure the listing contains two new entries, click the 'View' button on the right side of each entry.
  6. Ensure 'Subscription totals' section lists the subscription product with the correct price.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Renew subscription

  1. Follow steps from 'Purchase subscription product'.
  2. As a Shopper, navigate to 'My account -> My Subscription'.
  3. Note the newly created subscription and click the 'View' button located on the right side of the corresponding list entry.
  4. Note the content of the 'Related orders' section (after renewing a new entry expected to be listed there).
  5. Note the 'Renew now' button and click it.
  6. You expected to land on the checkout page.
  7. Ensure the 'Complete checkout to renew now.' success message is shown up.
  8. Complete the checkout and ensure the 'Related orders' section in the subscription has a new entry.

This flow applies to:

Stripe's experience Subscription renewal
Legacy
Updated (UPE)

Change payment method to new card

  1. Follow steps from 'Purchase subscription product'.
  2. As a Shopper, navigate to 'My account -> Subscriptions' and open the newly created subscription entry.
  3. Observe a 'Change payment' button for 'Actions'. Click the 'Change payment' button.
  4. In the second block, select 'Use a new payment method' option.
  5. Provide 4242424242424242 as the test card number, future expiration date, and a CVC code.
  6. Click 'Change payment method' button.
  7. Observe the 'Payment method updated.' success message.
  8. Ensure the 'Payment' line in the very first block is reflecting the card data you have provided.

Change payment method to saved card

  1. Follow steps from 'Add new payment method'.
  2. Follow steps from 'Purchase subscription product'.
  3. As a Shopper, navigate to 'My account -> Subscriptions' and open the newly created subscription entry.
  4. Observe a 'Change payment' button in 'Actions'.
  5. Click 'Change payment' button.
  6. In the second block, select the method created at the first step.
  7. Click 'Change payment method' button.
  8. Observe the 'Payment method updated.' success message.
  9. Ensure the 'Payment' line in the very first block is reflecting the card data you have provided.

Set default payment method

Follow steps from 'Change payment method to saved card', except:

  1. Make 2 purchases of subscription products, so you get 2 entries in the subscription listing.
  2. Make sure to mark 'Update the payment method used for all of my current subscriptions (optional)' checkbox when changing the payment method.
  3. Ensure both subscription entries are using the selected payment method.

Change default payment method

After completing steps from 'Set default payment method' change payment method again:

  1. Make sure to mark 'Update the payment method used for all of my current subscriptions (optional)' checkbox when changing the payment method.
  2. Ensure both subscription entries are using the new payment method.

Purchase subscriptions using SEPA

  1. Follow the instructions in checkout with SEPA to be able to listen to webhooks and accept SEPA orders.
  2. Repeat the Shopper (subscriptions) tests with SEPA instead of card.
  3. Repeat the Merchant (subscriptions) tests with SEPA instead of card.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

Merchant (subscriptions)

Renew subscription automatically

  1. As a Merchant create a subscription product (see official documentation for more details).
  2. As a Merchant navigate to 'WooCommerce -> Settings -> Subscriptions'
  3. Enable 'Display the auto renewal toggle' and click 'Save changes' button on page bottom.
  4. As a Shopper add the subscription product to the cart and complete checkout.
  5. As a Shopper, navigate to 'My account -> Subscriptions' and open the newly created subscription entry.
  6. Ensure 'Auto renew' toggle is available and enabled.
  7. Ensure 'Payment' states the selected payment method.
  8. Copy the subscription ID (#) for your newly created subscription.
  9. As a Merchant, navigate to 'WooCommerce -> Status -> Scheduled Actions'.
  10. As a Merchant, use the subscription ID in the 'Search hook, args and claim ID' field, on the top-right corner of the page.
  11. Search for a 'Pending' hook named 'woocommerce_scheduled_subscription_payment' and which argument states 'subscription_id' => {SUBSCRIPTION_ID}.
  12. Hover over the table row and click 'Run' to simulate an automatic renewal for the newly created subscription.
  13. As a Shopper, navigate to 'My account -> Subscriptions', and ensure the given subscription is updated and another order entry is attached to it under 'Related orders'.
  14. Note the 'Next payment date' should remain the same (i.e. one month ahead).

Renew subscription manually

  1. As a Merchant create a subscription product (see official documentation for more details).
  2. As a Merchant navigate to 'WooCommerce -> Settings -> Subscriptions'
  3. Enable 'Accept Manual Renewals', ' Turn off Automatic Payments ' and click 'Save changes' button on page bottom.
  4. As a Shopper add the subscription product to the cart and complete checkout.
  5. As a Shopper, navigate to 'My account -> Subscriptions' and open the newly created subscription entry.
  6. Ensure 'Payment' states 'Via Manual Renewal'.
  7. Observe a 'Renew now' button displayed for 'Actions'. Click the 'Renew now' button.
  8. Ensure you are landed to the checkout page and can complete the checkout.
  9. Navigate to 'My account -> Subscriptions -> View Subscription' and ensure the subscription is updated and a new order entry is attached under 'Related orders'.
  10. Note the 'Next payment date' should be up-to-date (i.e. two months ahead).

Alternative Payment Methods (APMs)

⚠️ New Stripe accounts can't use APMs with the Legacy experience.

To test APMs with the Legacy experience, use a Stripe account that processed a payment with the Legacy experience before March 1st, 2024.

Otherwise, the payment will fail with a "The Sources API has been deprecated, and we are no longer allowing new integrations" error message.

Checkout with iDEAL

  1. Go to WooCommerce > Settings > General.
  2. Select Euro (€) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > iDEAL.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart and proceed to checkout.
  8. Select iDEAL and click Place order.
  9. You'll be brought to Stripe's iDEAL test payment page. Click Authorize test payment to continue.
  10. You'll be brought to the store's Order received page. Note the Order number.
  11. Go to WooCommerce > Orders.
  12. Find the order you just created (see order number from step 10) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with Sofort

⚠️ Sofort is deprecated and won't be displayed under the available payment methods. Skip this flow.

Note: Webhooks must be set up for this flow.

Note: You'll need an address in Germany to pay via Sofort. You can use the following one or generate a fake address that will work here.

Street: Leipziger Strasse 36
City: Osnabrück
State: Niedersachsen
Zip Code: 49074
Phone Number: 05416327741
  1. Go to WooCommerce > Settings > General.
  2. Select Euro (€) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > Sofort.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart and proceed to checkout.
  8. Enter the address you generated here as the billing details.
  9. Select SOFORT and click Place order.
  1. You'll be brought to Stripe's Sofort test payment page. Click Authorize test payment to continue.
  2. You'll be brought to the store's Order received page. Note the Order number.
  3. Go to WooCommerce > Orders.
  4. Find the order you just created (see order number from step 11) and make sure the status is set to On Hold.
  5. Wait 3 minutes.
  6. Reload the WooCommerce > Orders page.
  7. Find the order you just created (see order number from step 11) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with giropay

  1. Go to WooCommerce > Settings > General.
  2. Select Euro (€) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > Giropay.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart and proceed to checkout.
  8. Select Giropay and click Place order.
  9. You'll be brought to Stripe's giropay test payment page. Click Authorize test payment to continue.
  10. You'll be brought to the store's Order received page. Note the Order number.
  11. Go to WooCommerce > Orders.
  12. Find the order you just created (see order number from step 10) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with EPS

  1. Go to WooCommerce > Settings > General.
  2. Select Euro (€) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > EPS.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart and proceed to checkout.
  8. Select EPS and click Place order.
  9. You'll be brought to Stripe's EPS test payment page. Click Authorize test payment to continue.
  10. You'll be brought to the store's Order received page. Note the Order number.
  11. Go to WooCommerce > Orders.
  12. Find the order you just created (see order number from step 10) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with Bancontact

  1. Go to WooCommerce > Settings > General.
  2. Select Euro (€) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > Bancontact.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart and proceed to checkout.
  8. Select Bancontact and click Place order.
  9. You'll be brought to Stripe's Bancontact test payment page. Click Authorize test payment to continue.
  10. You'll be brought to the store's Order received page. Note the Order number.
  11. Go to WooCommerce > Orders.
  12. Find the order you just created (see order number from step 10) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with Przelewy24

  1. Go to WooCommerce > Settings > General.
  2. Select Euro (€) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > Przelewy24.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart and proceed to checkout.
  8. Select Przelewy24 (P24) and click Place order.
  9. You'll be brought to Stripe's Przelewy24 test payment page. Click Authorize test payment to continue.
  10. You'll be brought to the store's Order received page. Note the Order number.
  11. Go to WooCommerce > Orders.
  12. Find the order you just created (see order number from step 10) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with SEPA (Direct debit payment)

Note: Webhooks must be set up for this flow.

  1. Go to WooCommerce > Settings > General.
  2. Select Euro (€) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > Direct debit payment.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart and proceed to checkout.
  8. Select SEPA Direct Debit.
  9. Enter DE08370400440532013003 as the IBAN Number and click Place order.
  10. You'll be brought to the store's Order received page. Note the Order number.
  11. Go to WooCommerce > Orders.
  12. Find the order you just created (see order number from step 10) and make sure the status is set to On hold.
  13. Wait 3 minutes.
  14. Reload the WooCommerce > Orders page.
  15. Find the order you just created (see order number from step 10) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

SEPA - Checkout form validation

  1. Add a product to the cart and proceed to checkout.
  2. Select SEPA as the payment method to be used.
  3. Confirm that an error message is displayed and no console errors are shown when clicking on the "Place order" button for the following scenarios:
    • Don't enter any payment information.
    • Add a partial IBAN number.
Stripe's experience WC's block checkout WC's shortcode checkout
Legacy
Updated (UPE)

SEPA - Add Payment Method form validation

  1. Log in as a shopper.
  2. Go to the My Account > Payment Methods page > Add Payment Method button.
  3. Select SEPA as the payment method to be added.
  4. Confirm that an error message is displayed and no console errors are shown when clicking on the "Add payment method" button for the following scenarios:
    • Don't enter any payment information.
    • Add a partial IBAN number.
Stripe's experience Add Payment Method page
Legacy
Updated (UPE)

Checkout with Multibanco

Note: Webhooks must be set up for this flow.

  1. Go to WooCommerce > Settings > General.
  2. Select Euro (€) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > Multibanco.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart and proceed to checkout.
  8. Select Multibanco and click Place order.
  9. You'll be brought to Stripe's Multibanco test payment page. Click Return to site to continue.
  10. You'll be brought to the store's Order received page. Note the Order number.
  11. Go to WooCommerce > Orders.
  12. Find the order you just created (see order number from step 10) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.
  13. Open the order details page for the order you just created.
  14. Make sure there are 3 notes associated with the order:
    1. "Awaiting Multibanco payment Order status changed from Pending payment to On hold."
    2. "Order status changed from On hold to Processing."
    3. "Stripe charge complete (Charge ID: py_xxx)"

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with Alipay

  1. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > Alipay.
  2. Toggle the Enable/Disable checkbox to on.
  3. Click Save changes.
  4. Add a product to the cart and proceed to checkout.
  5. Select Alipay and click Place order.
  6. You'll be brought to Stripe's Alipay test payment page. Click Authorize test payment to continue.
  7. You'll be brought to the store's Order received page. Note the Order number.
  8. Go to WooCommerce > Orders.
  9. Find the order you just created (see order number from step 10) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with Boleto

Note: Webhooks must be set up for this flow.

Note: You'll need to set Brazil as your country in the Stripe account. If it's not possible you'll need to create a new account and set Brazil and use the account for this test.

  1. Go to WooCommerce > Settings > General.
  2. Select Brazilian real (R$) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > Boleto.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart (> R$5.00) and proceed to checkout.
  8. Type in a valid Brazilian address.
  9. Select Boleto, use 81200558022 in the CPF/CNPJ field and click Place order.
  10. A modal containing a voucher must show up. Close it.
  11. You'll be brought to the store's Order received page. Note the Order number.
  12. Go to WooCommerce > Orders.
  13. Find the order you just created (see order number from step 11) and make sure the status is set to On hold.
  14. Wait 3 minutes.
  15. Reload the WooCommerce > Orders page.
  16. Find the order you just created (see order number from step 11) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)

Checkout with OXXO

Note: Webhooks must be set up for this flow.

Note: You'll need to set Mexico as your country in the Stripe account. If it's not possible you'll need to create a new account and set Mexico and use the account for this test.

  1. Go to WooCommerce > Settings > General.
  2. Select Mexican peso ($) in the Currency drop-down.
  3. Click Save changes.
  4. Go to WooCommerce > Settings > Payments > Stripe > Payment Methods tab > OXXO.
  5. Toggle the Enable/Disable checkbox to on.
  6. Click Save changes.
  7. Add a product to the cart (> $10.00) and proceed to checkout.
  8. Type in a valid Mexican address.
  9. Select OXXO and click Place order.
  10. A modal containing a voucher must show up. Close it.
  11. You'll be brought to the store's Order received page. Note the Order number.
  12. Go to WooCommerce > Orders.
  13. Find the order you just created (see order number from step 11) and make sure the status is set to On hold.
  14. Wait 3 minutes.
  15. Reload the WooCommerce > Orders page.
  16. Find the order you just created (see order number from step 11) and make sure the status is set to Processing.
    • Note: If the product you purchased is digital the order should be set to Completed.

This flow applies to:

Stripe's experience WC's block checkout WC's shortcode checkout
Legacy *
Updated (UPE)