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.