Pay Links
Créez et gérez des pay links pour générer des devis et permettre aux collectivités de les accepter en ligne.
Créer un pay link
/v1/pay-linksCréer un nouveau pay link avec son devis associé
✨ Client info optionnel : Si vous ne fournissez pas les informations client, le SIRET sera demandé au client lors du checkout. Si vous les fournissez, le checkout commencera directement à l'étape du devis.
🔍 Vérification Chorus Pro : Si un SIRET est fourni et que vous avez configuré l'intégration Chorus Pro, le SIRET sera automatiquement vérifié sur Chorus Pro. La structure doit être active, sinon la création sera bloquée avec un message d'erreur.
💡 En mode test, cette vérification est désactivée pour faciliter les tests.
Paramètres
descriptionrequisDescription du devis (string, 1-500 caractères)
client_infooptionnelInformations du client (object). Si non fourni, le SIRET sera demandé au checkout.
- •
siret: Numéro SIRET (string 14 caractères, optionnel) - •
name: Nom de la collectivité (string, requis si SIRET fourni, sinon optionnel) - •
address: Adresse complète (string, requis si SIRET fourni, sinon optionnel) - •
email: Email de contact (string, optionnel)
⚠️ Si un SIRET est fourni, name et address deviennent obligatoires
itemsrequisLignes du devis (array, min 1 item)
- •
description: Description de la ligne (string, requis) - •
quantity: Quantité (number > 0, requis) - •
unit_price: Prix unitaire HT (number > 0, requis) - •
vat_rate: Taux de TVA en % (number 0-100, optionnel, défaut: 20)
metadataoptionnelDonnées personnalisées (object, max 50 clés)
expires_atoptionnelDate d'expiration (ISO 8601, par défaut +30 jours)
terms_template_idoptionnelID du modèle de conditions (number) à afficher lors de l'engagement. Si non fourni, le modèle par défaut pour les pay links est utilisé.
test_modeoptionnelActiver le mode test (boolean, défaut: false)
En mode test :
- • La vérification Chorus Pro est désactivée
- • Aucune facture n'est créée
- • Aucun dépôt n'est effectué sur Chorus Pro
- • Le comportement est identique pour la collectivité
⚠️ Utilisez ce mode uniquement pour vos tests, jamais en production.
{
"description": "Élection représentants parents 2025",
"client_info": {
"name": "Mairie de Saint-Cloud",
"siret": "21092064000016",
"email": "finances@saintcloud.fr",
"address": "8 Place Charles de Gaulle, 92210 Saint-Cloud"
},
"items": [
{
"description": "Licence plateforme",
"quantity": 1,
"unit_price": 16.67,
"vat_rate": 20
},
{
"description": "Classes (7x)",
"quantity": 7,
"unit_price": 5.00,
"vat_rate": 20
}
],
"metadata": {
"internal_ref": "REF-2025-001",
"department": "Education"
}
}{
"description": "Élection représentants parents 2025",
"items": [
{
"description": "Licence plateforme",
"quantity": 1,
"unit_price": 16.67,
"vat_rate": 20
},
{
"description": "Classes (7x)",
"quantity": 7,
"unit_price": 5.00,
"vat_rate": 20
}
],
"metadata": {
"internal_ref": "REF-2025-001",
"department": "Education"
}
}{
"description": "Élection représentants parents 2025",
"client_info": {
"name": "Mairie de Saint-Cloud",
"siret": "21092064000016",
"email": "finances@saintcloud.fr",
"address": "8 Place Charles de Gaulle, 92210 Saint-Cloud"
},
"items": [
{
"description": "Licence plateforme",
"quantity": 1,
"unit_price": 16.67,
"vat_rate": 20
}
],
"test_mode": true
}{
"id": "pl_a1b2c3d4e5f6",
"status": "draft",
"amount": 62.01,
"amount_ht": 51.67,
"quote_number": "2025-001",
"url": "https://chorus-pay.fr/link/pl_a1b2c3d4e5f6",
"description": "Élection représentants parents 2025",
"client": {
"name": "Mairie de Saint-Cloud",
"siret": "21092064000016",
"email": "finances@saintcloud.fr",
"address": "8 Place Charles de Gaulle, 92210 Saint-Cloud"
},
"items": [
{
"description": "Licence plateforme",
"quantity": 1,
"unit_price": 16.67,
"vat_rate": 20,
"total": 16.67
},
{
"description": "Classes (7x)",
"quantity": 7,
"unit_price": 5.0,
"vat_rate": 20,
"total": 35.0
}
],
"metadata": {
"internal_ref": "REF-2025-001",
"department": "Education"
},
"test_mode": false,
"chorus_config": {
"idStructureCPP": 26346724,
"parametres": {
"numeroEJDoitEtreRenseigne": false,
"codeServiceDoitEtreRenseigne": false,
"gestionNumeroEJOuCodeService": false
},
"informationGenerales": {
"raisonSocialeStructure": "Mairie de Saint-Cloud",
"identifiantStructure": "21092064000016"
},
"servicesActifs": [
{
"idService": 10693219,
"codeService": "FACTURES_PUBLIQUES",
"libelleService": "Service des factures publiques",
"dateDbtService": "2025-11-04 16:37",
"estActif": true
},
{
"idService": 10693220,
"codeService": "SERVICE_PUBLIQUE_1_97395107368257",
"libelleService": "Label_SERVICE_PUBLIQUE_1_97395107368257",
"dateDbtService": "2025-11-03 16:37",
"estActif": true
}
]
},
"created_at": "2025-10-25T10:30:00.000Z",
"updated_at": "2025-10-25T10:30:00.000Z",
"expires_at": "2025-11-24T10:30:00.000Z"
}{
"error": {
"type": "invalid_request",
"message": "Cette structure n'est pas active sur Chorus Pro"
}
}Lister
/v1/pay-linksLister tous les pay links avec pagination
Paramètres de query
statusFiltrer par statut (draft, sent, accepted, expired, etc.)limitNombre de résultats (défaut: 10, max: 100)cursorCurseur pour la paginationGET /v1/pay-links?status=sent&limit=10{
"data": [
{
"id": "pl_a1b2c3d4e5f6",
"status": "sent",
"amount": 62.01,
"amount_ht": 51.67,
"quote_number": "2025-001",
"url": "https://chorus-pay.fr/link/pl_a1b2c3d4e5f6",
"description": "Élection représentants parents 2025",
"client": {
"name": "Mairie de Saint-Cloud",
"siret": "21092064000016",
"email": "finances@saintcloud.fr"
},
"test_mode": false,
"created_at": "2025-10-25T10:30:00.000Z",
"sent_at": "2025-10-25T11:00:00.000Z",
"accepted_at": null,
"expires_at": "2025-11-24T10:30:00.000Z"
}
],
"has_more": true,
"next_cursor": "cursor_xyz123"
}Récupérer
/v1/pay-links/:idRécupérer un pay link spécifique
{
"id": "pl_a1b2c3d4e5f6",
"status": "accepted",
"amount": 62.01,
"amount_ht": 51.67,
"quote_number": "2025-001",
"url": "https://chorus-pay.fr/link/pl_a1b2c3d4e5f6",
"description": "Élection représentants parents 2025",
"client": {
"name": "Mairie de Saint-Cloud",
"siret": "21092064000016",
"email": "finances@saintcloud.fr",
"address": "8 Place Charles de Gaulle, 92210 Saint-Cloud"
},
"items": [
{
"description": "Licence plateforme",
"quantity": 1,
"unit_price": 16.67,
"vat_rate": 20,
"total": 16.67
},
{
"description": "Classes (7x)",
"quantity": 7,
"unit_price": 5.0,
"vat_rate": 20,
"total": 35.0
}
],
"pdf_url": null,
"purchase_order_url": null,
"metadata": {
"internal_ref": "REF-2025-001",
"department": "Education"
},
"test_mode": false,
"created_at": "2025-10-25T10:30:00.000Z",
"updated_at": "2025-10-25T10:30:00.000Z",
"sent_at": "2025-10-25T11:00:00.000Z",
"accepted_at": "2025-10-25T14:30:00.000Z",
"rejected_at": null,
"expires_at": "2025-11-24T10:30:00.000Z"
}Statuts des Pay Links
| Statut | Description |
|---|---|
draft | Créé mais pas encore envoyé au client |
sent | Envoyé au client, en attente d'acceptation |
accepted | Accepté par le client, bon de commande généré |
rejected | Refusé par le client |
expired | Expiré ou annulé |