This endpoint captures a full or partial payment. Any amounts successfully captured will be settled from Clearpay to the merchant's nominated bank account on the following day. Records of all payments captured against an order are returned in the events list as events of type, "CAPTURED".
Note
This operation is idempotent based on the
requestId
(if provided), which allows for the safe retry of requests, guaranteeing the payment operation is only performed once.
Beware
Authorisation expires after 13 days and then the transaction is automatically voided. Voided transactions are frozen and cannot be reopened or changed in any way. In this case your only option is to use the v2/checkouts endpoint to create a new order.
Successful Response (201)
If successful, returns an updated copy of the Payment object, with the newly captured payment appended to the events
array as a Payment Event object with a type
of "CAPTURED".
Connection Timeouts
Timeout | Time (Seconds) |
---|---|
Open | 10 |
Read | 70 |
Errors
In addition to the PUT/POST Errors applicable to all POST endpoints, the following errors are specific to Capture Payment:
HTTP Status Code | errorCode | Description |
---|---|---|
404 Not Found | not_found | No numeric orderId was provided, or an invalid string was provided. |
410 Gone | payment_captured | Payment has already been fully captured for this order, or partially captured with the remainder voided. |
412 Precondition Failed | error | A numeric orderId was provided, but did not match any valid order. |
412 Precondition Failed | invalid_state | The order was declined by Clearpay; no payment can be captured for this order. |
412 Precondition Failed | payment_voided | The auth for this order has already been completely voided. |
412 Precondition Failed | payment_expired | The auth for this order has expired; no further payment can be captured. |
422 Unprocessable Entity | invalid_object | The amount was missing or invalid, or the paymentEventMerchantReference exceeded 128 characters. |
422 Unprocessable Entity | invalid_amount | The amount was less than the minimum capture amount, or more than the openToCaptureAmount . |