Skip to content

feat: add Amazon Pay subscriptions support#11283

Merged
frosso merged 38 commits intodevelopfrom
feat/amazon-pay-subscriptions-support
Feb 10, 2026
Merged

feat: add Amazon Pay subscriptions support#11283
frosso merged 38 commits intodevelopfrom
feat/amazon-pay-subscriptions-support

Conversation

@frosso
Copy link
Contributor

@frosso frosso commented Jan 23, 2026

Fixes WOOPMNT-5663

Changes proposed in this Pull Request

Dependent on #11267 & #11278

Adding support to subscriptions for Amazon Pay, similar to Google Pay/Apple Pay.

Some high-level explanation for the changes: for the flow with Confirmation Tokens, things have changed a bit. We need to create an unconfirmed SetupIntent. Stripe's SetupIntent API doesn't support Confirmation Tokens the same way PaymentIntents do, it needs to be "unconfirmed" because the SI is created without a payment method.
Instead, we create the SetupIntent without a payment method, and the front-end calls confirmSetup() with the Confirmation Token. Stripe then converts the Confirmation Token into a Payment Method and attaches it to the SetupIntent.
Compared to the payment method flow, we were able to create and confirm the SetupIntent with the payment method attached in one backend call.
The flow is different because of how confirmation tokens work - Stripe requires front-end confirmation, because the confirmation token is short-lived and is attached to the customer's session (Stripe verifies ownership).

I needed to change the includes/compat/subscriptions/trait-wc-payment-gateway-wcpay-subscriptions.php trait to have the ajax_get_user_payment_tokens support both card and non-card tokens, like the Amazon Pay ones.
For this reason, changes have been made to the JS as well.

I needed to add a separate token type for this, I couldn't reuse the CC token, since Amazon Pay is a separate payment method type.

All "Amazon Pay" saved payment methods appear in Stripe as just "Amazon Pay".
There is no way to identify the type of payment (card, store card, etc.).
So I added the billing email, at least 🤷
Screenshot 2026-01-28 at 4 49 40 PM

Testing instructions

