Skip to main content
POST
Capture a payment session

Authorizations

Authorization
string
header
required

A JWT signed using your CDP API Key Secret, encoded in base64. Refer to the Generate Bearer Token section of our Authentication docs for information on how to generate your Bearer Token.

Headers

X-Idempotency-Key
string

An optional string request header for making requests safely retryable. When included, duplicate requests with the same key will return identical responses. Refer to our Idempotency docs for more information on using idempotency keys.

Required string length: 1 - 128

Path Parameters

paymentSessionId
string
required

The unique identifier of the payment session. The ID of the payment session, a UUID prefixed by paymentSession_.

Pattern: ^paymentSession_[a-f0-9\-]{36}$
Example:

"paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"

Body

application/json

A request to create a capture for a payment session.

finalCapture
boolean
required

When true, this capture is treated as the final one for the authorization. Any remaining capturable balance is released back to the payer immediately after the capture settles. When false, the remaining capturable balance stays held and is available for subsequent partial captures (subject to captureExpiresAt). Has no effect if amount equals the full capturable balance, since no remaining balance exists to release.

Example:

true

amount
string

A decimal representation of the amount to capture, denominated in the session's asset. If omitted, the full remaining capturable amount is captured.

Example:

"1.00"

metadata
object

Optional metadata as key-value pairs. Use this to store additional structured information on a resource, such as customer IDs, order references, or any application-specific data. Up to 10 key/value pairs may be provided. Keys and values are both strings. Keys must be ≤ 40 characters; values must be ≤ 500 characters.

Example:
externalReferenceId
string

An optional merchant-provided internal identifier for this manual capture, from the merchant's own system—not visible to the payer.

Maximum string length: 256
Example:

"merchant-capture-abc123"

customerDisplay
Operation Customer Display · object

Optional customer-facing display data for this manual capture, shown to the payer. Falls back to the session's orderCode when referenceCode is omitted.

Example:

Response

Successfully created capture.

A collection of authorized funds. Multiple partial captures are allowed up to the authorized amount. Each capture settles funds to the merchant's target.

finalCapture
boolean
required

When true, this capture is treated as the final one for the authorization. Any remaining capturable balance is released back to the payer immediately after the capture settles. When false, the remaining capturable balance stays held and is available for subsequent partial captures (subject to captureExpiresAt). Has no effect if amount equals the full capturable balance, since no remaining balance exists to release.

Example:

true

captureId
string

The unique identifier of the capture.

Pattern: ^capture_[a-f0-9\-]{36}$
Example:

"capture_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"

paymentSessionId
string

The ID of the payment session this capture belongs to.

Pattern: ^paymentSession_[a-f0-9\-]{36}$
Example:

"paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"

status
enum<string>

The current status of the capture.

Available options:
pending,
succeeded,
failed
Example:

"pending"

amount
string

A decimal representation of the captured amount, denominated in the session's asset.

Example:

"1.00"

error
object

An error that occurred during a payment operation.

Example:
metadata
object

Optional metadata as key-value pairs. Use this to store additional structured information on a resource, such as customer IDs, order references, or any application-specific data. Up to 10 key/value pairs may be provided. Keys and values are both strings. Keys must be ≤ 40 characters; values must be ≤ 500 characters.

Example:
externalReferenceId
string

A merchant-provided internal identifier for this capture, from the merchant's own system—not visible to the payer. A manual capture uses the caller-provided value; an auto-capture reuses the authorization's value and omits it when the authorization omitted it. It never falls back to PaymentSession.externalReferenceId.

Maximum string length: 256
Example:

"merchant-capture-abc123"

customerDisplay
Operation Customer Display · object

Customer-facing display data for this capture, shown to the payer. A manual capture falls back to the session's orderCode when referenceCode is omitted; an auto-capture reuses the authorization's referenceCode.

Example:
onchainTransactions
object[]

The onchain transactions associated with this capture.

Example:
createdAt
string<date-time>

The UTC ISO 8601 timestamp at which the capture was created.

Example:

"2025-06-15T12:20:00.000Z"

updatedAt
string<date-time>

The UTC ISO 8601 timestamp at which the capture was last updated.

Example:

"2025-06-15T12:21:00.000Z"