This is the interface definition of the Klarna.mjs WebSDK.
The SDK bundles all Klarna products, Pay with Klarna, Sign-in with Klarna, and Conversion Boost products.
The Klarna.mjs follows JavaScript module approach and should be included in places where you need to have a reference to the SDK such as while rendering any components or initiating a payment flow. The script should always be loaded directly from https://js.klarna.com/web-sdk/v1/klarna.mjs, rather than included in a bundle or hosted yourself.
Klarna Web SDK can be imported directly as JS module:
<script type="module">
  const { KlarnaSDK } = await import("https://js.klarna.com/web-sdk/v1/klarna.mjs")
  const Klarna = await KlarnaSDK({ 
    "clientId": "[client-id]",
    "accountId": "[account-id]"
  })
  // Klarna SDK ready to be utilized
  // Klarna.Payment.button().mount('#payment_container')
</script>
You can also load the module dynamically when required with following approach:
<script type="module">
  async function enableKlarnaPayment() {
    const { KlarnaSDK } = await import("https://js.klarna.com/web-sdk/v1/klarna.mjs")
    const Klarna = await KlarnaSDK({ 
      "clientId": "[client-id]",
      "accountId": "[account-id]"
    })
    // Klarna SDK ready to be utilized
    // Klarna.Payment.button().mount('#payment_container')
  }
  // invoke the function when required
  enableKlarnaPayment()
</script>
Since the SDK is offered as JS a module, you can import the module directly in any JavaScript file. However, module bundlers such as webpack / rollup will try to load the library while compiling which is not possible since its loaded from a CDN and not as npm module. To avoid any errors, please use appropriate ignore mechanism for respective bundlers. For webpack, the syntax will be following:
const { KlarnaSDK } = await import(/* webpackIgnore: true */ "https://js.klarna.com/web-sdk/v1/klarna.mjs")
Klarna.js supports the following set of browsers:
You can see the full supported list here. Ensure that your usage of the SDK aligns with these browsers to guarantee full functionality.