Prepare Test mode
Before testing, confirm that Test mode contains:- A labelled secret key for your backend
- A publishable key for your browser application
- Every payment method you plan to offer, configured and enabled
- A public HTTPS webhook endpoint with its signing secret installed
- Logging that records Payment Intent and webhook event IDs without logging secrets
Core test scenarios
Use test payment details supplied by Ameriabank or Idram for their respective sandbox flows.
Checkout lifecycle tests
- Show a loading state until
onReadyfires. - Make sure the page remains usable when
onCheckoutErrorreports a retryable failure. - Destroy Checkout when the user leaves the payment step.
- Create a fresh instance for a fresh Payment Intent.
- Confirm only one Checkout is mounted at a time.
- In an SSR application, confirm no
Checkoutinstance is constructed during server rendering. - Test narrow and wide browser layouts and keyboard navigation around the hosted form.
Webhook tests
- Send a Test mode event from Dashboard.
- Confirm the receiver verifies
Lynq-Signatureagainst the raw body. - Confirm the event ID is stored with a unique constraint.
- Replay the same request and confirm it returns
2xxwithout repeating fulfilment. - Send an invalid signature and confirm it is rejected.
- Temporarily return
500and confirm the delivery moves to retrying. - Restore the receiver and confirm a later delivery succeeds.
Reconciliation check
For each successful test, match all three records:- Your order by
orderId - The Dashboard payment by Payment Intent ID
- The webhook delivery by event ID
Testing is complete when every enabled payment method can update the correct order exactly once through a verified webhook, including after browser interruption and webhook retry.