Skip to main content
All options are passed in the config object of PaySightSDK.createWidget.
amount uses decimal major units (29.99). productId is a number. When shopify is set, pass amount: 0 — totals are computed from cart lines.

Required fields

number
required
Paysight product ID from your dashboard. Use the same ID for the initial payment and every upsell in the customer journey; it is not a per-offer catalog ID.
string
required
Unique identifier per checkout attempt (you generate this), up to 50 characters. The Widget forwards it to Card Submit as partnerSession.
number
required
Charge amount in decimal major units; this field is required. For normal card payments, amount: 0 uses the immediate charge configured on the subscription attached to the Paysight product, when set. An amount greater than zero overrides that immediate charge and sets the initial payment amount. Zero must not be used to request a free payment. Each upsell can set its own amount. Ignored when shopify is set (use 0 for cart-computed totals).See Initial and upsell pricing.
'sandbox' | 'production'
required
sandbox for testing, production for live payments.

Customer and fields

CustomerMetadata
Optional prefill — values merged into the form and payment request. Does not replace visible fields.
FieldConfig[]
Form layout — inputs rendered in the iframe. Product requirements determine the minimum set.
CardType[]
Card brands to hide. Values: visa, mastercard, american-express, discover, diners, jcb, maestro, unionpay.

3D Secure

boolean
Require 3DS when supported.
boolean
Cancel payment when 3DS fails.
boolean
Treat 3DS challenge as failure.
Per-upsell overrides: upsell.threeDSRequired, upsell.cancelOnThreeDSFailure, upsell.failOnThreeDSChallenge.

Saved payment & upsell

boolean
On checkout, ask the API to store the payment method for a later charge. Works on card, Apple Pay, and Google Pay.
boolean
Charge using the stored method. Requires upsell.initialPaymentSession (the paysightSession from page 1).
UpsellConfig
Configuration for each upsell in the chain. Active when both upsellId and initialPaymentSession are set. Reuse the initial checkout’s top-level productId and original successful paysightSession for every upsell.upsellId can be any nonempty string (upsell-1, upsell-product-name). Use a different ID for each offer in the journey and retain it for retries of that offer. It participates in duplicate detection and widget events; transaction APIs currently do not return it.

External pay button

boolean
Hide in-iframe Pay and Upsell buttons. Call submitPayment() or submitUpsell() from the host page.
boolean
When true, charge as one-time purchase without subscription. Update at runtime via widget.update({ singlePurchase: true }).For Shopify cart checkout, singlePurchase: false alone does not request a subscription. Use shopify.optIn: true and omit singlePurchase or set it to false.

Shopify cart

ShopifyConfig
Shopify-style cart checkout. Totals computed from line items.
boolean
default:"false"
On the initial Shopify cart checkout, true requests the subscription configured on the top-level Paysight productId alongside the Shopify order. false or omission processes the order without subscription opt-in. The boolean is forwarded to the API as shopify.optIn.Set it from the customer’s subscription choice before submitting payment. When true, omit the separate top-level singlePurchase flag or set it to false. savePaymentMethod does not request subscription opt-in.See Shopify subscription opt-in for the behavior table and checkout example.

Wallets

boolean
Hide card form when a configured wallet is available; falls back to full UI on error, timeout, or misconfiguration.
boolean
Enable Apple Pay (button renders on host page via applePayContainerId).
object
applePayMerchantId (required), optional style (buttonStyle, buttonType, borderRadius, size).
boolean
Enable Google Pay (host-page container via googlePayContainerId).
object
googlePayMerchantId (required), optional style (buttonStyle, buttonType, borderRadius, size, locale).

Presentation

WidgetTheme
font (Google Fonts URL) and css (class overrides on supported .ps-* classes). See Styling guide.
SupportedLocale
UI locale. Default en-US. See SDK for full list (19 locales).
SupportedCurrency
Display currency. Default USD.
string
In-iframe pay button label.
{ title?: string; description?: string }
Custom success screen copy.
boolean
default:"false"
Mark the payment as ecommerce. When true, sent to the API on card, wallet, and upsell payment paths.

Tracking & attribution

Record<string, string>
String key-value data sent with payment requests. Use campaignName and affiliateName for free-form campaign and affiliate values; campaignId and affiliateId are deprecated internal Paysight identifiers. UTM values, click IDs, landing URLs, and other keys are forwarded as custom metadata. See Tracking & attribution.

Advanced

string
Override default MID routing (account-specific).