Capture a payment

If you have successfully authorized a payment, you can now fully capture, or partially capture funds from the authorized payment, depending on whether your selected payment processor supports it. The payment will be updated to SETTLED or SETTLING, depending on the payment method type.

The payload sent in this capture request is completely optional. If you don’t send a payload with the capture request, the full amount that was authorized will be sent for capture. Below are the available payload attributes, which give you more granular control when capturing funds, if you require it.

Path parameters

idstringRequired
ID of the payment to capture.

Headers

X-API-KEYstringRequired
X-Idempotency-KeystringOptional
Optional key to make the request idempotent. Enables a safe retry of a request without risking the user being charged or refunded multiple times. The idempotency key must be generated by the client and needs to be unique for every new request.

Request

This endpoint expects an object.
amountlongOptional
The amount you would like to capture, in minor units. The currency used on authorization is assumed. If no amount is specified it defaults to the full amount.
finalbooleanOptionalDefaults to true
Indicates whether the capture request is the final capture request. After a final capture, no subsequent captures are allowed.
orderobjectOptional
More information associated with the order.
metadatamap from strings to anyOptional

Additional payment metadata. This only takes effect if the payment was created via the New Workflows (read more here). A dictionary of key-value pairs where the values can only be strings or integers. Keys which already exist in the payment metadata will be overwritten.

Response

Successful Response
idstringOptional
The unique payment ID. You can use this ID to retrieve the payment details, or perform downstream operations.
datedatetimeOptional
The date and time at which the payment was created in UTC format.
dateUpdateddatetimeOptional
The date and time of the last payment update in UTC format.
statusenumOptional

See the payment status table for more information.

cardTokenTypeenumOptional
The type of card token used for the payment. Only applies for card payments.
Allowed values:
orderIdstringOptional<=256 characters
Your reference for the payment.
currencyCodeenumOptional

The 3-letter currency code in ISO 4217 format. e.g. use USD for US dollars.

amountlongOptional
The amount you charged the customer, in minor units.
orderobjectOptional
More information associated with the order.
customerIdstringOptional<=256 characters
The unique identifier for your customer.
customerobjectOptional
More information associated with the customer.
metadatamap from strings to anyOptional
Additional data to be used throughout the payment lifecycle.
paymentMethodobjectOptional
The payment method options provided in the request, as well as the token used to process the payment.
processorobjectOptional
More information associated with the payment processor, including the processor name.
requiredActionobjectOptional
Required action to perform in order to resume the payment workflow. This can be requiring a 3DS check from the customer for instance.
statusReasonobjectOptional

Check this field for more information regarding the payment’s status. This is especially useful when the status is DECLINED or FAILED.

transactionslist of objectsOptional

A list summarizing the transactions that occurred while processing the payment.

Note: a refund is a separate transaction and so will appear in this transactions list if a refund was performed.

riskDataobjectOptional
Risk data associated with this payment.

Errors