Skip to main content
The JSON Payment Request payload is central to ACK-Pay interactions. Its origin and handling differ slightly depending on the payment sequence:
  • Server-Initiated Sequence: When payment is required by a Server, it generates and sends this payload structure to the Client to communicate the requirement. This payload is designed to be transport-agnostic: while delivered via the standard 402 status code when HTTP is employed, it can also be delivered over other protocols (e.g., A2A messages, WebSockets) and is not limited to HTTP.
  • Client-Initiated Sequence: When payment is initiated by a Client based on a known obligation, the Client constructs this payload. The Client might parse unstructured data (like an invoice, user instruction, or web checkout summary) and potentially interact with a Payment Service API to help formulate the standardized payload structure before initiating the payment execution.
In both cases, the structure allows the offering of one or more ways for the Client to fulfill the payment requirement via a designated Payment Service.

Payload Structure

Every Payment Request payload contains essential properties:

Key Fields Explained

Payment Service Abstraction

The paymentOptions listed in a Payment Request define how the designated Payment Service accepts funds from the Client. These options do not necessarily dictate the final currency or settlement account required by the Server Agent receiving the service request. The Payment Service acts as a crucial intermediary. It can offer numerous pay-in options (different currencies, networks, or payment methods) suitable for various Clients. Subsequently, the Payment Service handles the necessary bridging, currency conversions (FX), or other transformations required to settle the payment to the Server Agent in their desired currency and account type. This abstraction provides key benefits:
  • Server Privacy: The Server does not need to expose its final settlement account details directly to the Client.
  • Client Flexibility: The Client can pay using a method convenient for it, even if it differs from the Server’s preferred settlement method.
If fees are associated with bridging, FX conversions, or other transformations performed by the Payment Service, these should be communicated transparently to the Client during the payment negotiation or execution process.