<- Back to Registry
Trace_Inspector / duplicate-blocked

Duplicate in-flight execution is blocked

BLOCKED
HTTP 409
Seeded Trace Sequence
duplicate-blocked
OWNERSHIP_CHECKSUCCESS
Owned invoice found
The invoice belongs to the same tenant as the current API key.
CONCURRENCY_CHECKWARN
Invoice already processing
The gateway refuses a second execution attempt while the first one is still active.
AUDITSUCCESS
Conflict recorded
The blocked state is recorded with the current invoice and payment hash.
RESULT_PAYLOAD
{
  "error": "Invoice is already being processed",
  "status": "PROCESSING",
  "invoiceStatus": "PROCESSING",
  "paymentHash": "0x8f12...",
  "invoiceId": "inv_processing_01"
}
Technical Summary
Tenant Context
sandbox-merchant
Auth Scopes
payments:write
Demonstrates
- The gateway blocks concurrent duplicate execution.
- The caller gets the current invoice state back with a proper conflict response.
- The audit trail records the blocked retry instead of hiding it.
REQUEST_BODY
POST /api/v1/payments
{
  "invoice": "fibt1q_processing..."
}
RESPONSE_BODY
Status 409
{
  "error": "Invoice is already being processed",
  "status": "PROCESSING",
  "invoiceStatus": "PROCESSING",
  "paymentHash": "0x8f12...",
  "invoiceId": "inv_processing_01"
}
Submission Boundary Note

Seeded scenario based on the `PROCESSING` and concurrency-check branches in `POST /api/v1/payments`.