CRM & échéancier
Branchez Spirit Pay sur votre CRM (Odoo, EspoCRM, logiciel sur mesure) : solde à distance, mensualités, webhooks et e-mails modulaires.
Briques modulaires
POST https://api.spiritpay.fr/api/crm/pay-balance : solde restant, lien Bridge direct. Options : sendEmail, successUrl, cancelUrl.
POST https://api.spiritpay.fr/api/crm/payment-plan : N mensualités, Smart Dashboard ?channel=crm, programmation multi-dates selon banque. Pas de successUrl : retour post-Bridge sur l’échéancier Spirit Pay.
sendEmail / sendWelcomeEmail : ou distribuez vous-même paymentLink / payerDashboardUrl.
Webhooks payment.executed, payment.scheduled, polling GET /crm/orders/:ref/status.
POST https://api.spiritpay.fr/api/crm/open-opportunity : le client choisit le montant sur le Smart Dashboard ?channel=crm. Paiements partiels illimités jusqu'au solde. Webhook enrichi avec amount_paid_cumulative, remaining_balance, commercial_name. Champs commercial optionnels sur tous les modes CRM. Filtre marchand : GET /developers/transactions?commercialName=....
Commerciaux — suivi des ventes
Sur solde 1×, échéancier et paiement libre : commercialName, commercialId et commercialEmail sont optionnels. Le CRM peut les envoyer si un vendeur est assigné ; l’entreprise peut aussi les omettre ou les passer à la main.
- L’admin filtre les transactions par nom (?commercialName=…) ou ID CRM (?commercialId=…), et crée les accès dans Commerciaux si besoin.
- Affilier un commercial n’est pas obligatoire pour encaisser. La connexion commercial (sous-compte) est un plus pour le suivi des ventes — géré côté entreprise, indépendamment du CRM.
- 2FA e-mail activable par commercial (onglet Commerciaux, coché par défaut). Connexion : e-mail + mot de passe, puis code sur nouvel appareil. Session limitée (vue d’ensemble + transactions).
Page de retour après paiement
Deux parcours complémentaires : vous configurez le retour navigateur pour le solde 1× ; l’échéancier reste sur le Smart Dashboard Spirit Pay.
- Solde 1× (pay-balance) : successUrl / cancelUrl optionnels (HTTPS + sig HMAC). Sinon fallback /payment-success Spirit Pay.
- Échéancier (payment-plan) : pas de successUrl : retour post-Bridge sur payerDashboardUrl (?channel=crm). Le client voit ses mensualités restantes et peut en programmer d’autres.
- Mise à jour CRM : webhooks payment.executed / payment.scheduled (source de vérité). Page « Merci » custom dans votre CRM = déclenchée sur webhook, pas sur retour Bridge.
Rediriger vers le CRM après chaque mensualité ferait perdre le fil au client (échéances restantes, programmation partielle, horizon 60 j).
Relances automatiques (échéancier)
- J-3 : rappel avec date d’échéance + lien échéancier (programmer ou payer).
- Jour J : e-mail « payer maintenant » si toujours en attente.
- J+1 à J+3 : relances automatiques post-échéance.
Désactivables côté client si vous gérez vous-même les relances. Les webhooks restent la source de vérité pour le statut payé.
Checklist d’installation
- Créer une clé API (test puis live) avec accès CRM.
- Configurer l’URL webhook + secret (événements payment.executed et payment.scheduled).
- Décider qui envoie les e-mails (sendEmail / sendWelcomeEmail true ou false).
- Solde 1× : optionnel successUrl / cancelUrl vers votre portail (sinon page Spirit Pay).
- Échéancier : distribuer payerDashboardUrl (?channel=crm), pas de successUrl, synchro via webhooks.
- Tester en sandbox, puis activer en production.
Module Odoo CRM (référence)
Module spirit_pay_crm fourni pour opportunités CRM : acompte boutique, boutons payer 1× / échéancier, réception webhook.
- Module
spirit_pay_crm: opportunités, wizard échéancier, webhook entrant. - Prérequis :
spirit_pay_odoo, clé API + URL webhook dans les paramètres Odoo. - Bouton Synchroniser : rattrapage via
GET /crm/orders/:ref/status.
CRM sur mesure
Toute stack HTTP peut appeler POST /api/crm/pay-balance et POST /api/crm/payment-plan. Référence : dossier integrations/crm-demo/ du dépôt. Composez uniquement les briques dont vous avez besoin.