Skip to main content

Create a customer

The following guide describes how you can create company or individual customer accounts on the BVNK platform.

Partner is a business that BVNK onboards that via a technical integration will embed some elements of our product into their platform.

Customer is both the partner's customer (business or individuals) and BVNK's customer. BVNK provides payment services to the customers.

Once a customer is created, we initiate verification. You can then retrieve the customer object or listen to webhooks to track the status change.

Prerequisites

  • Collect and validate customer data (IDs, address proofs, and so on) before creating the customer. This is crucial for a smooth KYC/KYB flow.
  • Remember to obtain the verified reference from the signed agreement session and include it in the request payload as the signedAgreementSessionReference field. This ensures the agreements are correctly linked and recognized in your new customer creation and onboarding.
  • Learn about required compliance documents for company and individual customers and add them for your customer.

Add a customer

This step allows the creation of a new customer on the BVNK platform to whom wallets can be assigned. For example, if your company is a financial institution that services businesses, you would first need to add the customer under the My customer section of the BVNK platform. This will facilitate your customer's execution of payments via BVNK through your platform.

To add a customer:

Select a type of customer you want to create:

Use this endpoint to create a business or company customer. You can associate multiple beneficial owners, controlling persons, and signers (often referred to collectively as "associates").

To create a customer type: Company, send the POST /platform/v1/customers request. For the detailed request body parameters, see the Create customer endpoint.

Upon a successful response, you receive a unique customer reference for tracking the verification status.

{
"reference": "b0ef182b-202d-4365-b69d-98dcb225fd62",
"status": "INFO_REQUIRED",
"infoRequired": {
"questionnaireCodes": ["financialServicesQuestionnaireFull"]
}
}
AttributeTypeDescription
referencestringA unique identifier for the customer.
statusstringThe current status of the customer. Possible values include:
INFO_REQUIRED – customer information is needed for verification. Note that in this case, the code for a related questionnaire is sent. For more information, see Retrieve Compliance Data
PENDING – pending customer verification
VERIFIED – customer has been verified
REJECTED – verification has been unsuccessful.

Update customer details

To update the information of a specific customer, send the PUT /platform/v1/customers/{customerReference} with the {customerReference} specified in the path.

In the request body, you can specify the following fields:

  • contactInfo: Contact information (email and phone).
  • address: Address details.
  • dateOfBirth: Customer's date of birth.
{
"contactInfo": {
"emailAddress": "customer@example.com",
"phoneNumber": "+1234567890"
},
"address": {
"addressLine1": "123 Main Street",
"addressLine2": "Apartment 456",
"postalCode": "NW1 4NP",
"city": "London",
"countryCode": "GB",
"country": "Great Britain",
"stateCode": "AL"
},
"dateOfBirth": "1990-01-15"
}

Customer webhooks

To get notified when the status of the customer changes, listen to the following webhooks:


What's next?

Was this page helpful?