Product
Fields
idID!businessBusiness!stripePublishableKeyString!Stripe publishable key for buying this product, in the owning business's Stripe mode. Lives on the product so the checkout sheet loads the correct (and only the correct) key — never a platform-level or wrong-mode key.
stripeConnectedAccountIdIDThe business's connected account for its active Stripe mode; the client initialises Stripe.js with this for direct charges. Null until onboarding completes.
nameStringdescriptionStringOptional Markdown description shown to customers on storefront listings and in the checkout sheet. Null when the merchant has not written one.
featuredImageImageThe lead image for this product — visually emphasized on customer-facing listings and as the first image in the checkout sheet's gallery. Resolves to the lowest-sortOrder entry in {@link Product.media}, or null when the product has no images attached.
priceInt!visibilityProductVisibility!saleProductSalePeriod!purchaseRulesProductPurchaseRules!effectivePriceInt!The effective price for the current user, after evaluating pricing rules. Falls back to price if no rules match or the user is not authenticated.
sortOrderInt!purchasePageBlocks[PurchasePageBlock!]!Ordered list of configurable blocks rendered on this product's purchase page (contract, signature, acknowledgement, recurring-summary, etc.). Empty for products that use the default purchase layout. config on each block is a JSON-encoded string.