T402 API Reference - v2.8.0
    Preparing search index...

    Class A2APaymentServer

    A2A Payment Server

    Provides server-side payment handling for A2A agent endpoints.

    const server = new A2APaymentServer({
    facilitator: facilitatorClient,
    defaultRequirements: {
    t402Version: 2,
    resource: 'agent://my-agent/skill',
    },
    });

    // Create payment-required response
    const requirements = server.createRequirements({
    accepts: [{ scheme: 'exact', network: 'eip155:8453', amount: '1000000', ... }],
    });
    const task = server.createPaymentRequiredTask(taskId, requirements);

    // Process payment submission
    const result = await server.processPayment(message, requirements);
    if (result.success) {
    // Continue with task execution
    }
    Index

    Constructors

    Methods

    • Create payment requirements with defaults

      Parameters

      • requirements: PaymentRequired

        Partial requirements to merge with defaults

      Returns PaymentRequired

      Complete payment requirements

    • Create a payment-required task status

      Parameters

      • requirements: PaymentRequired

        Payment requirements

      • Optionaltext: string

        Optional text message

      Returns A2ATaskStatus

      A2A task status

    • Create a payment-required task

      Parameters

      • taskId: string

        Task identifier

      • requirements: PaymentRequired

        Payment requirements

      • Optionaltext: string

        Optional text message

      Returns A2ATask

      A2A task in input-required state

    • Extract payment payload from an A2A message

      Parameters

      • message: A2AMessage

        A2A message that may contain payment

      Returns any

      Payment payload or undefined

    • Check if a message contains a payment submission

      Parameters

      • message: A2AMessage

        A2A message to check

      Returns boolean

      Whether the message contains a payment

    • Process a payment submission

      Parameters

      • message: A2AMessage

        A2A message containing payment payload

      • requirements: PaymentRequired

        Original payment requirements

      Returns Promise<A2APaymentResult>

      Payment processing result

    • Create a completed task status with payment receipts

      Parameters

      • receipts: SettleResponse[]

        Settlement receipts

      • Optionaltext: string

        Optional text message

      Returns A2ATaskStatus

      A2A task status

    • Create a failed task status with payment error

      Parameters

      • error: string

        Error message

      • receipts: SettleResponse[] = []

        Optional settlement receipts

      • errorCode: string = "T402-5000"

        Optional error code

      Returns A2ATaskStatus

      A2A task status

    • Handle a complete payment flow for a task

      This is a convenience method that processes a payment submission and returns an updated task.

      Parameters

      • task: A2ATask

        The current A2A task

      • message: A2AMessage

        The message containing payment payload

      • requirements: PaymentRequired

        Payment requirements

      Returns Promise<A2ATask>

      Updated task with payment result

    • Create a payment-required task using the AP2 embedded flow. Returns a CartMandate as artifact instead of metadata.

      Parameters

      • taskId: string

        Task identifier

      • cartContents: CartContents

        Cart contents (payment_request will be augmented with x402)

      • requirements: PaymentRequirements[]

        x402 payment requirements to embed

      • OptionalmerchantAuthorization: string

        Optional merchant JWT

      • Optionaltext: string

        Optional text message

      Returns A2ATask

      A2A task with CartMandate artifact and embedded flow metadata

    • Extract x402 PaymentPayload from an embedded-flow message. Scans message parts for PaymentMandate DataPart.

      Parameters

      • message: A2AMessage

        A2A message with PaymentMandate DataPart

      Returns any

      x402 PaymentPayload or undefined