Skip to content

Make payments extension support flags optional#8147

Open
Shuhala wants to merge 1 commit into
Shopify:mainfrom
Shuhala:optional-payments-support-flags
Open

Make payments extension support flags optional#8147
Shuhala wants to merge 1 commit into
Shopify:mainfrom
Shuhala:optional-payments-support-flags

Conversation

@Shuhala

@Shuhala Shuhala commented Jul 22, 2026

Copy link
Copy Markdown

What

Makes supports_installments, supports_deferred_payments, and supports_3ds optional (default false) in payments app extension TOML config schemas, so partners can omit them.

supports_3ds stays required for credit_card and custom_credit_card extensions.

Why

Companion to the core change in shop/world#940396 that relaxed the same properties on the server side. Without this CLI-side change, shopify app deploy rejects configs that omit these fields even though core now accepts them.

How

  • DeferredPaymentsSchema: supports_installments and supports_deferred_payments.default(false)
  • OffsitePaymentsAppExtensionSchema and CustomOnsitePaymentsAppExtensionSchema: override supports_3ds to .default(false) in their .extend() blocks
  • CreditCardPaymentsAppExtensionSchema and CustomCreditCardPaymentsAppExtensionSchema: unchanged — supports_3ds remains required via ConfirmationSchema
  • Updated base schema tests (required → defaults-to-false)
  • Added regression tests for offsite and custom_onsite schemas verifying all three flags can be omitted and default to false

Using .default(false) rather than .optional() keeps the parsed Zod types as boolean, so the TOML-to-deploy transform functions continue to send booleans.

@Shuhala
Shuhala force-pushed the optional-payments-support-flags branch from 145e63e to 12c4b02 Compare July 22, 2026 15:07
@Shuhala
Shuhala marked this pull request as ready for review July 22, 2026 15:08
@Shuhala
Shuhala requested a review from a team as a code owner July 22, 2026 15:08
@Shuhala
Shuhala force-pushed the optional-payments-support-flags branch from 12c4b02 to ed601ba Compare July 22, 2026 20:52
Makes supports_installments, supports_deferred_payments, and supports_3ds
optional (default false) in payments app extension config so partners can
omit them. supports_3ds stays required for credit_card and
custom_credit_card extensions.

Companion to the core change in Shopify/world (shop/world#940396).

Assisted-By: devx/662f85f5-a0c5-4b77-b4e3-a07404abaf08
@Shuhala
Shuhala force-pushed the optional-payments-support-flags branch from ed601ba to e878dcd Compare July 22, 2026 22:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant