How to accept payments in Iceland: developer guide
To accept payments in Iceland, sign up with a payment provider that onboards Icelandic businesses, take test payments straight away, and go live once your account is verified and a card acquirer has approved it. This guide shows how with Kling, payments for Iceland, with no code, with an AI coding tool, or through the API.
Published
What you need
- A business in Iceland, as a company or as an individual with a kennitala.
- A payment provider that serves Iceland. Stripe doesn't (see Stripe in Iceland). This guide uses Kling; the payment providers in Iceland compared guide covers the alternatives.
- For card payments, an agreement with a card acquirer, the company that processes the card payment. Kling applies to the acquirer on your behalf.
- A bank account for payouts. You keep your own bank.
- If you sell online, a few things on your website that the acquirer checks before approval, such as terms and company details. See what your website must show.
None of this is needed to start building. Test keys work the moment you sign up.
Decide how your customers will pay
| Payment method | Good for | How |
|---|---|---|
| Cards, Apple Pay and Google Pay | Web shops, one-off sales, bookings | Checkout, payment window, payment links |
| Online bank claims (kröfur) | Invoices, memberships, course fees, customers who prefer to pay through their bank | Online bank claims |
| Subscriptions, by card or by claim | Memberships, monthly plans, donations | Subscriptions |
| Card payments in person | Shops, events, markets | Kling POS, set up in the dashboard |
An online bank claim (krafa) appears in the customer's online bank, and they pay it like any other bill, without a card. It is a common way to pay in Iceland and needs no card acquirer, so claims can often be approved before card payments.
Option 1: no code
If you don't have a website, or don't want to change it:
- Sign up and open the dashboard.
- Create a payment link for a product or an amount, or a subscription link for a monthly plan.
- Send the link by email or text, put it on social media, or add it to your website as a button.
To bill through the online bank, open Rukkun í heimabanka in the dashboard, enter the customer's kennitala, the amount and the due date, and send.
Option 2: with an AI coding tool
If you build with Lovable, Bolt, Replit, v0, Cursor or Claude Code, tell the tool you are in Iceland and use Kling. Each tool has its own guide with a prompt you can paste: Lovable, Bolt, Replit, v0, Cursor, Claude Code.
For agents that work on your Kling account directly, connect the MCP server. Start with a test key so the agent can only touch test data.
Option 3: with the API
The API is at https://api.kling.is, authenticated with your secret key as a bearer token. The quickest start is the CLI, run in the root of your project:
npx @klingis/cli initIt signs you in, writes your test key to .env.local, can set up a webhook and writes a prompt file for your AI editor.
1. Create a checkout session on your server
curl -X POST https://api.kling.is/v1/checkout/sessions \
-H "Authorization: Bearer sk_test_your_key_here" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"amount": 1000,
"currency": "ISK",
"success_url": "https://example.is/thanks"
}'The response has a url. Send the customer there, or open the session in an overlay on your own page with the payment window (@klingis/embed).
2. Pay with a test card
Use 4111 1111 1111 1111 with any future expiry date and any CVC. 4000 0000 0000 0002 gives a declined payment.
3. Fulfil orders from webhooks
Don't rely on the customer's browser coming back to your site. Register a webhook and ship when payment_intent.captured arrives. That event also covers an online bank claim that has been paid, which can be days after checkout.
Things to get right from day one
- Amounts are whole krónur. ISK has no decimals, so
1000is 1.000 kr. Never multiply by 100. - Keep the secret key on your server. It must never appear in browser code.
- Send an
Idempotency-Keyon write requests, so a retry never charges twice. - Verify the webhook signature (
X-Kling-Signature) before you trust a webhook. - Test and live are separate, with separate keys and separate webhook secrets.
The full reference is in the docs, the API reference and the SDKs.
Going live
When you are ready for real payments, choose Go live in the dashboard. You give your company details, the bank account for payouts and what you sell. Kling applies to the card acquirer for you; you complete a due diligence form and sign the agreement. When a payment method is approved, create a live key (sk_live_...) and swap it in. Nothing else in your code changes.
How long it takes depends mostly on how quickly the paperwork comes in. Test mode to going live explains each step and how to speed it up.
What it costs
No setup fee and no monthly fee; you pay per payment. Card acquirer fees and the bank's cost for claims come on top. See pricing.
Questions? Write to hallo@kling.is.
More guides
- Stripe in Iceland: why it doesn't work and what to use insteadStripe doesn't work for businesses in Iceland because Iceland is not one of the countries Stripe supports, so a company registered in Iceland can't open a Stripe account. Use a payment provider that serves Icelandic businesses instead, such as Kling, which takes cards, Apple Pay, Google Pay and online bank claims (kröfur) in Icelandic krónur.
- Payment providers in Iceland compared: Straumur, Teya, Rapyd, Adyen and KlingBusinesses in Iceland take card payments either through a card acquirer such as Straumur, Teya or Rapyd, or through a payments platform such as Kling, which runs on those processors and adds checkout, subscriptions, online bank claims (kröfur) and a developer API on top. Stripe doesn't serve Iceland, and Adyen's platform product doesn't list it.