Skip to content
v0.15.2Package availableRecord category

Payment Event Records

Record payment evidence across multiple rails: x402, Stripe SPT delegation, ACP mandate lifecycle, MPP/paymentauth HTTP auth challenges, and UCP order events. Each record carries explicit finality semantics, and any party with the issuer's public key can verify it offline.

Packages: @peac/adapter-x402, @peac/mappings-paymentauth, @peac/mappings-acp, @peac/mappings-ucp

Explicit finality rule

PEAC never synthesizes payment finality from non-payment artifacts. An ACP session marked "completed" does not prove settlement; a Stripe grant does not prove authorization. Each mapper calls assertExplicitFinality so that finality is recorded only when the upstream system states it explicitly. A settlement state is allowed only on a settlement event.

Commerce mandate records

The org.peacprotocol/commerce-mandate extension group records the mandate lifecycle across seven observed event kinds. Validate with validateCommerceMandate() from @peac/schema before issuing.

Type URIRecords
org.peacprotocol/commerce-mandate-observedA commerce mandate was granted
org.peacprotocol/commerce-authorization-observedA payment authorization
org.peacprotocol/commerce-capture-observedA capture against an authorization
org.peacprotocol/commerce-void-observedA void of an authorization
org.peacprotocol/commerce-refund-observedA refund
org.peacprotocol/commerce-settlement-observedA settlement (the only event that may state settlement_state)
org.peacprotocol/commerce-budget-observedA budget allocation or limit

Supported rails

  • x402 via @peac/adapter-x402 and @peac/rails-x402: x402 v1 and v2 payment offer and settlement evidence with dual-header support.
  • MPP / paymentauth via @peac/mappings-paymentauth: HTTP Payment authentication scheme challenges and receipts.
  • ACP via @peac/mappings-acp: session lifecycle and payment observation use separate functions; amount_minor is always a string.
  • UCP via @peac/mappings-ucp: order events verified with RFC 9421 signatures; order state stays separate from payment state.
  • Stripe SPT via @peac/rails-stripe (source-only; build from packages/rails/stripe): Payment Token delegation grant evidence. A grant does not prove payment authorization without explicit upstream confirmation.

Compose a multi-rail evidence bundle

Observations from x402, ACP, and paymentauth can be composed into a single portable, signed audit bundle with createDisputeBundle from @peac/audit, verified offline with verifyBundle. The finality guard prevents a non-payment artifact from claiming settlement inside the bundle.

Semantic Boundary

PEAC records payment evidence as observed. It does not move money, settle payments, hold funds, or act as a payment rail or processor. Card numbers, tokens, and secrets are blocked from records. A payment event record proves what the upstream rail attested, not more.

Links

Portable Commerce Evidence

A signed payment record, or a multi-rail bundle, lets a counterparty verify what was attested offline. The same record format travels across x402, ACP, UCP, MCP, and HTTP.