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

A : Solde unique (1×)

POST https://api.spiritpay.fr/api/crm/pay-balance : solde restant, lien Bridge direct. Options : sendEmail, successUrl, cancelUrl.

B : Échéancier (N mensualités)

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.

C : Notifications client

sendEmail / sendWelcomeEmail : ou distribuez vous-même paymentLink / payerDashboardUrl.

D : Synchronisation CRM

Webhooks payment.executed, payment.scheduled, polling GET /crm/orders/:ref/status.

E : Paiement libre (montant au choix)

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).
Gérer les accès commerciaux

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

  1. Créer une clé API (test puis live) avec accès CRM.
  2. Configurer l’URL webhook + secret (événements payment.executed et payment.scheduled).
  3. Décider qui envoie les e-mails (sendEmail / sendWelcomeEmail true ou false).
  4. Solde 1× : optionnel successUrl / cancelUrl vers votre portail (sinon page Spirit Pay).
  5. Échéancier : distribuer payerDashboardUrl (?channel=crm), pas de successUrl, synchro via webhooks.
  6. 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.
Voir les intégrations ERP

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.