Skip to main content
WEBHOOK
acceptancePaymentSessionCaptureSucceeded
{
  "eventId": "123e4567-e89b-12d3-a456-426614174000",
  "timestamp": "2025-06-01T12:00:00Z",
  "data": {
    "paymentSession": {
      "paymentSessionId": "paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
      "entityId": "entity_af2937b0-9846-4fe7-bfe9-ccc22d935114",
      "amount": "1.00",
      "asset": "usdc",
      "source": {
        "address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
        "network": "base",
        "asset": "usdc"
      },
      "target": {
        "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
        "network": "base"
      },
      "autoCapture": false,
      "expiries": {
        "authorizationExpiresAt": "2025-12-31T23:59:59.000Z",
        "captureExpiresAt": "2026-01-15T23:59:59.000Z",
        "refundExpiresAt": "2026-02-15T23:59:59.000Z"
      },
      "status": "authorization_succeeded",
      "balances": {
        "capturable": "1.00",
        "captured": "0",
        "refundable": "0",
        "refunded": "0"
      },
      "externalReferenceId": "merchant-order-abc123",
      "customerDisplay": {
        "merchantName": "Acme Store",
        "amount": "1.37",
        "asset": "cad"
      },
      "metadata": {
        "customer_id": "cust_12345",
        "order_reference": "order-67890"
      },
      "createdAt": "2025-06-15T12:00:00.000Z",
      "updatedAt": "2025-06-15T12:01:00.000Z"
    },
    "authorization": {
      "authorizationId": "authorization_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
      "status": "succeeded",
      "amount": "1.00",
      "source": {
        "address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
        "network": "base",
        "asset": "usdc"
      },
      "onchainTransactions": [
        {
          "transactionHash": "0xabc123def456789012345678901234567890abcdef1234567890abcdef123456",
          "network": "base"
        }
      ],
      "createdAt": "2025-06-15T12:00:30.000Z",
      "updatedAt": "2025-06-15T12:01:00.000Z"
    }
  },
  "eventType": "acceptance.payment_session.capture_succeeded"
}

Authorizations

X-Hook0-Signature
string
header
required

HMAC-SHA256 signature of the raw request body, computed using your webhook secret. Webhook receivers should always verify this header before processing the event. The header value is hex-encoded and prefixed by the algorithm and timestamp, e.g. t=1700000000,v1=abc123... (refer to the Webhook Security docs for the exact verification algorithm).

This scheme applies to webhook delivery (outbound POSTs from CDP to your endpoint), not to inbound CDP API requests.

Body

application/json

The acceptance.payment_session.capture_succeeded webhook event payload.

Common fields included in every PaymentSessionEvent payload.

eventId
string<uuid>
required

Unique identifier for this webhook event. Use this for idempotency.

Example:

"123e4567-e89b-12d3-a456-426614174000"

timestamp
string<date-time>
required

When this event occurred (ISO 8601 format).

Example:

"2025-06-01T12:00:00Z"

data
object
required

The data payload for a payment session webhook event. Always contains the paymentSession summary reflecting the session's current state. When the event was triggered by an action (authorization, capture, void, or refund), the corresponding optional field is present with the action details. For session-level events (created, canceled) no action field is included — the paymentSession.status value is sufficient.

Example:
{
"paymentSession": {
"paymentSessionId": "paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"entityId": "entity_af2937b0-9846-4fe7-bfe9-ccc22d935114",
"amount": "1.00",
"asset": "usdc",
"source": {
"address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
"network": "base",
"asset": "usdc"
},
"target": {
"address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"network": "base"
},
"autoCapture": false,
"expiries": {
"authorizationExpiresAt": "2025-12-31T23:59:59.000Z",
"captureExpiresAt": "2026-01-15T23:59:59.000Z",
"refundExpiresAt": "2026-02-15T23:59:59.000Z"
},
"status": "authorization_succeeded",
"balances": {
"capturable": "1.00",
"captured": "0",
"refundable": "0",
"refunded": "0"
},
"externalReferenceId": "merchant-order-abc123",
"customerDisplay": {
"merchantName": "Acme Store",
"amount": "1.37",
"asset": "cad"
},
"metadata": {
"customer_id": "cust_12345",
"order_reference": "order-67890"
},
"createdAt": "2025-06-15T12:00:00.000Z",
"updatedAt": "2025-06-15T12:01:00.000Z"
},
"authorization": {
"authorizationId": "authorization_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"status": "succeeded",
"amount": "1.00",
"source": {
"address": "0xAbC1234567890aBcDeF1234567890AbCdEf123456",
"network": "base",
"asset": "usdc"
},
"onchainTransactions": [
{
"transactionHash": "0xabc123def456789012345678901234567890abcdef1234567890abcdef123456",
"network": "base"
}
],
"createdAt": "2025-06-15T12:00:30.000Z",
"updatedAt": "2025-06-15T12:01:00.000Z"
}
}
eventType
enum<string>
required

The type of webhook event.

Available options:
acceptance.payment_session.capture_succeeded
Example:

"acceptance.payment_session.capture_succeeded"

Response

Webhook received and processed successfully.