Skip to main content
A FossaPay customer represents an individual end user served by your business. The customer becomes the owner of customer-scoped NGN and stablecoin wallets and is isolated to the merchant that created it.
The Customers API does not create business customers. The only accepted type is individual.

Customer lifecycle

1

Create the individual

Submit the customer’s identity, contact, and residential information to POST /api/v1/customers.
2

Store the customer ID

Persist the returned FossaPay UUID alongside your own customer identifier.
3

Provision a wallet

Create an NGN wallet or stablecoin wallet using the customer UUID.
4

Retrieve and reconcile

Retrieve the customer by UUID or use the paginated list endpoint for operational search and administration.
Creating a customer does not automatically create a wallet or bank account. Wallet provisioning is a separate API operation.

Customer type

Every external customer request must include:
The field remains required for contract compatibility. Any other value is rejected with HTTP 422 before account creation begins. Do not send a business name as a customer name. Your FossaPay merchant account represents the business; records created through this API represent the individuals that business serves.

Name requirements

The external API accepts up to three personal names, with one name in each field: Use this structure:
Do not combine multiple names in one field. For example, lastName: "Michael Doe" is invalid. Each name may contain Unicode letters and combining marks. A hyphen, straight apostrophe, or typographic apostrophe may join parts of the same name. Spaces, numbers, and other punctuation are rejected. Leading and trailing whitespace is removed before validation.
There is no Business fallback in the external Customers API. Missing or invalid personal names cause the request to fail instead of substituting a business label.

Required information

The request body is allowlisted. Unknown fields are rejected rather than silently stored or forwarded.

Create a customer

An HTTP 201 response returns the FossaPay customer record:
Store data.id; wallet creation and customer-funded transfer operations require this UUID. Notice that the request field is dateOfBirth, while the response field is dob.
FossaPay currently supports production access only. This request creates a live customer record.

Data handling

FossaPay stores the customer information required to identify the individual and operate the account. During production customer creation:
  • personal names, date of birth, address, city, customer type, and country identifiers are used for account provisioning;
  • emailAddress and mobileNumber are retained by FossaPay and are not used for bank account provisioning; and
  • arbitrary or unknown request properties are rejected and are not forwarded.
Collect only information you are authorized to process. Treat customer identity and contact fields as sensitive personal data throughout your systems.

List customers

GET /api/v1/customers returns only customers owned by the authenticated merchant. Use the list endpoint for administrative search and pagination. When you already have the customer UUID, use GET /api/v1/customers/{customerId} instead.

Ownership and access

Customer operations are merchant-scoped. An API key can retrieve only customers associated with its merchant account. A UUID obtained from another merchant does not grant access to that record. Persist your own user-to-customer mapping. Do not repeatedly search by personal information to rediscover a customer ID. The public Customers API currently provides create, list, and retrieve operations. It does not expose customer update or deletion endpoints.

Errors and safe retries

Customer creation does not provide idempotency semantics. If the connection fails after submission, search your merchant’s customers using the unique email address before retrying. If no record appears but the outcome remains uncertain, retain the request timestamp and contact support instead of repeatedly submitting the same identity.

Operational checklist

  • Represent only individual end users through the Customers API.
  • Send no more than one personal name in each supported name field.
  • Set type to individual.
  • Keep email addresses unique within your merchant account.
  • Persist the returned FossaPay customer UUID with your own user ID.
  • Keep API keys and personal data out of client-side code and unnecessary logs.
  • Reconcile an ambiguous create request before retrying.
  • Create the required wallet only after customer creation succeeds.

API reference

Next steps

NGN wallets

Provision a dedicated NGN bank account for the customer.

Crypto wallets

Create a Solana wallet for SOL/USDC/USDT or a Stellar wallet for XLM/USDC.