Use the Order management API to fully capture an order.
When you fulfill the order (for example, you have sent the products to your customer), you need to capture the total amount for the items through this API call.
Capturing the full order amount triggers the payments we send to your bank account based on your contract.
The following diagram depicts how this API call works:
Sequence diagram of the API call to capture the full order amount.
You can use the same endpoint for making full and partial captures. For a full capture, you send the total order amount. For a partial capture, you only send the order amount corresponding to the items you shipped.
To capture the full order amount, send a POST
request to the {apiUrl}/ordermanagement/v1/orders/{order_id}/captures
endpoint.
Include the following in your request:
captured_amount
(required): the total order amount to be captured. It must be equal to the order_amount
from the order creationdescription
(optional): text to add detailsorder_lines
(optional): list of details associated with this capture. This is recommended if you want to show capture details in the Klarna's appshipping_info
(optional): shipping details such as company and tracking number. If you're shipping physical goods, you need to have shipping information available at this point. For more information, see the Add shipping information section.{
"captured_amount": 6000,
"description": "Shipped the full order",
"order_lines": [
{
"type": "physical",
"reference": "123050",
"name": "Tomatoes",
"quantity": 10,
"quantity_unit": "kg",
Sample request to capture an order.
If the request is successful, you'll receive a 201 Created
response including capture_id
and location
as HTTP response headers.
If your request contains errors, you'll receive an error response. Make sure the order_id
is correct.
You can use the correlation_id
and the order_id
values to troubleshoot the call in the Merchant portal logs section.
{
"correlation_id": "66782175-ae05-44fc-9eb3-eeceadbad271",
"error_code": "NO_SUCH_ORDER",
"error_messages": [
"string"
]
}
Sample of an error response to capture an order.
Ready to send this request? See the API reference of this call.