Skip to content
v0.3

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
{
"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"
}
{
"additionalProperties": false,
"properties": {
"intent_id": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"intent_id",
"status"
],
"type": "object"
}

validation_failed (400) · unauthorized (401) · forbidden (403) · conflict (409) · internal (500)