Last updated

B2B, business to business


This page details the integration and implementation of Kustom Checkout (KCO) for Business-to-Business (B2B) transactions.

How it’s done

KCO can be configured for B2B in Austria, Finland, Germany, the Netherlands, Norway, and Sweden.

Billie as a B2B payments provider

Billie provides Buy Now, Pay Later (BNPL) payment methods for business customers. Billie B2B for KCO is available in Austria, Germany, the Netherlands, and Sweden.

KCO as a B2B payments provider

B2B for KCO is available in Finland and Norway.

Prerequisites

  • KCO is implemented.
  • Your e-store ID is enabled for B2B by KCO (available in Sweden, Norway, and Finland).

How it works

The B2B flow for KCO uses the same underlying logic and API as the B2C flow. Merchants can reuse their existing integration, making the necessary changes described in the implementation flow.

A separate user flow is introduced for business customers, allowing them to switch between B2C and B2B flows during checkout. The B2B flow requires organization details, such as an organization number. Shipping and billing addresses can be configured separately. Invoice and card payments are available. Recurring orders are supported. Different terms can be provided for the B2B flow by supplying a separate link, otherwise the default B2C terms are used.

Implementation flow

Step 1 - Configure the checkout

Before loading the checkout, configure options for the B2B flow.

1a. Enable B2C/B2B flow choice

Configure the allowed_customer_types option in the checkout order to include both "person" and "organization".

"options": { "allowed_customer_types": ["person", "organization"] }

1b. (Optional) Render B2B flow by default

Optionally render the B2B flow by default, setting the customer.type field to "organization".

"customer": { "type": "organization" }

1c. (Optional) Prefill organization number

Optionally prefill the organization number with the organization_registration_id field.

"customer": { "type": "organization", "organization_registration_id": "556036-0793" }

1d. (Optional) Set specific B2B terms

Use the merchant.organization_terms_uri field to provide separate terms for the B2B flow. If not set, the default B2C terms are used.

"merchant.organization_terms_uri": { "your URI string" }

Step 2 - Load the checkout

Load the checkout as usual. The customer can switch between B2C and B2B flows.

Step 3 (Optional) - Listen for customer interaction events

Subscribe to the load event to receive customer data and flow type before the order is placed.

_klarnaCheckout(function(api){  
    api.on({  
        load: function(data){  
            console.info(data)  
        }  
    })  
})

The shipping_address_change event can also be used for similar purposes.

Step 4 - Parse organization address details

Handle the push POST request when the customer places the order. The customer.type field in the order will identify whether the order was placed by an organization or a person.

"customer": {  
    "type": "organization", // optionally, this could be set to "person"  
    "organization_registration_id": "556036-0793"  
},

The billing_address will potentially include additional fields for organization details (e.g., organization_name, reference).

Note: Contact Kustom to enable B2B support for your e-store ID before going live.