====== Payment ====== payment.minet.net est un service destiné aux adhérents. Il leur permet de cotiser en ligne. Le serveur possède deux IP: 192.168.102.13 157.159.40.10 L'application est composée d'un frontend fait avec Angular et d'un backend fait sous python(Flask). D'autre part, nous utilisons la solution [[https://stripe.com/fr|Stripe]] pour gérer les transactions. Elle à l'avantage d'être très simple à mettre en œuvre et d'avoir des tarifs plutôt bas. Il est donc évident qu'il faut lire la doc de l'API Stripe avant de commencer et en particulier la doc sur les paiements ''Checkout'' (https://stripe.com/docs/payments/checkout). Finalement, les transactions réussies sont envoyées sur [[https://imagine.minet.net/pad/p/Cotisations | ce Pad]]. ====Maintenance==== Pour voir l'état des services utilisez : $ service backend-pay status Si il y a un problème : $ service backend-pay restart Il y a plusieurs entrées pour l'application dans le DNS. - payment.minet.net => correspond au site web et à l'interface graphique - paymentback.minet.net => correspond au backend. Très important, c'est ici que l'API Stripe renvoie les codes pour prévenir qu'une transaction s'est bien déroulée (ou pas). ====Modification==== Pour modifier l'application il faut modifier le dépôt git. Une CI/CD est implémentée ce qui permet de vérifier et déployer automatiquement vos modifications. Il n'y a rien à toucher sur le CT à part pour débuger. ====Configuration==== Vous trouverez la clé privée de l'API côté serveur sur le CT dans /etc/environment. La clé publique côté frontend est directement accessible dans le code Angular. ====Mise à jour==== Contrairement à d'autre services, la mise à jour est plutôt simple, pensez quand même à lire les changelogs Stripe avant, histoire d'être sûr qu'il n'y a rien d'autre à faire : $ apt-get update $ apt-get install stripe __**Pensez également à garder les modules Python et les paquets NPM à jour.**__ ====Informations complémentaires==== - Stripe dispose d'une interface web permettant de suivre et de voir les différents paiements effectués. - Pensez à demander les accès au Trésorier et à mettre à jour les informations sur le site web Stripe. ====TODO==== - Gestion des données utilisateurs avec les metadata. - Amélioration de l'interface graphique qui est un peu moche. - Intégration à ADH6.