Widget does not load
Checklist:- Script URL:
https://payment.paysight.io/widget-sdk.js targetIdelement exists in the DOM beforecreateWidget- Page is HTTPS in production
- Required config:
productId(number),sessionId,amount,environment
Wrong charge amount
amount is in decimal major units (29.99 = $29.99), not cents.
When
shopify is configured, amount is ignored — totals come from cart lines.
productId validation errors
productId must be a number, not a string:
environment values
Valid values: 'sandbox' and 'production'.
Use sandbox for testing, production for live payments.
Payment never starts with external button
WhenhidePaymentButton: true, you must call submitPayment() or submitUpsell() from the host page after READY.
submitPayment() during upsell mode returns ERROR with INVALID_MODE — use submitUpsell().
Upsell: “Initial session missing”
Page 2 must include:paysightSession from PAYMENT_SUCCESS.payload on page 1 — not your own sessionId.
DUPLICATE_TRANSACTION
The upsell was already charged for this initialPaymentSession. Redirect to your thank-you page instead of retrying.
3DS failures
Listen forPAYMENT_3DS_ERROR and PAYMENT_3DS_FAILURE. Ensure threeDSRequired and related flags are set on both checkout and upsell configs when needed.
Upsell can override with upsell.threeDSRequired, upsell.cancelOnThreeDSFailure, upsell.failOnThreeDSChallenge.
Wallet-only layout shows card form
showOnlyWalletMethods falls back to the full card UI when:
- No wallet is configured or available on the device
- Readiness times out (~5s)
- A wallet payment fails (not user cancel)
applePayEnabled + applePayOptions or googlePayEnabled + googlePayOptions are fully set.
Apple Pay / Google Pay button missing
Wallet buttons render on the host page, not inside the iframe. PassapplePayContainerId / googlePayContainerId and ensure those DOM elements exist.
Iframe height issues
The SDK auto-resizes fromHEIGHT_CHANGE events. If the iframe is clipped, ensure the container does not have a fixed height smaller than the content.
Getting help
Log allonMessage events during reproduction:
sessionId, productId, environment, and event sequence when contacting Paysight support.