---
title: UAT Scenarios
slug: extensions/uat-scenarios
docTags: 
createdAt: 2026-09-22T18:20:22.602Z
---

Run these before go-live to confirm the integration behaves correctly across timings, failure modes, and PSP-specific edge cases:

| Scenario                    | Timing     | Setup                                                                                                       | Expected result                                                                       |
| --------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| Standard order              | Any        | Log in as `approve@forter.com`, place a test order                                                          | `order.custom.forterDecision` is `APPROVED`; order status `NEW`                       |
| Decline & block             | Any        | Log in as `decline@forter.com`, `forterCancelOrderOnDecline` enabled, place a test order                    | Checkout blocked; order status `FAILED`; authorization voided                         |
| Pre-auth block              | `PRE_AUTH` | Log in as `decline@forter.com`, place a test order                                                          | Checkout blocked before payment authorization; no order created                       |
| Service failure (fail-open) | Any        | Invalid API key, place a test order                                                                         | Order completes; `custom-forter-*.log` shows retries then a fail-open message         |
| Status sync                 | Any        | Change the status of an order that already has a `forterDecision`, wait 5 minutes (or run the job manually) | Forter Portal shows the updated status for that order                                 |
| 3DS re-fire (PSP-dependent) | Any        | PSP triggers a 3DS challenge, place a test order                                                            | `order.custom.forterPspAuthResult` reflects the final charge data after the challenge |
