payment.reconcile
Transition from a verified provider status; on approved, mark the order paid (idempotent by state). A rejection ends only the ATTEMPT — the intent stays pending so a later approval still reconciles.
- Scope:
public - System: no
- Reachable from: an ANONYMOUS face — no credential, and never
/v1/commands/*. Which path serves it is not derivable from the registry; see the anonymous faces. - Events:
payment.approved,payment.rejected,payment.orphaned,payment.attempt_orphaned,order.paid,inventory.committed,order.stock_uncommitted
Input (JSON Schema)
Section titled “Input (JSON Schema)”{ "properties": { "app_id": { "minLength": 1, "type": "string" }, "decline_reason": { "enum": [ "insufficient_funds", "card_rejected", "invalid_data", "expired", "fraud_suspected", "timeout", "other" ], "type": "string" }, "provider_ref": { "minLength": 1, "type": "string" }, "status": { "enum": [ "approved", "rejected", "pending" ], "type": "string" } }, "required": [ "app_id", "provider_ref", "status" ], "type": "object"}Result (200)
Section titled “Result (200)”{ "additionalProperties": false, "properties": { "intent_id": { "type": "string" }, "status": { "type": "string" } }, "required": [ "intent_id", "status" ], "type": "object"}Errors
Section titled “Errors”validation_failed (400) · unauthorized (401) · forbidden (403) · conflict (409) · internal (500)