klarna_add_ capture_ shipping_ infoAdd tracking details (carrier, tracking number, return tracking) to a capture.
Capture or refund an order, make a payment link, answer a dispute with evidence, and reconcile a payout against your bank, all by asking, on live or playground.
PopMCPKlarna
Every Klarna merchant API a key can call is here: Order Management, Payments, Hosted Payment Page, Customer Token, Settlements, Merchant Card Service, in-store and Disputes. The everyday tools load by default and the rest are one search away. A few do a whole job at once, such as capturing what is left on an order after checking it first.
72 tools in the full catalog: 30 read and 42 write. 38 load by default, and the rest are found with tool search.
klarna_add_ capture_ shipping_ infoAdd tracking details (carrier, tracking number, return tracking) to a capture.
klarna_cancel_ orderCancel an order so the customer owes nothing.
klarna_capture_ orderCapture part or all of an order: this moves real money, starts the customer's payment plan and tells Klarna the goods shipped.
klarna_capture_ remaining_ amountCapture everything still uncaptured on an order: this moves real money and starts the customer's payment plan.
klarna_extend_ order_ authorization_ timeExtend how long an order can still be captured, when its expires_at is close.
klarna_get_ captureGet one capture on an order.
klarna_get_ orderGet one order: status, amounts, order lines, addresses, captures and refunds.
klarna_get_ refundGet one refund on an order.
klarna_list_ capturesList every capture on an order, with capture_id, amount, date and order lines.
klarna_order_ overviewEverything about one order in one call: status, amounts, what can be captured, refunded or cancelled now, its captures and refunds, any disputes, and its settlement lines.
klarna_refund_ orderRefund part or all of a captured order: this returns real money to the customer and cannot be undone.
klarna_refund_ remaining_ amountRefund everything captured and not yet refunded on an order: this returns real money to the customer and cannot be undone.
klarna_release_ remaining_ authorizationGive up the uncaptured rest of a partly captured order, so it can no longer be captured and the customer owes only what was captured.
klarna_update_ order_ amountChange a not yet fully captured order's total and order lines.
klarna_update_ order_ customer_ detailsChange the billing or shipping address on an order.
klarna_update_ order_ merchant_ referencesSet merchant_reference1 and merchant_reference2 on an order, your own order numbers that also appear in settlement reports.
klarna_accept_ dispute_ lossAccept a dispute as lost: the disputed amount goes back to the customer and the dispute closes.
klarna_get_ disputeGet one dispute with its reason, amounts, deadlines, customer and merchant evidence and attachments.
klarna_get_ payoutGet one payout by its payment_reference, the reference on your bank statement and in klarna_list_payouts.
klarna_get_ payout_ summarySum payouts per currency over a date range: sales, returns, fees, holds and amount paid.
klarna_get_ payouts_ transactions_ report_ csvGet all payouts and transactions in a date range as CSV text.
klarna_list_ disputesList payment disputes with deadlines and state.
klarna_list_ payout_ transactionsList the sales, returns, fees and other lines in a payout or for one order.
klarna_list_ payoutsList the payouts Klarna has paid to your bank, with totals per payout.
klarna_payout_ overviewOne payout with its transactions, totalled per transaction type, for reconciling a bank deposit.
klarna_respond_ to_ disputeAnswer a dispute's representment request with your evidence: uploaded attachments, additional_information, and optionally partner_proposed_refund_amount in minor units.
klarna_upload_ dispute_ attachmentUpload one evidence file for a dispute and get its id.
klarna_create_ order_ from_ authorizationTurn a customer's authorization into an order.
klarna_create_ payment_ linkMake a Klarna payment link in one step: creates a payment session and a hosted payment page, and returns redirect_url for the customer, a QR code link, and both session ids.
klarna_create_ payment_ sessionStart a Klarna payment: returns session_id, client_token for Klarna's checkout widget, and the payment methods on offer.
klarna_get_ payment_ sessionGet a payment session: status, expires_at, amounts, order lines, and authorization_token once the customer has authorized.
klarna_update_ payment_ sessionChange the amounts, order lines or customer on a payment session that has not been authorized yet.
klarna_disable_ hosted_ payment_ pageTurn a hosted payment page off so its link stops working.
klarna_get_ hosted_ payment_ pageGet a hosted payment page's status (WAITING, BACK, IN_PROGRESS, MANUAL_ID_CHECK, COMPLETED, CANCELLED, FAILED, DISABLED, ERROR), and the authorization_token or order_id once paid.
klarna_create_ order_ with_ customer_ tokenCharge a saved customer by creating an order on their token, with no customer present.
klarna_get_ customer_ tokenGet a customer token's status, payment method type and masked card or bank details.
klarna_update_ customer_ token_ statusCancel a customer token by setting status to CANCELLED, so it can no longer be charged.
klarna_account_ overviewStart here: which Klarna system this connection is on (live or playground, region), the merchant id when known, the latest payouts and the disputes waiting on you.
klarna_acknowledge_ orderAcknowledge a Kustom checkout order so it stops being sent as new.
klarna_add_ order_ shipping_ infoAdd tracking details to an order before it is captured.
klarna_extend_ capture_ due_ dateGive the customer more days to pay a capture.
klarna_list_ due_ date_ extension_ optionsList the extra days a capture's due date can be extended by, and what each costs.
klarna_resend_ capture_ customer_ communicationSend the customer their payment details for a capture again.
klarna_appeal_ disputeAppeal Klarna's preliminary decision on a dispute while it is in PRE_ARBITRATION.
klarna_download_ dispute_ attachmentDownload a dispute's attachment.
klarna_enroll_ merchant_ in_ disputesTurn on the Disputes API for one merchant id.
klarna_enroll_ partner_ in_ disputesTurn on the Disputes API for all merchants under a partner account.
klarna_get_ payout_ report_ pdfGet one payout's summary as a PDF.
klarna_get_ payout_ transactions_ report_ csvGet one payout with all its transactions as CSV text, for reconciliation.
klarna_get_ payouts_ summary_ report_ pdfGet a summary of all payouts in a date range as a PDF.
klarna_accept_ dispute_ loss_ v3Older Disputes API v3: accept a dispute as lost.
klarna_cancel_ authorizationCancel an authorization the customer gave, when no order will be made from it.
klarna_cancel_ payment_ sessionCancel a payment session that has not been completed, for example an in-store payment the customer gave up on.
klarna_create_ customer_ token_ from_ authorizationSave a customer's authorization as a reusable customer token for subscriptions or later purchases.
klarna_download_ dispute_ attachment_ v3Older Disputes API v3: download a dispute's attachment.
klarna_enroll_ merchant_ in_ disputes_ v3Older Disputes API v3: turn it on for one merchant id.
klarna_enroll_ partner_ in_ disputes_ v3Older Disputes API v3: turn it on for a partner account.
klarna_get_ dispute_ v3Older Disputes API v3: get one dispute.
klarna_list_ disputes_ v3Older Disputes API v3: list disputes.
klarna_respond_ to_ dispute_ v3Older Disputes API v3: answer Klarna's evidence request.
klarna_upload_ dispute_ attachment_ v3Older Disputes API v3: upload one evidence file.
klarna_create_ card_ promisePromise a virtual card for an order, for merchants settling Klarna orders with virtual cards.
klarna_create_ card_ settlementIssue the funded virtual card for a completed order.
klarna_get_ card_ order_ cancellationGet the status of a virtual card order's cancellation request.
klarna_get_ card_ promiseGet a virtual card promise.
klarna_get_ card_ settlementGet a virtual card settlement.
klarna_get_ card_ settlement_ by_ orderGet the virtual card settlement for an order.
klarna_request_ card_ order_ cancellationAsk for a virtual card order to be cancelled.
klarna_create_ hosted_ payment_ pageCreate a Klarna-hosted payment page for an existing payment session, and get its redirect_url.
klarna_send_ hosted_ payment_ pageSend a hosted payment page's link to a customer by email or SMS.
klarna_get_ in_ store_ distributionCheck an in-store payment's status (WAITING, DISTRIBUTED, ACCESSED, COMPLETED, CANCELED, FAILED), with its QR code and payment link, and order_id once paid.
klarna_retry_ in_ store_ distributionSend a failed in-store payment again, when klarna_get_in_store_distribution says FAILED with retryable true.
Credentials off one Klarna screen, then an endpoint your client signs into. Nothing to deploy, and nothing to install.
In the Klarna Merchant Portal, open Settings, then Klarna API keys, and select Generate new Klarna API key. Klarna shows the key once, so download it. Open Klarna in PopMCP, paste the key and connect. PopMCP works out whether it is live or playground and which region it belongs to, so there is nothing else to fill in.
••••••••••••3f7aK123456_abcdefgCaptures, refunds, cancellations, customer token charges and dispute decisions take effect the moment the AI calls them, and on a live key they move real money, so ask it to confirm first. New connections start read-only until an owner or admin allows writes in PopMCP, because a Klarna key has no read-only setting of its own. Amounts with decimals and card numbers are refused before anything is sent.
Drop the PopMCP URL into Claude, ChatGPT, Claude Code, Codex or any other supported client. It signs in through PopMCP with OAuth, so your Klarna credential never leaves the server.
app.popmcp.com/mcpAsk for something harmless before the agent changes anything. Writes run as soon as it calls them, so confirm it reads the right account first.
What can still be captured or refunded on this order?
klarna_get_orderok
Then just ask for the work
“What can still be captured or refunded on this order?”
“Refund SEK 150 on this order and tell me what is left to refund”
“Which disputes are waiting on me, and when are they due?”
“Answer this dispute with the attached proof of delivery”
“Break down last month's payouts and list the fees on the biggest one”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Customize → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting Klarna behind an AI client.
No. A merchant admin generates an API key under Settings, Klarna API keys in the Merchant Portal, and pastes it into PopMCP. If you have an older username and password from Klarna, they work too: put the username under More options.
Yes. Klarna reviews a business before opening a live merchant account, and the keys come from that account's Merchant Portal. To try things first, make a test account at portal.playground.klarna.com and use its key.
The key decides. One starting klarna_live_ works on real orders, and one starting klarna_test_ works on Klarna's playground, with no real money. PopMCP also finds the region, Europe, North America or Oceania, and the AI can read all of this from the connection profile.
No, because Klarna has no API to list or search orders. It works from an order id you give it, from your store or the Merchant Portal. Settled orders can also be found through payout transactions, and disputed ones through the dispute list.
Only if you allow it. New connections start read-only. Once writes are on, captures and refunds are real, so ask it to confirm first. Each one carries an idempotency key, so a retry does not act twice.
No. Klarna Checkout is now Kustom Checkout, run by Kustom with its own accounts and API. Orders you already have in Klarna can still be managed here. Klarna Payments, the Hosted Payment Page and in-store payments are all covered.
The Disputes API has to be turned on once for your merchant id, which the AI can do with a write action. Accounts still on an older version can use the v3, v2 and v1 tools, which are available through search.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server: Claude Desktop, Claude Web, Claude Code, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Connect Klarna in PopMCP first, then run claude mcp add --transport http popmcp https://app.popmcp.com/mcp in a terminal. Inside Claude Code, run /mcp and sign in to PopMCP in the browser window it opens, ticking Klarna on the consent screen. The Klarna tools are then available in that session, and no Klarna credential is stored on your machine.
Loading 72 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 38-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. Every tool stays searchable, and on Scale the owner can load the full catalog for a teammate's connection.
A tool is something your AI calls, and there are 72 here. A trigger is something PopMCP watches for you: 4 Klarna events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into Klarna.
Launch a hosted MCP endpoint for Klarna, keep tool access under control, and start testing real workflow prompts right away.