errors/zs_exception library

Typedefs

ZSException = ZeroSettleException
Backward-compatible typedef. Use ZeroSettleException instead.

Exceptions / Errors

ZeroSettleException
Base exception type for the ZeroSettle SDK.
ZSApiException
An API or network error occurred.
ZSApplePaySetupRequiredException
The merchant is Apple-Pay-only and the device supports Apple Pay but the Wallet has no supported cards. The customer was NOT charged. Call ZeroSettle.presentApplePaySetup to launch the system Wallet setup flow, then retry the purchase.
ZSApplePayUnavailableException
The merchant is Apple-Pay-only and the device cannot do Apple Pay at all (older hardware, simulator, MDM/parental restriction). The customer was NOT charged. The hosting app should show its own UX or skip the purchase path.
ZSCancelledException
The user cancelled the checkout flow.
ZSCheckoutConfigExpiredException
The deferred-mode checkout config expired (the server-side PENDING transaction's checkout_config_expires_at has passed). Re-initiate checkout to obtain a fresh session rather than retrying finalize.
ZSCheckoutFailedException
The checkout flow failed.
ZSCheckoutNotStartedException
Checkout could not start (e.g. backend failed to create the payment intent). Distinct from terminal errors that occur after checkout is in flight.
ZSInvalidPublishableKeyException
The publishable key format is invalid. Check your ZeroSettle dashboard.
ZSNotConfiguredException
The SDK has not been configured. Call ZeroSettle.configure first.
ZSProductNotFoundException
No product found with the given identifier.
ZSPurchasePendingException
The purchase is pending approval (e.g., StoreKit Ask to Buy). The user has not been charged; the SDK will surface a follow-up event when the purchase resolves.
ZSTransactionVerificationFailedException
Transaction verification failed after checkout (e.g., signature or JWS validation rejected by the backend or by Apple).
ZSUserIdRequiredException
A userId is required for this product type.
ZSUserNotIdentifiedException
A user-scoped method was called before ZeroSettle.identify. Call ZeroSettle.identify with Identity.user (or Identity.anonymous) at app launch (after ZeroSettle.configure) before invoking user-scoped APIs like ZeroSettle.restoreEntitlements.
ZSWebCheckoutDisabledException
Web checkout is disabled for the user's jurisdiction.