Skip to Content
Libraries and SDKsNode.jsCustomer Management

Customer Management

Customers let you reuse customer identity across checkout and reserved account flows.

Create Customer

const customer = await client.customerService.create({ email: 'customer@example.com', first_name: 'Ada', last_name: 'Lovelace', phone: '08012345678', metadata: { internal_customer_id: 'cust_10045' } });

Required fields: email, first_name, last_name, and phone.

Optional fields: address, bvn, nin, dob, rc_number, company_name, incorporation_date, and metadata.

Current successful response shape:

{ "success": true, "message": "Customer created", "data": { "email": "customer@example.com", "domain": "test", "customer_code": "CUS_...", "id": 7, "created_at": "2025-01-29T16:56:49.000000Z", "updated_at": "2025-01-29T16:56:49.000000Z" } }

If the customer already exists for the same business and domain, the API returns the existing customer instead of creating a duplicate.

List Customers

const customers = await client.customerService.retrieveAll({ page: 1, limit: 20 });

Supported query fields: page and limit.

Retrieve Customer

const customer = await client.customerService.retrieveOne('CUS_...');

The route accepts either customer code or email:

GET /api/v1/customer/{email_or_code}

Update Customer

await client.customerService.update('CUS_...', { phone: '08012345678', address: '10 Example Street' });

Supported update fields: first_name, last_name, phone, nin, bvn, dob, and address.

Data Protection

Do not log BVN, NIN, or full customer payloads. Store only the identifiers needed for reconciliation, such as customer_code and your internal customer ID.

Last updated on