v10.9.0 ‐ Release testing instructions - woocommerce/woocommerce-gateway-stripe GitHub Wiki

The critical flows remain the base for this release. The sections below cover the changes in 10.9.0 that need specific testing steps. 10.9.1 is a bugfix release; its fixes are listed at the end.


Link settings page

Link now has its own customization page, separate from Apple Pay / Google Pay.

  1. Go to Stripe settings > Payment Methods tab > Express checkouts and enable Link.
  2. Click Customize next to Link. The page is at siteurl/wp-admin/admin.php?page=wc-settings&tab=checkout&section=stripe&panel=methods&area=link.
  3. Change the button size and the locations (checkout, product page, cart), then save.
  4. Visit the product, cart, and checkout pages. The Link button should follow the size and locations you chose, and the Apple Pay / Google Pay buttons should keep their own settings.

Express Checkout now uses the Store API

Shipping and add-to-cart requests from the Apple Pay / Google Pay sheet no longer go through plugin AJAX endpoints.

  1. On a variable product page, select a variation and pay with Google Pay or Apple Pay. The sheet should show the selected variation's line items, and the order should contain that variation.
  2. On a shippable product, open the sheet and switch between shipping options. Totals should update and the chosen rate should appear on the order.
  3. If WooCommerce Bookings is installed, book a bookable product through the express button and confirm the booking is created.
  4. On a product with a decimal quantity (if enabled), confirm the quantity is preserved on the order.

Custom checkout fields in Express Checkout

Classic checkout custom fields are now processed by default when paying with Express Checkout on the shortcode checkout.

  1. Add a required custom field to the classic checkout (for example with the Checkout Field Editor plugin or a small snippet using woocommerce_checkout_fields).
  2. Try to pay with Google Pay / Apple Pay on the checkout page without filling the field. Checkout should be blocked with a validation error.
  3. Fill the field and pay again. The value should be saved on the order.

Adaptive Pricing: "Paid by customer" row

  1. Enable Adaptive Pricing (see the v10.6.0 instructions).
  2. Complete a purchase as a shopper whose currency differs from the store currency (use a VPN or the simulated-shopper approach from the E2E tests).
  3. Open the order in wp-admin. The totals box should show a Paid by customer row with the converted amount and currency.
  4. Enable manual capture in the Stripe settings. The Adaptive Pricing setting should be disabled with a message explaining that manual capture is blocking it.

Agentic Commerce

Settings tab and redirect checkout mode

  1. Go to Stripe settings > Agentic Commerce tab (it moved from the Settings tab to its own tab).
  2. Enable Agentic Commerce and save the webhook secret.
  3. Switch the checkout mode to the option that redirects shoppers to your store instead of completing the purchase in the AI agent, and save.
  4. Trigger a delegated checkout from the Stripe Agentic Commerce test tooling. The shopper should be sent to your store's checkout with the cart prefilled instead of the order being created in the agent.

Per-product exclude toggle

  1. Edit a product and open the Inventory tab.
  2. Enable the Agentic Commerce exclude toggle and save.
  3. Run Sync now from the Agentic Commerce tab. The product should be reported as excluded in the feed preview, and subscription products should be listed under their own excluded reason instead of a merchant filter.

Disabling the feature

  1. With products already synced, disable Agentic Commerce and save.
  2. The plugin should push a final catalog feed that removes the synced products from in-agent checkout, and the recurring sync should stop (check Tools > Scheduled Actions for the Stripe agentic sync action).

What's new note and Command Palette

  1. Update the plugin from an older version (or bump the stored version with wp option update wc_stripe_version 10.8.5) and load wp-admin. A What's new note should appear in the WooCommerce inbox.
  2. Press Cmd+K / Ctrl+K in wp-admin (the WordPress Command Palette) and type Stripe. The Stripe settings pages should be listed.

Stripe.js origin verification

Checkout now confirms Stripe.js was served from Stripe's origin before processing a payment. A regular checkout should work unchanged. If another plugin loads an older Stripe.js, Adaptive Pricing and Optimized Checkout should fall back to the standard payment form instead of failing.

Fixes worth a smoke pass

  • Pay for Order page: the billing address is now sent to Stripe; a card payment from My Account > Orders > Pay should succeed and the charge in the Stripe Dashboard should carry the billing address.
  • Asynchronous methods (iDEAL, Klarna, Bancontact): the admin New Order and customer Processing emails should be sent when the webhook confirms the payment.
  • Change a subscription's payment method to a card saved through Apple Pay / Google Pay: My Account should show the wallet branding on the new card.
  • Partial refunds: refund an order twice from wp-admin; each refund record should keep its own Stripe refund ID.
  • Cancelled orders: capture a payment in the Stripe Dashboard after the order was cancelled in WooCommerce; the shopper should be refunded automatically.

10.9.1

  • Express checkout works when automatic account password generation is disabled in WooCommerce > Settings > Accounts & Privacy.
  • is_cart() no longer returns true on the checkout page when express checkout buttons are enabled.
  • Logging in or out mid-checkout with Adaptive Pricing recreates the Checkout Session, and saving a payment method still works afterwards.
  • A failed express checkout order shows an error instead of leaving the wallet sheet open.
  • Classic checkout with custom required fields no longer processes an empty payment method, and the error explains that payment details were not submitted.