<- Back to Registry
Trace_Inspector / idempotent-retry

Settled retry returns idempotent success

IDEMPOTENT
HTTP 200
Seeded Trace Sequence
idempotent-retry
OWNERSHIP_CHECKSUCCESS
Paid invoice found for the tenant
The existing invoice status is already `PAID`.
IDEMPOTENCY_CHECKSUCCESS
Gateway returns prior result
The handler responds with `status: SUCCESS` and `idempotent: true`.
AUDITSUCCESS
Idempotent outcome recorded
The retry is logged as an idempotent event, not a new payment execution.
RESULT_PAYLOAD
{
  "status": "SUCCESS",
  "idempotent": true,
  "paymentHash": "0x8f12...",
  "invoiceId": "inv_paid_01",
  "policySnapshot": null
}
Technical Summary
Tenant Context
sandbox-merchant
Auth Scopes
payments:write
Demonstrates
- Idempotent retries are a first-class gateway behavior.
- The response reuses the original payment hash and invoice id.
- No second execution attempt is made once the invoice is already settled.
REQUEST_BODY
POST /api/v1/payments
{
  "invoice": "fibt1q_paid..."
}
RESPONSE_BODY
Status 200
{
  "status": "SUCCESS",
  "idempotent": true,
  "paymentHash": "0x8f12...",
  "invoiceId": "inv_paid_01",
  "policySnapshot": null
}
Submission Boundary Note

Seeded scenario based on the paid-invoice branch in `POST /api/v1/payments`.