Context
ACK receipts already bind a payment receipt credential to a paymentRequestToken and paymentOptionId. For more advanced agent-commerce flows, it would be useful to document a narrow, optional metadata shape for evidence and policy references without changing the core receipt VC format.
This is especially relevant for:
- MPP receipts and payment sessions
- x402 signed receipts / payment response references
- AP2-style mandate or authorization chains
- policy-before-signing demos
- audit trails for agent actions
Proposal
Define a non-normative receipt metadata example/profile with fields such as:
type PaymentEvidenceMetadata = {
policyRef?: string
policySnapshotHash?: string
mandateRef?: string
executionRef?: string
executionReceiptHash?: string
settlementNetwork?: string
settlementReference?: string
}
The field names are placeholders; the useful part is a documented pattern for linking an ACK receipt to the policy/mandate/execution evidence that caused the payment.
Why this helps
- Keeps the core
PaymentReceiptCredential small.
- Gives implementers a safe extension point for auditability.
- Helps ACK compose with MPP/x402/AP2 without forcing one protocol's fields into the ACK core schema.
- Makes receipt verification examples more useful for real agent systems.
Small first slice
Add a docs example plus one test that creates a receipt with metadata and verifies that metadata survives signing/parsing/verification round-trip.
This should avoid changing required schema fields or verifier semantics.
Context
ACK receipts already bind a payment receipt credential to a
paymentRequestTokenandpaymentOptionId. For more advanced agent-commerce flows, it would be useful to document a narrow, optional metadata shape for evidence and policy references without changing the core receipt VC format.This is especially relevant for:
Proposal
Define a non-normative receipt metadata example/profile with fields such as:
The field names are placeholders; the useful part is a documented pattern for linking an ACK receipt to the policy/mandate/execution evidence that caused the payment.
Why this helps
PaymentReceiptCredentialsmall.Small first slice
Add a docs example plus one test that creates a receipt with metadata and verifies that metadata survives signing/parsing/verification round-trip.
This should avoid changing required schema fields or verifier semantics.