---
title: "Create a Klarna PayIn"
method: POST
path: "/v2.01/{ClientId}/payins/payment-methods/klarna"
tags: ["Klarna"]
---

# Create a Klarna PayIn

`POST /v2.01/{ClientId}/payins/payment-methods/klarna`

<Note icon="fa-regular fa-circle-info"> 
**Note – Timeout after 3 hours** 

The Klarna payment session lasts 3 hours, at which point the pay-in fails automatically (result code [101109](/errors/codes/101109)) if no action has been taken by the user.
</Note>

<Note icon="fa-regular fa-circle-info"> 
**Note – Minimum amount in Production** 

In Production, the minimum accepted `DebitedFunds` amount for Klarna is `1` (regardless of currency).  
</Note>

Create a Klarna PayIn

## Path parameters

- `ClientId` string, required

## Headers

- `Authorization` string, required

## Request body

- CreateAKlarnaPayInRequest
  - `Tag` string — Max. length: 255 characters Custom data that you can add to this object.
  - `AuthorId` string, required — The unique identifier of the user at the source of the transaction.
  - `DebitedFunds` CreateAKlarnaPayInRequestDebitedFunds, required — Information about the debited funds.
    - `Currency` string, required — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer, required — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `Fees` CreateAKlarnaPayInRequestFees, required — Information about the fees.
    - `Currency` string, required — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer, required — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `CreditedWalletId` string, required — The unique identifier of the credited wallet.
  - `FlowDescriptor` FlowDescriptorRequest — Information about the Owner beneficiaries targeted by the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made ([read more](/guides/payin-beneficiaries)). If the `FlowDescriptor.Beneficiaries` is sent in the API request, then: - The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB checks. - **ALL** `UserId` values in the array must be one of: - `OWNER` whose `KYCLevel` is `REGULAR` - `PLATFORM` The pay-in `Status` becomes `FAILED` with `ResultCode` [002951](/errors/codes/002951) if at least one `FlowDescriptor.Beneficiaries.UserId` is: - `PAYER` - `OWNER` whose `KYCLevel` is `LIGHT` If the `FlowDescriptor.Beneficiaries` is not sent in the API request, then the `CreditedWalletId` holder is subject to KYC/KYB checks. This property is optional for backwards compatibility but is recommended for all pay-in flows, even when the `CreditedWalletId` holder is a `PAYER` or the same value as one of the `FlowDescriptor.Beneficiaries`.
    - `Beneficiaries` FlowDescriptorRequestBeneficiariesItems[], nullable — Max. length: 5 items The list of up to 5 Natural or Legal Users declared as beneficiaries of the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made. The pay-in also fails if the `Beneficiaries` array contains nulled objects or invalid `UserId` values.
      - `UserId` string — The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
  - `ReturnURL` string, required — Max. length: 255 characters The URL to which the user is returned after the payment, whether the transaction is successful or not.
  - `StatementDescriptor` string — Max. length: 10 characters; only alphanumeric and spaces Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the <a href="/bank-statements">Customizing bank statement references</a> article for details.
  - `Billing` CreateAKlarnaPayInRequestBilling, required — Information about the billing address. The `Billing.Address.Country` must be the same as the pay-in's `Country` parameter.
    - `FirstName` string, required — The first name of the user.
    - `LastName` string, required — The last name of the user.
    - `Address` AddressSubPropsRequired, required — The postal address.
      - `AddressLine1` string, required — The first line of the address.
      - `AddressLine2` string — The second line of the address.
      - `City` string, required — The city of the address.
      - `Region` string — Required if `Country` is US, CA, or MX. The region of the address.
      - `PostalCode` string, required — The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
      - `Country` string, required — Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats)) The country of the address.
  - `Shipping` CreateAKlarnaPayInRequestShipping — Information about the end user's shipping address. The shipping address `AddressLine1` must be formatted: - FR, UK, US: [Number][StreetName], for example: 33 Cavendish Square - Rest of EU: [StreetName][Number], for example: De Ruijterkade 7 **Caution:** Failure to follow this formatting may result in an error. If no shipping address is sent, Klarna considers it to be the same as the billing address.
    - `FirstName` string, required — The first name of the user.
    - `LastName` string, required — The last name of the user.
    - `Address` AddressSubPropsRequired, required — The postal address.
      - `AddressLine1` string, required — The first line of the address.
      - `AddressLine2` string — The second line of the address.
      - `City` string, required — The city of the address.
      - `Region` string — Required if `Country` is US, CA, or MX. The region of the address.
      - `PostalCode` string, required — The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
      - `Country` string, required — Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats)) The country of the address.
  - `LineItems` CreateAKlarnaPayInRequestLineItemsItems[], required — Information about the items purchased in the transaction. The pay-in `DebitedFunds.Amount` must equal all `LineItems` objects' ((`UnitAmount` + `TaxAmount`) - `Discount`).
    - `Name` string, required — The name of the item.
    - `Quantity` integer, required — The quantity of the item.
    - `UnitAmount` integer, required — The cost of the item, excluding tax.
    - `TaxAmount` integer — The tax amount applied to the item.
    - `Sku` string — The unique identifier of the line item.
    - `Category` string — Possible values: `DIGITAL_GOODS`, `PHYSICAL_GOODS`, `DISCOUNT`, `SHIPPING_FEE`, `SALES_TAX`, `GIFT_CARD`, `STORE_CREDIT`, `SURCHARGE` The category of the item, allowing line items of different types to be distinguished (for example, buyer protection as `DIGITAL_GOODS`).
    - `Discount` integer — The discount applied to the item.
  - `Country` string, required — Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats)) The country of residence of the user.
  - `Culture` string — Format: Two-letter language code ([ISO 639-1 alpha-2](/api-reference/overview/data-formats)) The language in which the Klarna payment page is to be displayed. The `Culture` must match the `Country` to show the checkout page in the desired language. If not, or if `Culture` is not sent, EN is the language by default.
  - `Email` string, required — Format: A valid email address The user's email address.
  - `Phone` string — Format: International E.164 standard (preceded by plus sign and country code) The user's mobile phone number. If the phone matches the user's Klarna account, their checkout experience involves one less step.
  - `AdditionalData` string — Format: Serialized JSON object The extra merchant data required by Klarna for the transaction, as described in the <a href="https://mangopay.com/docs/concepts/payments/payment-methods/klarna" target="_blank">Klarna</a> guide.
  - `Reference` string, required — The platform's order reference for the transaction.
  - `ProfilingAttemptReference` string — The unique reference generated for the profiling session, used by the <a href="/guides/fraud-prevention">fraud prevention</a> solution to produce recommendations for the transaction using the profiling data. **Note:** Parameter not returned by the API. Profiling feature available on request – contact Mangopay <a href="https://hub.mangopay.com/" target="_blank">via the Dashboard</a> for more information.

