Enregistrer un encaissement hors-PSP (espèces / chèque / carte TPE — NE PAS utiliser pour les paiements PSP gérés par payment.captured)
const url = 'https://example.com/v1/folios/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/settlements';const options = { method: 'POST', headers: { 'Idempotency-Key': 'example', 'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json' }, body: '{"method":"cash","amount":{"amountCents":"12000","currency":"EUR"},"paymentReference":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/v1/folios/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/settlements \ --header 'Content-Type: application/json' \ --header 'Idempotency-Key: example' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "method": "cash", "amount": { "amountCents": "12000", "currency": "EUR" }, "paymentReference": "example" }'⚠️ Ce canal est EXCLUSIVEMENT réservé aux encaissements manuels (espèces, chèque, TPE non-PSP). Les paiements carte passant par un PSP intégré arrivent via l’event payment.captured (couture asynchrone) → NE PAS doubler avec cet endpoint.
Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Path Parameters
Section intitulée « Path Parameters »Identifiant du folio
Header Parameters
Section intitulée « Header Parameters »Clé d’idempotence OBLIGATOIRE (8–200 car.) — anti-double-encaissement
Request Body required
Section intitulée « Request Body required »Encaissement hors-PSP. Montant en centimes (bigint string). method : cash | card | transfer | cheque. businessDate dérivée côté SERVEUR (ADR-00D78) — ne pas envoyer.
object
Example
cashobject
Montant en centimes (bigint string)
Example
12000Référence opaque (n° reçu, chèque) — jamais données carte (PCI SAQ A)
Responses
Section intitulée « Responses »Encaissement enregistré
object
object
object
Montant en centimes (bigint sérialisé en string)
Example
{ "data": { "amount": { "amountCents": "12000", "currency": "EUR" } }}Corps ou paramètres invalides
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Non authentifié
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Permission refusée ou périmètre fiscal non vérifiable
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Ressource introuvable
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}Folio non-open, devise incompatible, montant invalide ou businessDate non résolvable
object
Code machine de l’erreur
Message lisible
Origine domaine de l’erreur (optionnel)
object
Identifiant de corrélation pour le support
Example
{ "code": "RESERVATION_NOT_FOUND", "message": "Réservation introuvable", "status": 404}