Capture funds reserved for a Purchase (status == hold
). You can place a hold
(authenticate the payment) using skip_capture == true
when creating the Purchase and ensuring your client submits the payment form.
If this operation takes too long to be processed on the acquirer side - you will get a response with status code 200 and a Purchase object having status
= pending_capture
in body (you will receive a corresponding Webhook callback too for a purchase.pending_capture
event). To be notified of a successful operation completion, please subscribe to purchase.captured
callback event - it will deliver an updated Purchase with status
= paid
.
If capture fails due to payment processing error, you will receive HTTP response code 400 with error code purchase_capture_error
. In this case, to get more details about the error, you should perform a GET /purchase/
request for the Purchase you tried to capture. In transaction_data.attempts[]
array (newest element first) you'll find the corresponding attempt with error code and description in .error
parameter. By default the full amount is captured, the amount
body param is optional.