## Response `200`

Success

- KlarnaPayInResponse — A Klarna pay-in: - `PaymentType` – `KLARNA` - `ExecutionType` – `WEB`
  - `Id` string — Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details) The unique identifier of the object.
  - `Tag` string — Max. length: 255 characters Custom data that you can add to this object.
  - `CreationDate` integer — Unix timestamp (UTC) of the date and time the object was created.
  - `AuthorId` string — The unique identifier of the user at the source of the transaction.
  - `DebitedFunds` KlarnaPayInResponseDebitedFunds — Information about the debited funds.
    - `Currency` string — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `CreditedFunds` KlarnaPayInResponseCreditedFunds — Information about the credited funds (`CreditedFunds` = `DebitedFunds` - `Fees`).
    - `Currency` string — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `Fees` KlarnaPayInResponseFees — Information about the fees.
    - `Currency` string — **Allowed values:** The three-letter <a href="/api-reference/overview/data-formats" target="_blank">ISO 4217 code</a> (EUR, GBP, etc.) of a <a href="/guides/currencies" target="_blank">supported currency</a> (depends on feature, contract, and activation settings). The currency of the amount.
    - `Amount` integer — The amount of the currency in its minor unit. For example, EUR 12.60 would be represented as `1260` whereas JPY 12 would be represented as just `12`.
  - `Status` string — **Returned values:** `CREATED`, `SUCCEEDED`, `FAILED` The status of the transaction.
  - `ResultCode` string — The code indicating the result of the operation. This information is mostly used to <a href="/errors/codes">handle errors</a> or for filtering purposes.
  - `ResultMessage` string — The explanation of the result code.
  - `ExecutionDate` integer — Unix timestamp (UTC) of the date and time the status changed to `SUCCEEDED`, indicating that the transaction occurred. The statuses `CREATED` and `FAILED` return an `ExecutionDate` of `null`.
  - `Type` string — **Returned values:** `PAYIN`, `TRANSFER`, `CONVERSION`, `PAYOUT` The type of the transaction.
  - `Nature` string — **Returned values:** `REGULAR`, `REPUDIATION`, `REFUND`, `SETTLEMENT` The nature of the transaction, providing more information about the context in which the transaction occurred: - `REGULAR` – Relative to most of the transactions (pay-ins, payouts, and transfers) in a usual workflow. - `REPUDIATION` – Automatic withdrawal of funds from the platform's repudiation wallet as part of the dispute process (when the user has requested a chargeback). - `REFUND` – Reimbursement of a transaction to the user (pay-in refund), to a wallet (transfer refund), or of a payout (payout refund, only initiated by Mangopay). - `SETTLEMENT` – Transfer made to the repudiation wallet by the platform to settle a lost dispute.
  - `CreditedWalletId` string — The unique identifier of the credited wallet.
  - `CreditedUserId` string — **Default value:** The unique identifier of the owner of the credited wallet. The unique identifier of the user whose wallet is credited.
  - `FlowDescriptor` FlowDescriptorResponse — Information about the Owner beneficiaries targeted by the pay-in and its subsequent transfers, who must all be KYC/KYB verified when the pay-in request is made ([read more](/guides/payin-beneficiaries)). If the `FlowDescriptor.Beneficiaries` is sent in the API request, then: - The transaction's `CreditedWalletId` holder is disregarded in KYC/KYB checks. - **ALL** `UserId` values in the array must be one of: - `OWNER` whose `KYCLevel` is `REGULAR` - `PLATFORM` The pay-in `Status` becomes `FAILED` with `ResultCode` [002951](/errors/codes/002951) if at least one `FlowDescriptor.Beneficiaries.UserId` is: - `PAYER` - `OWNER` whose `KYCLevel` is `LIGHT` If the `FlowDescriptor.Beneficiaries` is not sent in the API request, then the `CreditedWalletId` holder is subject to KYC/KYB checks. This property is optional for backwards compatibility but is recommended for all pay-in flows, even when the `CreditedWalletId` holder is a `PAYER` or the same value as one of the `FlowDescriptor.Beneficiaries`.
    - `FlowId` string — Unique identifier of the payment flow, used by Mangopay for internal purposes.
    - `Beneficiaries` FlowDescriptorResponseBeneficiariesItems[], nullable — Max. length: 5 items The list of up to 5 Natural or Legal Users declared as beneficiaries of the pay-in, who must all be KYC/KYB verified when the pay-in request is made. The pay-in also fails if the `Beneficiaries` array contains nulled objects or invalid `UserId` values.
      - `UserId` string — The unique identifier of the Natural User or Legal User declared as a beneficiary of the pay-in.
  - `PaymentType` string — **Returned values:** `KLARNA` The payment type of the pay-in.
  - `ExecutionType` string — **Returned values:** `WEB` The execution type of the pay-in.
  - `ReturnURL` string — Max. length: 255 characters The URL to which the user is returned after the payment, whether the transaction is successful or not.
  - `RedirectURL` string — The URL to which to redirect the user to complete the payment. **Caution:** This variable URL is specific to each payment. You must rely on the returned URL in full (host, path, and queries) and not hardcode any part of it.
  - `StatementDescriptor` string — Max. length: 10 characters; only alphanumeric and spaces Custom description to appear on the user’s bank statement along with the platform name. Different banks may show more or less information. See the <a href="/bank-statements">Customizing bank statement references</a> article for details.
  - `Billing` BillingDefaultsShippingUserResponse — **Default values:** `FirstName`, `LastName`, and `Address` information of the `Shipping` object if sent, otherwise of the `AuthorId` (if address values present). Information about the billing address.
    - `FirstName` string — The first name of the user.
    - `LastName` string — The last name of the user.
    - `Address` Address — The postal address.
      - `AddressLine1` string — The first line of the address.
      - `AddressLine2` string — The second line of the address.
      - `City` string — The city of the address.
      - `Region` string — Required if `Country` is US, CA, or MX. The region of the address.
      - `PostalCode` string — The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
      - `Country` string — Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats)) The country of the address.
  - `Shipping` ShippingDefaultsBillingUserResponse — **Default values:** `FirstName`, `LastName`, and `Address` information of the `Billing` object if sent, otherwise of the `AuthorId` (if address values present). Information about the shipping address.
    - `FirstName` string — The first name of the user.
    - `LastName` string — The last name of the user.
    - `Address` AddressSubPropsRequired — The postal address.
      - `AddressLine1` string, required — The first line of the address.
      - `AddressLine2` string — The second line of the address.
      - `City` string, required — The city of the address.
      - `Region` string — Required if `Country` is US, CA, or MX. The region of the address.
      - `PostalCode` string, required — The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
      - `Country` string, required — Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats)) The country of the address.
  - `LineItems` KlarnaPayInResponseLineItemsItems[] — Information about the items purchased in the transaction. The pay-in `DebitedFunds.Amount` must equal all `LineItems` objects' ((`UnitAmount` + `TaxAmount`) - `Discount`).
    - `Name` string — The name of the item.
    - `Quantity` integer — The quantity of the item.
    - `UnitAmount` integer — The cost of the item, excluding tax.
    - `TaxAmount` integer — The tax amount applied to the item.
    - `Sku` string — The unique identifier of the line item.
    - `Category` string — Possible values: `DIGITAL_GOODS`, `PHYSICAL_GOODS`, `DISCOUNT`, `SHIPPING_FEE`, `SALES_TAX`, `GIFT_CARD`, `STORE_CREDIT`, `SURCHARGE` The category of the item, allowing line items of different types to be distinguished (for example, buyer protection as `DIGITAL_GOODS`).
    - `Discount` integer — The discount applied to the item.
  - `Country` string — Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats)) The country of residence of the user.
  - `Culture` string — Format: Two-letter language code ([ISO 639-1 alpha-2](/api-reference/overview/data-formats)) The language in which the Klarna payment page is to be displayed. The `Culture` must match the `Country` to show the checkout page in the desired language. If not, or if `Culture` is not sent, EN is the language by default.
  - `Email` string — Format: A valid email address The user's email address.
  - `Phone` string — Format: International E.164 standard (preceded by plus sign and country code) The user's mobile phone number. If the phone matches the user's Klarna account, their checkout experience involves one less step.
  - `PaymentMethod` string — The payment option chosen by the user: - Pay Now (Card) – Pay now by card. - Pay Now (Direct Bank Transfer) – Pay now by bank wire. - Pay Now (Direct Debit) – Pay now by direct debit. - Pay Now (Klarna Bank Account) – Pay now from Klarna Bank Account (select regions only, e.g. Germany). - Pay in 30 days (by card) – Pay within 30 days by card. - Pay in 30 days – Pay within 30 days against an invoice (select regions only, e.g. Germany). - Slice it (3 installments) – Pay in 3 installments. - Slice it (Financing - X installments) – Pay via financing plan, where X is the number of monthly installments (6, 12, 24, or 36). The options available to users depend on their region. **Note:** This parameter is not returned unless the `Status` is `SUCCEEDED`.
  - `AdditionalData` string — Format: Serialized JSON object The extra merchant data required by Klarna for the transaction, as described in the <a href="https://mangopay.com/docs/concepts/payments/payment-methods/klarna" target="_blank">Klarna</a> guide.
  - `Reference` string — The platform's order reference for the transaction.

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.dev/mangopay/apis/api-reference.md) · [All operations](https://skmtc.dev/mangopay/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/mangopay/api-reference/revisions/fafbd0c69654/schema)
