Skip to main content
Checkout has two error paths:
  • Synchronous integration errors are thrown while constructing or mounting Checkout.
  • Hosted Checkout initialization and loading errors are sent to onCheckoutError as LynqError.
Payment declines are not Checkout errors. They arrive through onPaymentResult with status: "requires_payment_method".

Thrown errors

ConfigError

Thrown when publicKey or clientSecret is missing, environment is invalid, or Checkout is constructed outside a browser. Check that client-only code creates the instance after hydration and that configuration is available at that time.

MountError

Thrown when:
  • The selector does not resolve to an element
  • This instance is already mounted
  • This instance was destroyed
  • Another Lynq Checkout is already mounted on the page
Fix the integration state before retrying; repeatedly calling mount() will not resolve these errors.

LynqErrorCode

Use the runtime error.retryable value rather than maintaining your own retry table in application code.

Customer-facing handling

The message is display-safe. Log the code, SDK VERSION, Payment Intent ID, environment, and occurrence time for diagnostics. Do not log keys or client secrets.

Troubleshooting by symptom

Handle onCheckoutError, confirm the container remains mounted, and check whether Content Security Policy or network controls block https://checkout.lynq.am. Use debug: true temporarily in a safe environment when diagnosing SDK initialization.
Create a fresh Payment Intent and confirm its environment matches the publishable key. Do not retrieve an old Payment Intent expecting to recover its client secret.
Check Dashboard → Payment methods in the Payment Intent’s environment. At least one configured method must be enabled.
In component frameworks, ensure cleanup calls destroy() and development double-render behaviour does not leave the previous instance mounted.
This is expected until your server verifies the webhook. Inspect the delivery in Dashboard rather than fulfilling from the browser result.
If you cannot resolve the issue, contact support@lynq.am with redacted diagnostics.
Last modified on August 8, 2026