<- Back to Registry
Trace_Inspector / payment-settled

Allowed payment settles

SETTLED
HTTP 200
Seeded Trace Sequence
payment-settled
OWNERSHIP_CHECKSUCCESS
Invoice belongs to the authenticated tenant
The handler resolves the invoice by tenant ownership before any payment attempt.
POLICY_EVALUATIONSUCCESS
Policy approves the request
Allowlist, max-per-action, and rolling 24-hour spend checks all pass.
CONCURRENCY_CHECKSUCCESS
Invoice claimed for processing
The invoice is atomically transitioned into `PROCESSING` before execution.
CONFIRMATIONSUCCESS
Payment confirmed and audited
Fiber returns success, the invoice becomes `PAID`, and the confirmation is logged.
RESULT_PAYLOAD
{
  "status": "SUCCESS",
  "preimage": "0xa21f...",
  "error": null,
  "policySnapshot": {
    "id": "pol_active_01",
    "dailySpendLimit": "1000",
    "maxPerAction": "250",
    "approvedAddresses": ["fibt1q..."]
  },
  "paymentHash": "0x8f12...",
  "invoiceId": "inv_2f0d8f",
  "idempotent": false,
  "invoiceStatus": "PAID"
}
Technical Summary
Tenant Context
sandbox-merchant
Auth Scopes
payments:write
Demonstrates
- The gateway only executes against an owned invoice.
- Policy approval happens before Fiber execution.
- Confirmation writes the paid status back to the invoice record.
REQUEST_BODY
POST /api/v1/payments
{
  "invoice": "fibt1q..."
}
RESPONSE_BODY
Status 200
{
  "status": "SUCCESS",
  "preimage": "0xa21f...",
  "error": null,
  "policySnapshot": {
    "id": "pol_active_01",
    "dailySpendLimit": "1000",
    "maxPerAction": "250",
    "approvedAddresses": ["fibt1q..."]
  },
  "paymentHash": "0x8f12...",
  "invoiceId": "inv_2f0d8f",
  "idempotent": false,
  "invoiceStatus": "PAID"
}
Submission Boundary Note

Seeded scenario derived from the success path in `POST /api/v1/payments`. The structure is real even though the record is illustrative.