v10.6.0 - woocommerce/woocommerce-gateway-stripe GitHub Wiki
For this release, the v9.8.0 testing instructions remain valid as a base. The sections below cover the new features introduced in 10.6.0 that require specific testing steps.
Checkout Sessions / Adaptive Pricing
Adaptive Pricing lets customers pay in their local currency. Stripe detects the customer's currency via IP address and automatically converts prices using live exchange rates, including showing a localized currency selector at checkout.
Prerequisites
Adaptive Pricing requires all three of these conditions to be met before the setting becomes available in the UI:
- Payment Method Configuration (PMC) must be enabled — this is handled automatically when you connect your Stripe account.
- Optimized Checkout Suite must be enabled (see below).
- Automatic capture must be enabled (i.e., "Issue an authorization on checkout, and capture later" must be unchecked in the Stripe settings).
- The Checkout Sessions feature flag must be enabled. Since this is still a gated feature, you need to enable it manually:
wp option update _wcstripe_feature_stripe_checkout_sessions yes
Or via the WordPress admin: WooCommerce > Status > Tools, or directly in the wp_options table.
Enable Optimized Checkout Suite
- Go to WooCommerce > Settings > Payments > Stripe > Settings (
/wp-admin/admin.php?page=wc-settings&tab=checkout§ion=stripe&panel=settings). - Scroll down to Advanced settings.
- Check "Enable Optimized Checkout Suite (recommended)" and save.
Enable Adaptive Pricing
Once both the feature flag and Optimized Checkout Suite are enabled, the Adaptive Pricing option appears:
- In the same Advanced settings section, check "Let customers pay in their local currency with Adaptive Pricing".
- Save settings.
- Verify that the plugin reconfigures webhooks to include Checkout Session events — you can confirm this in WooCommerce > Settings > Payments > Stripe > Webhooks or by checking the Stripe Dashboard under Developers > Webhooks.
Testing on Blocks checkout
- Add a product to the cart and go to the Blocks-based checkout page.
- Confirm a currency selector appears near the payment section, showing the detected local currency.
- Change the currency using the selector and verify prices update accordingly.
- Complete the purchase using a test card (e.g.,
4242 4242 4242 4242). - After the order is placed, verify the order received page shows the converted currency and exchange rate information.
- Check the order confirmation email — it should include the converted currency and the original store currency side-by-side.
Testing on Classic (shortcode) checkout
New in 10.6.0: Adaptive Pricing now also works on the classic shortcode checkout page, in addition to the Blocks checkout.
- Make sure your site's checkout page uses the classic
[woocommerce_checkout]shortcode (not the Blocks editor). - Add a product to the cart and go to the checkout page.
- Confirm the currency selector appears in the payment section.
- Complete a purchase and verify the order received page and email both include the adaptive pricing currency info.
Testing webhook failure handling
New in 10.6.0: Checkout Session failure events (expired sessions and async payment failures) are now handled.
- To simulate an expired session, create a checkout session and do not complete payment. After the session expires (or you can manually expire it via the Stripe Dashboard test tools), verify the order status is updated appropriately in WooCommerce.
- Check WooCommerce > Status > Logs (filter by
stripe) to confirm the webhook event was received and processed.
Testing the order received page and My Account
- Place an order using Adaptive Pricing.
- On the order received page, verify the pay and cancel action buttons are hidden for orders in a pending state processed via Checkout Session.
- In My Account > Orders, confirm the same buttons are hidden for these orders.
Agentic Commerce
Agentic Commerce generates a product catalog feed in CSV format and automatically delivers it to Stripe's Files API. Stripe uses this feed to let AI shopping agents browse and purchase from your store. The feed syncs automatically every 15 minutes via Action Scheduler.
Note: This feature is behind a feature flag and is not yet visible in the WooCommerce settings UI. It requires explicit opt-in and a compatible version of WooCommerce (the
IntegrationInterfacemust be available).
Enable the feature flag
Run the following WP-CLI command:
wp option update _wcstripe_feature_agentic_commerce yes
After enabling, reload the site so the integration registers itself with WooCommerce's product feed system.
Verify the scheduled sync
- Go to WooCommerce > Status > Scheduled Actions (Action Scheduler).
- Search for
wc_stripe_agentic_commerce_sync_feed. - Confirm a recurring action is scheduled (it runs every 15 minutes under the
wc-stripegroup).
Trigger a manual sync via WP-CLI
You can generate and deliver the feed on demand using the bundled WP-CLI command:
# Generate the feed only (no upload to Stripe)
wp stripe agentic-commerce sync
# Generate and push to Stripe Files API
wp stripe agentic-commerce sync --push
The output will show the number of products included, the file path, file size, and generation time. When pushing, it also outputs a File ID and an ImportSet ID.
Check the import status
After pushing to Stripe, verify the import was processed:
wp stripe agentic-commerce status <import_set_id>
The status field will show complete, pending, or failed. On success, you should see counts for rows processed, objects created, and successes.
If there are errors, inspect them:
wp stripe agentic-commerce errors <import_set_id>
Verify in Stripe Dashboard
- Log in to your Stripe Dashboard (test mode).
- Go to Developers > Files (or the Agentic Commerce section if available in your account).
- Confirm the uploaded file appears with the expected creation timestamp.
Verify logging
Check WooCommerce > Status > Logs (filter by stripe) to confirm:
- Feed generation was logged with product count, file size, and generation time.
- Delivery to Stripe was logged with File ID and ImportSet ID.
- No errors appear in the log for this sync run.
Disable the feature
To disable Agentic Commerce and cancel the scheduled sync:
wp option update _wcstripe_feature_agentic_commerce no
After disabling, verify the scheduled action wc_stripe_agentic_commerce_sync_feed is no longer present in Action Scheduler.