Project

General

Profile

TIPI / PayFIP

Ou "Titre Payable sur Internet", récemment renommé PayFip pour sa déclinaison Titre pour toutes ses déclinaisons (PayFip reprend TIPI Titre, TIPI régie et TIPI régie web-service) suite à l'ajout du paiement par prélèvement unique.

Voir https://www.collectivites-locales.gouv.fr/payfip d'où toutes les documentations sont tirées.

On se référera tout d'abord à la réglementation concernant les moyens de paiement que peuvent utiliser les régies de recette des collectivités publiques (moyens-de-paiement-regies.pdf) et dans tous les cas on mettra en place les mécanismes nécessaires pour éviter que le régisseur ne risque de commettre un délit de concussion ou ne soit redevables de sommes manquantes sur leurs deniers.

TIPI existe sous plusieurs formes:
  • TIPI/PayFip Titres qui nécessite que la collectivité utilise le système HELIOS/PESV2 pour émettre des titres de recette qui seront recouvrés par la DGFIP
  • TIPI/PayFip Régie qui offre un système de paiement par CB permettant de payer sur n'importe quel compte en banque associé à une régie classique
    • TIPI/PayFip Régie WEB-SERVICE une déclinaison du précédent qui offre des garanties supplémentaires de sécurité des échanges entre TIPI/PayFip et le SI de la collectivité

TIPI Titres / PayFip "Titre"

guide_tipi_titres_eps_site_dgfip_2016.pdf

Il y a création de références de dette dans le SI de TIPI/PayFip via le transfert des titres du SI de la collectivité à celui de la DGFIP par Helios, il n'est pas possible de payer ces dettes en plusieurs fois ou de payer une référence de titre qui n'existe pas.

Le service a été renommé PayFip avec l'ajout de la possibilité de payer par prélèvement SEPA unique, mais la mise en œuvre est identique.

Documentation :

TIPI/PayFiP Régie

TIPI/PayFiP régie propose une API HTTP un peu similaire à celles des banques, mais sans les signatures qui généralement les accompagne, et c'est un problème. Car à partir du numéro d'identification de la régie (le NUMCLI) il est à peu près possible de payer n'importe quoi, pour n'importe quel montant et cela plusieurs fois, TIPI ne conservant pas trace des transactions effectuées, ou en tout cas ne cherchant par à assurer l'unicité des paiements pour une référence de dette donnée (paramètre REFDET dans l'API). De plus ce service ne propose pas de backoffice permettant de suivre l'historique des transactions. À la place il est disponible pour le suivi :
  • à chaque paiement un ticket de paiement est envoyé au régisseur par mail (ainsi qu'à l'email déclarée pour le payeur dans l'URL de paiement),
  • chaque jour un relevé CSV de toutes les transactions est aussi envoyé au régisseur,
  • à chaque paiement une requête HTTP est envoyé au paramètre URLCL indiqué dans l'appel d'API, si cet appel échoue une première fois il est retenté pendant la nuit, mais pas plus (pas de réessaie avec attente exponentiel ad-vitam).

En cas d'utilisation il est très possible de commettre un délit de concussion le système manquant de garde-fou pour empêcher les paiements incohérents.

Documentation : https://www.collectivites-locales.gouv.fr/files/files/finances_locales/moy_paiement/PayFiP/PayFipaout2019/guide_de_mise_en_oeuvre_payfip_regie_v18_aout_2019.pdf

TIPI/PayFiP Régie Web Service

Déclinaison du précédent TIPI/PayFiP Régie Web Service propose une API SOAP appelable par le SI de la collectivité pour créer des identifiants techniques, notés « idOp » se substituant à l'ensemble des paramètres proposés dans la précédente API, il n'est alors plus possible de générer des URLs de paiement incohérentes pour payer n'importe quoi. Il propose de plus une API SOAP pour contrôler l'état de la transaction pour un « idOp » donné. Un « idOp » peut-être utilisé pour un paiement pendant 15 minutes après sa création.

Le processus normal d'utilisation sûr de ce système devrait être :
  • choix d'une dette à payer
  • vérification que la dette n'est pas déjà payée
  • vérification qu'un idOp n'a pas déjà été créé et n'a pas encore abouti (payé/annulé), si c'est le cas vérification de l'état de la transaction:
    • si payé on arrête,
    • si annulé on marque l'idOp comme annulé dans le SI local, et on continue
    • si aucune des eux, on bloque avec un message "vous avez déjà démarré un paiement à {{ heure }} veuillez attendre {{ duration }} minutes pour ré-essayer";
      • autre solution à tenter plutôt que de bloquer : relancer un paiement pour le même idop, testé ça n'est pas possible, une fois qu'un idop a été transmis à PayFiP il devient inutilisable
  • appel webservice vers PayFIP avec les références de la dette en question, ce qui doit aboutir à l'obtention d'un idOp, stockage en base du idOp lié à la dette avec un statut "en cours"
  • redirection vers l'URL de paiement suffixé de ?idOp=<idOp>

Documentation : https://www.collectivites-locales.gouv.fr/files/files/finances_locales/moy_paiement/PayFiP/PayFipaout2019/guide_de_mise_en_oeuvre_payfip_regie_web_service_v_18.0_aout_2019.pdf

WSDL : https://www.tipi.budget.gouv.fr/tpa/services/mas_securite/contrat_paiement_securise/PaiementSecuriseService?wsdl

moyens-de-paiement-regies.pdf (157 KB) Benjamin Dauvergne, 09 Feb 2019 08:39 AM

guide_tipi_regies_web_service_2016.pdf (2.93 MB) Benjamin Dauvergne, 09 Feb 2019 08:41 AM

guide_tipi_titres_eps_site_dgfip_2016.pdf (1.12 MB) Benjamin Dauvergne, 09 Feb 2019 08:46 AM

guide_tipi_regies_2016.pdf (1.1 MB) Benjamin Dauvergne, 09 Feb 2019 09:04 AM

nca2018005_-_annexe_6_-_payfip_-_guide_de_mise_en_oeuvre_site_dgfip.pdf (1.57 MB) Benjamin Dauvergne, 09 Feb 2019 09:21 AM

Guide_de_mise_en_oeuvre_PayFiP_regie_V16_Janvier_2019.pdf - Guide mise en oeuvre Payfip version janvier 2019 (2.33 MB) Pierre Cros, 14 Mar 2019 04:21 PM

Also available in: PDF HTML TXT