Customers
Los objetos Customer le permiten crear un perfil de cliente persistente al que puede asociar transacciones, métodos de pago, suscripciones y facturas.
Utilizar Customers le ofrece una vista consolidada de la actividad de cada cliente en su panel y permite enviar recibos automáticamente sin tener que indicar el correo electrónico en cada pago.
Puede crear PaymentIntents sin Customer (pagos anónimos), pero asociar un Customer enriquece sus datos: historial completo, métodos de pago guardados, recibos automáticos y mejor detección de fraude.
Endpoints
| Méthode | Endpoint | Description |
|---|---|---|
| POST | /customers/ | Crear un nuevo Customer |
| GET | /customers/ | Listar los Customers (paginado, filtrable) |
| GET | /customers/{id}/ | Recuperar un Customer por su ID |
| PATCH | /customers/{id}/ | Actualizar los datos de un Customer |
| DELETE | /customers/{id}/ | Eliminar definitivamente un Customer |
| GET | /customers/{id}/transactions/ | Listar las transacciones del Customer |
| GET | /customers/{id}/payment-methods/ | Listar los métodos de pago del Customer |
Esquema del objeto
Crear un Customer
Crea un nuevo perfil de cliente asociado a su App. El correo electrónico es el identificador único del Customer: dos clientes de la misma App no pueden tener el mismo correo.
emailRequisDirección de correo electrónico única del Customer dentro de su App. Se utiliza para el envío automático de recibos y como clave de deduplicación.
Si intenta crear un Customer con un correo ya existente para la misma App,
la API devuelve un error 409 Conflict: no crea un duplicado.
Utilice PATCH para actualizar un Customer existente.
nameRequisNombre completo del Customer. El backend descompone automáticamente este campo en firstname y lastname (división por el primer espacio).
El objeto devuelto expone ambos campos por separado.
Para los nombres compuestos (p. ej. “Jean-Claude” o “Madeleine Nguema Obame”), la división
se hace por el primer espacio. “Jean-Claude Ondo” → firstname: Jean-Claude, lastname: Ondo.
phoneOptionnelNúmero de teléfono en formato internacional E.164. Obligatorio para los pagos con Mobile Money asociados a este Customer.
En savoir plus
El formato E.164 empieza por + seguido del código de país y del número local
sin espacios ni guiones. Ejemplos válidos: +24177000001 (Gabón), +237612345678 (Camerún). Los formatos locales (p. ej. 077 000 001) se
rechazan.
metadataOptionnelDiccionario clave/valor para almacenar sus propios identificadores: ID de usuario de su base de datos, número de contrato, segmento de cliente, etc.
En savoir plus
Los metadatos se devuelven en todos los webhooks vinculados a este Customer. Máx. 50 claves, 500 caracteres por valor. No están indexados: no se pueden utilizar como criterio de búsqueda mediante la API.
Crear un Customer
Listar los Customers
searchOptionnelBúsqueda de texto en el correo electrónico, el nombre y los apellidos del Customer. La búsqueda es parcial (contiene) e insensible a mayúsculas y minúsculas.
En savoir plus
Ejemplo: search=madeleine devuelve todos los Customers cuyo correo,
nombre o apellidos contengan “madeleine”.
statusOptionnelFiltrar por estado. Valores: active, inactive, blocked.
orderingOptionnelOrdenación de los resultados. Campos disponibles: created_at, email, total_spent.
pageOptionnelNúmero de página (paginación por offset, empieza en 1).
page_sizeOptionnelResultados por página. Mínimo: 1. Máximo: 100.
Actualizar un Customer
Modifica uno o varios campos de un Customer existente. Todos los campos son opcionales: solo se actualizan los campos indicados.
emailOptionnelNuevo correo electrónico. Debe ser único entre los Customers de la App. Devuelve 409 si ya está en uso.
nameOptionnelNuevo nombre completo. Se vuelve a descomponer en firstname / lastname en el backend.
phoneOptionnelNuevo número de teléfono en formato E.164. Pase null para
eliminarlo.
metadataOptionnelCombinación de metadatos. Las claves existentes no mencionadas se conservan.
Pase una clave con valor null para eliminarla.
En savoir plus
Ejemplo: si el Customer tiene { "a": "1", "b": "2" } y
usted envía { "b": null, "c": "3" }, el resultado será { "a": "1", "c": "3" }.
Eliminar un Customer
Elimina definitivamente un Customer (hard delete). La acción es irreversible.
La eliminación de un Customer es permanente. Sus transacciones pasadas se conservan en los registros por razones de cumplimiento legal OHADA, pero el perfil del cliente en sí se destruye. Los PaymentIntents en curso asociados a este Customer siguen siendo válidos, pero pierden la referencia al Customer.
Buscar Customers
Actualizar un Customer
Eliminar un Customer