{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://ap2-protocol.org/schemas/payment_mandate.json", "title": "Payment Mandate", "description": "Agreement from a User or an Agent to authorize a particular Payment action.", "type": "object", "required": [ "vct", "transaction_id", "payee", "payment_amount", "payment_instrument" ], "properties": { "vct": { "type": "string", "description": "Verifiable Credential Type claim as defined in SD-JWT. MUST be 'mandate.payment'.", "const": "mandate.payment.1", "default": "mandate.payment.1" }, "transaction_id": { "type": "string", "description": "base64url-encoded hash of the checkout_jwt field value, uniquely identifying the checkout associated with this. The hash algorithm used MUST be the same as the sd_hash field for this sd-jwt, or sha256 if absent." }, "payee": { "description": "The merchant receiving the payment.", "$ref": "types/merchant.json" }, "pisp": { "description": "The Payment Initiation Service Provider.", "$ref": "types/pisp.json" }, "payment_amount": { "description": "Transaction amount object containing currency (ISO 4217 code, e.g., \"USD\") and amount (integer minor units per ISO 4217, e.g., 27999 = $279.99). Final value confirmed by the user.", "$ref": "types/amount.json" }, "payment_instrument": { "description": "The payment instrument used.", "$ref": "types/payment_instrument.json" }, "execution_date": { "type": "string", "description": "ISO8601 date of execution of payment. When absent indicates immediate execution." }, "risk_data": { "type": "object", "description": "An map of relevant risk signals collected by the trusted surface at time of mandate creation." }, "iat": { "type": "integer", "description": "The creation timestamp as a Unix epoch." }, "exp": { "type": "integer", "description": "The expiration timestamp as a Unix epoch." } } }