Sometime an order is placed on behalf of an organization, not an individual. We refer to this as the Business to Business flow, or B2B flow, for KCO. The B2B flow comes with some differences in the user experience and integration compared to the Business to Consumer flow (B2C).
KCO can be configured to support B2B in Austria, Finland, Germany, the Netherlands, Norway and Sweden.
Billie is the leading provider of Buy Now, Pay Later (BNPL) payment methods for business customers and offers innovative digital payment services for B2B companies.
Billie B2B for KCO is available for the following markets:
B2B for KCO is available for the following markets:
From an implementation point of view, B2B for KCO is utilizing the same logic and API as the regular KCO for B2C (Business to Consumer). This means you will re-use your existing KCO integration and just make the changes described in the Implementation flow below.
When enabling support for B2B you introduce a new user flow, meaning there will visually be one option for business customers and a separate option for a regular consumer in the KCO. The B2C flow is loaded as default, but you can optionally render the B2B flow by default to a known business customer.
The B2B flow for the checkout will be configured by KCO on the same e-store ID as the regular B2C KCO.
Follow these steps to enable the B2B flow in your existing KCO integration.
Before loading the checkout, you will set the relevant options to indicate that B2B should be included.
When configuring the checkout order, set the options for allowed_customer_types
to both person and organization.
By default, the regular B2C user flow will be rendered when the checkout loads. If you instead want to render the B2B flow when it loads, you can optionally set the customer.type
field to organization.
If you have the organization number available for this business, you can optionally prefill it in the checkout by setting it in the organization_registration_id
field. That way the customer will not have to enter them again in the checkout, but still has the option to change it if it is incorrect.
In order for a merchant to display their b2b and b2c terms differently it is possible to have a separate links. The terms are displayed in the same place as the b2c terms. In addition to the existing field that can be used for adding legal terms for B2C (merchant.terms_uri), a separate field called merchant.organization_terms_uri
is also available. If set, the terms from that field will be presented when the customer is in the b2b flow. If not set then the terms from merchant_uri will be used.
Create the order and render the checkout as usual. The customer should now be able to switch between the B2C and the B2B flows.
The customer starts entering the required fields in the B2B flow. The additional fields will be the organization id and an optional “Reference” field where they may for example add their name or department.
If you need to know which flow the customer is in before the order is placed, in order to for example always show the correct shipping options on your page, you may do so using our JavaScript API.
Start by subscribing to the load event.
You will now be notified about customer data including the flow type and partial shipping address before the order is placed. When the customer switches the flow, the checkout reloads and callback is triggered again.
Here is a sample of the notification from the callback
In order to listen shipping address change events before the order is placed, the relevant shipping_address_change event must be used in the same way.
The B2B customer places the order when they press the buy button. When you handle the push POST Request placed in the B2B flow, the customer object contains a type which identifies if this was an organization or a consumer (person).
If the customer.type is organization, the billing address includes potentially two additional fields called organization_name
and reference
. Note that empty fields are not returned, so if the reference was not entered by the customer, it will not be available in the response.
This was the final step.
Please note: You need to contact Klarna to enable B2B for any applicable e-store ID before going live.