Business to Business Integration
After fully integrating the April checkout using our direct API integration, it can now be modified to enable business to business (B2B) transactions.
If you are using April in a more conventional business to customer configuration, this section is not relevant to your integration.
Terminology
For this configuration, we will use the following terminology to identify participants in a B2B relationship:
- Merchant: The entity with a direct financial relationship with April. They have integrated (and make sales through) the April checkout. In a B2B relationship, an example merchant might be a food supplier.
- Customer: An entity making purchases from the merchant . In a B2B relationship, a customer would be another business, for example a restaurant. In the code, this entity is often represented as “organisation”.
- Delegate: An individual authorised to place orders with the merchant on behalf of the customer . An example delegate might be a chef who works at the restaurant.
B2B Merchant API Keys
As in direct integration (B2C), April will issue the merchant with two API keys:
- A secret key: used for calls from the merchant’s back-end system to April APIs.
- A publishable key: passed to the checkout on initialisation and used internally by the checkout to call select April APIs.
Customer Onboarding
In a B2B transaction, business (organisation) customers must be explicitly onboarded before they can make purchases.
This is achieved via the Upsert Customer API call
providing an Organisation
customer type .
The onboarding process produces an April system identifier for storage against the customer in the merchant’s database, for subsequent inclusion in future checkout authentication tokens. Onboarding customers is idempotent, so if the same customer is accidentally added a second time it will not create a duplicate identifier.
Customer Login and Purchases
Once a customer has been onboarded, its delegates can place orders through the April checkout after being logged in during checkout initialisation. The login process is achieved the Sign In Customer API call. This will produce an authentication token for passing to the checkout initialisation sequence.
info
Sign In Customer
has two options for organisation customers. SignInDelegateByReferenceId
type uses the merchant’s reference identifier to identify the customer,
whereas SignInDelegate
type requires the April internal customer identifier returned by the Upsert Customer
call from the on-boarding. Either option will work.
Your April checkout has now been configured to function effectively with your business customers.
In B2B checkout mode, the merchant calls the Customer Login API to get an authentication token from April.
This token is passed to the checkout initialisation in the customerToken
field along with other data pre-population fields.