Klarna Web SDK v1
    Preparing search index...

    Interface KlarnaIdentity

    Main interface to the Identity API

    const klarna = await window.Klarna.init({
    clientId: "klarna_live_client_elZGI1B5dHBIRWcjZrNldnbEVj...",
    locale: 'sv-SE'
    });

    This is the recommended and preferred method of integration


    const siwkButton = klarna.Identity.button({
    scope: "openid offline_access profile:name",
    redirectUri: "http://localhost:3000/callback",
    })

    siwkButton.mount('#container');

    siwkButton.on("ready", async () => {
    // implement logic
    });

    siwkButton.on("click", async () => {
    // implement logic
    });

    klarna.Identity.on("signin", async (signinResponse) => {
    // implement logic
    });

    klarna.Identity.on("error", async (error) => {
    // implement error handling logic
    });
    siwkButton.unmount():
    
    <button id="merchants-custom-button">I am a custom button</button>
    
    const siwkButton = klarna.Identity.button({
    scope: "openid offline_access profile:name",
    redirectUri: "http://localhost:3000/callback",
    })

    siwkButton.attach('#merchants-custom-button');

    siwkButton.on("ready", async () => {
    // implement logic
    });

    siwkButton.on("click", async () => {
    // implement logic
    });

    klarna.Identity.on("signin", async (signinResponse) => {
    // implement logic
    });

    klarna.Identity.on("error", async (error) => {
    // implement error handling logic
    });
    siwkButton.detach():
    

    If needed you can create multiple Identity Buttons

    const siwkButton = klarna.Identity.button({
    scope: "openid offline_access profile:name",
    redirectUri: "http://localhost:3000/callback",
    })

    siwkButton.mount("#container-1")

    // SECOND BUTTON RENDERED IN THE SAME PAGE
    const siwkButton2 = klarna.Identity.button({
    // Notice, for multiple buttons we need to provide an ID
    id: 'secondIdentityButton',

    scope: "openid offline_access profile:name",
    redirectUri: "http://localhost:3000/callback",
    })

    siwkButton2.mount("#container-2")


    // Cleanup
    siwkButton.unmount()
    siwkButton2.unmount()
    interface KlarnaIdentity {
        button(id?: string): KlarnaIdentityButton;
        button(
            configuration: KlarnaIdentityButtonConfiguration,
        ): KlarnaIdentityButton;
        on(
            event: "signin",
            callback: (response: IdentitySignInResponse) => Promise<void>,
        ): void;
        on(event: "error", callback: (error: Error) => Promise<void>): void;
    }
    Index

    Methods

    Methods

    • Registers signin event handler.

      This event handler needs to be registered also on the redirect callback page to trigger handling redirect response.

      Parameters

      Returns void

    • Registers error event handler.

      Parameters

      • event: "error"
      • callback: (error: Error) => Promise<void>

      Returns void