pub struct Capture {
pub amount: Option<String>,
pub capture_id: Option<CaptureId>,
pub created_at: Option<DateTime<Utc>>,
pub customer_display: Option<OperationCustomerDisplay>,
pub error: Option<PaymentError>,
pub external_reference_id: Option<ExternalReferenceId>,
pub final_capture: bool,
pub metadata: Option<Metadata>,
pub onchain_transactions: Vec<OnchainTransaction>,
pub payment_session_id: Option<PaymentSessionId>,
pub status: Option<PaymentActionStatus>,
pub updated_at: Option<DateTime<Utc>>,
}Expand description
A collection of authorized funds. Multiple partial captures are allowed up to the authorized amount. Each capture settles funds to the merchant’s target.
JSON schema
{
"description": "A collection of authorized funds. Multiple partial captures are allowed up to the authorized amount. Each capture settles funds to the merchant's target.",
"examples": [
{
"amount": "1.00",
"captureId": "capture_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"createdAt": "2025-06-15T12:20:00.000Z",
"finalCapture": true,
"metadata": {
"customer_id": "cust_12345"
},
"onchainTransactions": [
{
"network": "base",
"transactionHash": "0xdef456abc789012345678901234567890abcdef1234567890abcdef12345678"
}
],
"paymentSessionId": "paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad",
"status": "succeeded",
"updatedAt": "2025-06-15T12:21:00.000Z"
}
],
"type": "object",
"required": [
"finalCapture"
],
"properties": {
"amount": {
"description": "A decimal representation of the captured amount, denominated in the session's `asset`.",
"examples": [
"1.00"
],
"type": "string"
},
"captureId": {
"description": "The unique identifier of the capture.",
"examples": [
"capture_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"
],
"allOf": [
{
"$ref": "#/components/schemas/CaptureId"
}
]
},
"createdAt": {
"description": "The UTC ISO 8601 timestamp at which the capture was created.",
"examples": [
"2025-06-15T12:20:00.000Z"
],
"type": "string",
"format": "date-time"
},
"customerDisplay": {
"description": "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`.",
"allOf": [
{
"$ref": "#/components/schemas/OperationCustomerDisplay"
}
]
},
"error": {
"$ref": "#/components/schemas/PaymentError"
},
"externalReferenceId": {
"description": "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`.",
"examples": [
"merchant-capture-abc123"
],
"allOf": [
{
"$ref": "#/components/schemas/ExternalReferenceId"
}
]
},
"finalCapture": {
"description": "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.",
"examples": [
true
],
"type": "boolean"
},
"metadata": {
"$ref": "#/components/schemas/Metadata"
},
"onchainTransactions": {
"description": "The onchain transactions associated with this capture.",
"examples": [
[
{
"network": "base",
"transactionHash": "0xdef456abc789012345678901234567890abcdef1234567890abcdef12345678"
}
]
],
"type": "array",
"items": {
"$ref": "#/components/schemas/OnchainTransaction"
}
},
"paymentSessionId": {
"description": "The ID of the payment session this capture belongs to.",
"examples": [
"paymentSession_82c879c1-84e1-44ed-a8c2-1ac239cf09ad"
],
"allOf": [
{
"$ref": "#/components/schemas/PaymentSessionId"
}
]
},
"status": {
"description": "The current status of the capture.",
"examples": [
"pending"
],
"allOf": [
{
"$ref": "#/components/schemas/PaymentActionStatus"
}
]
},
"updatedAt": {
"description": "The UTC ISO 8601 timestamp at which the capture was last updated.",
"examples": [
"2025-06-15T12:21:00.000Z"
],
"type": "string",
"format": "date-time"
}
}
}Fields§
§amount: Option<String>A decimal representation of the captured amount, denominated in the session’s asset.
capture_id: Option<CaptureId>The unique identifier of the capture.
created_at: Option<DateTime<Utc>>The UTC ISO 8601 timestamp at which the capture was created.
customer_display: Option<OperationCustomerDisplay>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.
error: Option<PaymentError>§external_reference_id: Option<ExternalReferenceId>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.
final_capture: boolWhen 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.
metadata: Option<Metadata>§onchain_transactions: Vec<OnchainTransaction>The onchain transactions associated with this capture.
payment_session_id: Option<PaymentSessionId>The ID of the payment session this capture belongs to.
status: Option<PaymentActionStatus>The current status of the capture.
updated_at: Option<DateTime<Utc>>The UTC ISO 8601 timestamp at which the capture was last updated.