Prerequisites

  • Ensure your local server has updated fees (use the server's command to pull & use the latest ones via npm run update-fees-fixtures && npm run up )
  • Ensure your store's Stripe account is based in the US
  • Update your WooPayments version header locally (here) to 10.6.0, so that the server will return fees
  • Ensure Amazon Pay is enabled on your WooPayments client repo/client site ( wp option update _wcpay_feature_amazon_pay 1 )
  • Ensure you have Amazon Pay enabled in Payments > Settings
  • Ensure you have at least a subscription product on your store

Customer-facing testing

  • As a customer, navigate to the subscription product's product details page
  • Click on the Amazon Pay button
  • Place the order
Screenshot 2026-01-23 at 3 45 24 PM
  • As a customer, navigate to My account > Payments
  • You should see the Amazon Pay token

Merchant-facing testing

  • As a merchant, navigate to WooCommerce > Orders
  • Click on the latest order, it should result as paid with Amazon Pay
  • As a merchant, navigate to WooCommerce > Subscriptions
  • Click on the latest subscriptions, it should result as paid with Amazon Pay
  • Attempt to process the manual renewal
  • The subscription should remain "Active"
  • A renewal order should be created and paid

Subscriptions management

  • As a merchant, navigate to WooCommerce > Subscriptions
  • Click on the latest subscription
  • Click on the pencil icon next to the billing section
  • You should be able to modify the payment method used for the subscription
    2026-02-02 09 16 19

  • Run npm run changelog to add a changelog file, choose patch to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.
  • Covered with tests (or have a good reason not to test in description ☝️)
  • Tested on mobile (or does not apply)

Post merge

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Test the build

Option 1. Jetpack Beta

  • Install and activate Jetpack Beta.
  • Use this build by searching for PR number 11283 or branch name feat/amazon-pay-subscriptions-support in your-test.site/wp-admin/admin.php?page=jetpack-beta&plugin=woocommerce-payments

Option 2. Jurassic Ninja - available for logged-in A12s

🚀 Launch a JN site with this branch 🚀

ℹ️ Install this Tampermonkey script to get more options.


Build info:

  • Latest commit: abee433
  • Build time: 2026-02-10 18:44:02 UTC

Note: the build is updated when a new commit is pushed to this PR.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 23, 2026

Size Change: +381 B (0%)

Total Size: 955 kB

Filename Size Change
release/woocommerce-payments/dist/blocks-checkout.js 54.8 kB +44 B (0%)
release/woocommerce-payments/dist/cart-block.js 16.9 kB +56 B (0%)
release/woocommerce-payments/dist/checkout.js 34.1 kB +52 B (0%)
release/woocommerce-payments/dist/express-checkout.js 17.4 kB +40 B (0%)
release/woocommerce-payments/dist/product-details.js 12.5 kB +56 B (0%)
release/woocommerce-payments/dist/subscription-edit-page.js 1.9 kB +81 B (+4%)
release/woocommerce-payments/dist/woopay-express-button.js 22.9 kB +52 B (0%)
ℹ️ View Unchanged
Filename Size
release/woocommerce-payments/assets/css/admin.css 1.46 kB
release/woocommerce-payments/assets/css/admin.rtl.css 1.46 kB
release/woocommerce-payments/assets/css/success.css 1.06 kB
release/woocommerce-payments/assets/css/success.rtl.css 1.06 kB
release/woocommerce-payments/dist/blocks-checkout-rtl.css 2.89 kB
release/woocommerce-payments/dist/blocks-checkout.css 2.89 kB
release/woocommerce-payments/dist/cart-block-rtl.css 113 B
release/woocommerce-payments/dist/cart-block.css 112 B
release/woocommerce-payments/dist/cart.js 5.32 kB
release/woocommerce-payments/dist/checkout-rtl.css 1.01 kB
release/woocommerce-payments/dist/checkout.css 1.01 kB
release/woocommerce-payments/dist/chunks/express-checkout-previews.js 3.51 kB
release/woocommerce-payments/dist/express-checkout-rtl.css 367 B
release/woocommerce-payments/dist/express-checkout.css 367 B
release/woocommerce-payments/dist/frontend-tracks.js 883 B
release/woocommerce-payments/dist/index-rtl.css 21.7 kB
release/woocommerce-payments/dist/index.css 21.7 kB
release/woocommerce-payments/dist/index.js 158 kB
release/woocommerce-payments/dist/multi-currency-analytics.js 1.09 kB
release/woocommerce-payments/dist/multi-currency-rtl.css 3.82 kB
release/woocommerce-payments/dist/multi-currency-switcher-block.js 19.2 kB
release/woocommerce-payments/dist/multi-currency.css 3.83 kB
release/woocommerce-payments/dist/multi-currency.js 25.5 kB
release/woocommerce-payments/dist/order-rtl.css 740 B
release/woocommerce-payments/dist/order.css 740 B
release/woocommerce-payments/dist/order.js 22.3 kB
release/woocommerce-payments/dist/plugins-page-rtl.css 484 B
release/woocommerce-payments/dist/plugins-page.css 484 B
release/woocommerce-payments/dist/plugins-page.js 2.65 kB
release/woocommerce-payments/dist/product-details-rtl.css 433 B
release/woocommerce-payments/dist/product-details.css 436 B
release/woocommerce-payments/dist/settings-rtl.css 12.4 kB
release/woocommerce-payments/dist/settings.css 12.3 kB
release/woocommerce-payments/dist/settings.js 153 kB
release/woocommerce-payments/dist/subscription-product-onboarding-modal-rtl.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.css 527 B
release/woocommerce-payments/dist/subscription-product-onboarding-modal.js 1.98 kB
release/woocommerce-payments/dist/subscription-product-onboarding-toast.js 730 B
release/woocommerce-payments/dist/subscriptions-empty-state-rtl.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.css 120 B
release/woocommerce-payments/dist/subscriptions-empty-state.js 1.9 kB
release/woocommerce-payments/dist/success.js 6.03 kB
release/woocommerce-payments/dist/tos-rtl.css 235 B
release/woocommerce-payments/dist/tos.css 235 B
release/woocommerce-payments/dist/tos.js 3 kB
release/woocommerce-payments/dist/wc-payments-review-prompt-rtl.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-review-prompt.js 14.9 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight-rtl.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.css 1.66 kB
release/woocommerce-payments/dist/wc-payments-settings-spotlight.js 28.2 kB
release/woocommerce-payments/dist/woopay-direct-checkout.js 5.69 kB
release/woocommerce-payments/dist/woopay-rtl.css 4.27 kB
release/woocommerce-payments/dist/woopay.css 4.25 kB
release/woocommerce-payments/dist/woopay.js 70.9 kB
release/woocommerce-payments/includes/subscriptions/assets/css/plugin-page.css 625 B
release/woocommerce-payments/includes/subscriptions/assets/js/plugin-page.js 814 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/i18n-loader.js 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/build/jetpack-script-data.js 880 B
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/i18n-loader.js 1.02 kB
release/woocommerce-payments/vendor/automattic/jetpack-assets/src/js/script-data.js 69 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/babel.config.js 163 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.js 14.3 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/identity-crisis.rtl.css 2.46 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.js 31.5 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-connection.rtl.css 10.1 kB
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.js 280 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-admin-create-user.rtl.css 198 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.css 625 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.js 331 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-login.rtl.css 626 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-sso-users.js 415 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/jetpack-users-connection.js 159 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-ajax.js 520 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/dist/tracks-callables.js 585 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.css 218 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-admin-create-user.js 521 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.css 719 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-login.js 412 B
release/woocommerce-payments/vendor/automattic/jetpack-connection/src/sso/jetpack-sso-users.js 625 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/about.css 1.04 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-empty-state.css 294 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin-order-statuses.css 408 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/admin.css 3.59 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/checkout.css 301 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/modal.css 746 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/view-subscription.css 574 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/css/wcs-upgrade.css 414 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin-pointers.js 543 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/admin.js 9.4 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.js 6.78 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/jstz.min.js 3.84 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-coupon.js 545 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/meta-boxes-subscription.js 2.52 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.js 22.2 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/moment.min.js 11.7 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/payment-method-restrictions.js 1.29 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/admin/wcs-meta-boxes-order.js 507 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/payment-methods.js 358 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/single-product.js 428 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/view-subscription.js 1.38 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/frontend/wcs-cart.js 782 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/modal.js 1.09 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/assets/js/wcs-upgrade.js 1.26 kB
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.css 391 B
release/woocommerce-payments/vendor/woocommerce/subscriptions-core/build/index.js 3.04 kB

compressed-size-action

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds end-to-end support for using Amazon Pay as a reusable payment method for subscriptions, including creation via Express Checkout, storage as a token, and use in renewals and admin flows.

Changes:

  • Introduces an Amazon Pay reusable token type and wires it into the token service, payment method constants, and My Account display so Amazon Pay sources can be stored and reused for subscription renewals.
  • Extends the subscriptions trait and subscription edit UI to handle multiple reusable WCPay gateways (card and Amazon Pay), including gateway-specific hooks, token selection per gateway, and Express Checkout–created subscriptions.
  • Updates Express Checkout and checkout flows to support confirmation-token-based SetupIntents (especially for $0 subscription orders), including client-side confirmation, backend intent creation, and robust handling of zero-amount subscription trials.

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
woocommerce-payments.php Bumps plugin version to 10.6.0 so server-side features (fees, Amazon Pay) are enabled for this build.
includes/class-wc-payments.php Registers the new Amazon Pay token class and ensures the token service is available for the new payment method.
includes/constants/class-payment-method.php Adds the AMAZON_PAY payment method constant used throughout the gateway, token, and ECE logic.
includes/class-wc-payments-token-service.php Treats Amazon Pay as a reusable method: maps it to its split gateway, creates WC_Payment_Token_WCPay_Amazon_Pay instances, includes it in retrievable types, and customizes My Account display.
includes/class-wc-payments-order-service.php Extends intent status handling to cover REQUIRES_CONFIRMATION and improves zero-amount SetupIntent flows by marking payments started and completing free-trial subscription orders correctly.
includes/class-wc-payment-token-wcpay-amazon-pay.php Implements a dedicated Amazon Pay token type with redacted email storage and an Amazon-Pay-specific display name for saved methods.
includes/core/server/request/class-create-setup-intention.php Adds metadata support (including description from order number) for unconfirmed SetupIntent creation used with confirmation tokens.
includes/compat/subscriptions/trait-wc-payment-gateway-wcpay-subscriptions.php Generalizes subscription hooks to all reusable WCPay gateways, adds Amazon Pay to the reusable list, routes Express Checkout Amazon Pay subscriptions to the split gateway, supports gateway-specific token lists, and updates admin/payment meta rendering and validation accordingly.
includes/class-wc-payment-gateway-wcpay.php Changes zero-amount subscription processing to use unconfirmed SetupIntents with confirmation tokens, stores the actual payment method on the order, refines frontend-confirmation redirects (including confirmation token), and updates change-payment-method flows to handle REQUIRES_CONFIRMATION.
includes/express-checkout/class-wc-payments-express-checkout-button-helper.php Centralizes detection of subscription products/carts in a helper method reusable by both the handler and JS config.
includes/express-checkout/class-wc-payments-express-checkout-button-handler.php Delegates subscription detection to the helper, ensures subscription presence is reflected in JS params, and reuses that for auth and shipping decisions.
includes/class-payment-information.php Makes confirmation-token detection more robust by guarding against empty payment method values.
client/subscription-edit-page/types.d.ts Extends the subscription payment-method selector types to include a gatewayId so tokens can be filtered per gateway.
client/subscription-edit-page/index.tsx Adds gateway-aware token caching and fetching, ensures the selector works per gateway (card vs Amazon Pay), and threads gatewayId through to the React component and bootstrap data.
client/subscription-edit-page/tests/index.test.tsx Updates tests for the new gatewayId prop and multi-gateway token cache and adds coverage for the updated fetch helper signature.
client/express-checkout/utils/index.ts Replaces ad-hoc setupFutureUsage logic with a reusable getStripeElementsMode helper that switches Elements between payment and subscription modes based on the current context.
client/express-checkout/utils/checkPaymentMethodIsAvailable.tsx Uses getStripeElementsMode when probing availability so subscription contexts initialize Elements in subscription mode while still respecting confirmation-token options.
client/express-checkout/utils/tests/index.test.js Adjusts unit tests to validate getStripeElementsMode behavior instead of the removed getSetupFutureUsage.
client/express-checkout/index.js Updates the main Express Checkout JS to use getStripeElementsMode and simplifies confirmation-token Elements options to rely on paymentMethodTypes only.
client/express-checkout/blocks/components/express-checkout-container.js Mirrors the Elements mode and options changes for block-based Express Checkout rendering.
client/express-checkout/tests/tokenized-express-checkout--product-page.test.js Verifies that subscription contexts now use subscription mode (instead of payment + setupFutureUsage) when initializing the Tokenized Express Checkout Element.
client/checkout/api/index.js Extends the intent-confirmation hash format to carry an optional confirmation token and, for SetupIntents, uses stripe.confirmSetup with that token before falling back to handleNextAction.
tests/unit/test-class-wc-payments-token-service.php Adds coverage for creating Amazon Pay tokens with or without email and confirms redaction and gateway ID behavior.
tests/unit/test-class-wc-payment-gateway-wcpay-subscriptions-trait.php Confirms that Amazon Pay subscription hooks are registered for scheduled payments and failing-payment updates on the split gateway.
tests/unit/test-class-wc-payment-gateway-wcpay-subscriptions-process-payment.php Updates zero-dollar subscription + confirmation-token tests to assert use of Create_Setup_Intention, omission of token creation at that stage, and the new redirect hash format and order status semantics.
tests/unit/subscriptions/test-class-wc-payment-gateway-wcpay-subscriptions-non-reusable-methods.php Adds tests ensuring Express Checkout Amazon Pay subscriptions are assigned to the Amazon Pay split gateway and remain automatic, while Google Pay subscriptions remain on the base gateway.
tests/unit/express-checkout/test-class-wc-payments-express-checkout-button-helper.php Exercises the new has_subscription_product helper method across product/cart/checkout contexts.
tests/unit/express-checkout/test-class-wc-payments-express-checkout-button-handler.php Updates handler tests to rely on the helper’s has_subscription_product method when deciding whether shipping is required.
changelog/feat-amazon-pay-subscriptions-support Documents the feature addition for Amazon Pay subscriptions as a patch-level changelog entry.
Comments suppressed due to low confidence (1)

client/subscription-edit-page/tests/index.test.tsx:515

  • The fetchUserTokens test that verifies "sends correct request parameters" currently asserts action, nonce, and user_id, but does not check the new gateway_id parameter that is now required by the AJAX handler. Adding an assertion for formData.get( 'gateway_id' ) here would ensure the test fully covers the request shape expected by ajax_get_user_payment_tokens.
	test( 'sends correct request parameters', async () => {
		let capturedUrl = '';
		let capturedOptions: RequestInit | undefined;

		global.fetch = jest.fn().mockImplementation( ( url, options ) => {
			capturedUrl = url;
			capturedOptions = options;
			return Promise.resolve( {
				ok: true,
				json: () => Promise.resolve( { data: { tokens: [] } } ),
			} );
		} );

		await fetchUserTokens(
			123,
			'http://test.com/ajax',
			'test-nonce',
			'woocommerce_payments'
		);

		expect( capturedUrl ).toBe( 'http://test.com/ajax' );
		expect( capturedOptions?.method ).toBe( 'POST' );

		const formData = capturedOptions?.body as FormData;
		expect( formData.get( 'action' ) ).toBe(
			'wcpay_get_user_payment_tokens'
		);
		expect( formData.get( 'nonce' ) ).toBe( 'test-nonce' );
		expect( formData.get( 'user_id' ) ).toBe( '123' );
	} );

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@RadoslavGeorgiev RadoslavGeorgiev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For posterity: My previous point was to lean into using the token type to associate tokens with specific payment methods instead of gateway IDs.

I spent a few hours on this last week, and even though it is more than possible, it does not yield the benefits that I expected. My expectation was that we'd need much fewer changes to the methods in the subscriptions trait, but 99% of them still had to remain in place. On the other hand, we'd need to add further logic in a few places that would make the code even more convoluted, rather than less.

The SEPA issues I mentioned are also not something that I can really describe, and looking at the code in its current shape, those are not a blocker.

I've marked my previous comments as resolved.


I dove deeper, and it looks good overall. I have a few comments, all of them being essentially nitpicks. However, great work here! This is a gargantuan effort, and we're almost there!

Here are my comments so far, just after looking at the changes. I'll continue with testing now. Update: Testing worked flawlessly.

Copy link
Contributor

@RadoslavGeorgiev RadoslavGeorgiev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks perfect, thank you for addressing my feedback! :shipit:

@rtio
Copy link
Member

rtio commented Feb 9, 2026

I'm going to try to review it tomorrow, but please don't hold this because of me.

Copy link
Member

@rtio rtio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On the Amazon Payment button, Is this symbol supposed to be upper left?

image

Copy link
Member

@rtio rtio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and works as described

@frosso
Copy link
Contributor Author

frosso commented Feb 10, 2026

On the Amazon Payment button, Is this symbol supposed to be upper left?

Yes, it's to indicate that the button is going to be connected to the Amazon Sandbox. Thanks for checking in!

@frosso frosso added this pull request to the merge queue Feb 10, 2026
Merged via the queue into develop with commit bf8c349 Feb 10, 2026
43 checks passed
@frosso frosso deleted the feat/amazon-pay-subscriptions-support branch February 10, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants