Skip to content
v0.3

payment.initiate

Claim the active payment intent for an order (one per order — no double-charge) and open one live attempt inside it. Does not call the provider; it charges the app the ORDER was placed with whenever that app serves the method being charged (refusing by name if it is gone), and otherwise resolves one by method as it always has.

  • Scope: public
  • System: no
  • Reachable from: POST /v1/payment/commands/payment.initiate — an ANONYMOUS face: x-forge-store is required, no credential is sent, and it is never on /v1/commands/* · MCP tool payment.initiate
  • Events: payment.initiated, payment.approved, payment.orphaned, order.paid, inventory.committed, order.stock_uncommitted
{
"properties": {
"method": {
"enum": [
"pix",
"card",
"promissory",
"zero"
],
"type": "string"
},
"order_id": {
"minLength": 1,
"type": "string"
}
},
"required": [
"order_id",
"method"
],
"type": "object"
}
{
"additionalProperties": false,
"properties": {
"next_action": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"data": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"data"
],
"type": "object"
},
{
"type": "null"
}
]
},
"payment_id": {
"type": "string"
}
},
"required": [
"payment_id",
"next_action"
],
"type": "object"
}

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