Capture a Klarna order in multiple partial captures as line items ship, using the Order Management API
domain: docs.klarna.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
After the order is authorized, call POST /ordermanagement/v1/orders/{order_id}/captures with a captured_amount covering only the items that have shipped so far, plus the relevant order_lines.
Record the capture_id returned for each partial capture so it can be tracked and refunded independently later.
Repeat the same captures call against the same order_id for each subsequent shipment, reducing the remaining uncaptured authorized balance each time.
Fetch the capture resource by its capture_id to confirm the amount and status of any individual capture before reporting it to finance or issuing a refund against it.
Send requests to the correct regional base domain (for example api.klarna.com, api-na.klarna.com, or api-oc.klarna.com, or their playground equivalents) matching the merchant's onboarding region.
Known gotchas
This flow is specific to Klarna's own direct Payments API plus Order Management API integration — it does not apply the same way to a Klarna-via-Stripe integration, which uses Stripe's own PaymentIntents model instead.
Public docs do not state an explicit maximum number of partial captures per order — don't hardcode an assumed cap; track the running captured total against the authorized amount and stop once fully captured.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?