Echange des KEY Stripe test --> live

si je change mes KEY Stripe dans une version Socker de l’installation (branche master) du fichier fabmanager/config/env
Quelles sont les opérations à faire ensuite ?
Un simple docker restart fabmanager ne semble pas suffisant.

Ceci n’est pas du tout supporté !
Les clefs Stripe, comme l’ensemble des variables d’environnement, devraient être configurés avec soin avant le 1er lancement de l’instance fab-manager puis n’être plus jamais modifiées.

Dans le cas des clefs d’API Stripe, les utilisateurs créés sur ton fab-manager sont également créés côté Stripe pour permettre le paiement par CB. L’identifiant « stripe » de ces utilisateurs est sauvegardé dans ta base de données fab-manager. Si tu changes tes clefs d’API Stripe, ces identifiants ne vont tout simplement plus trouver de correspondance sur Stripe …

Tes seules options sont, soit de réinitialiser complètement ta base de données avec :

rake db:drop
rake db:setup

Soit de créer une nouvelle base et de modifier la configuration dans database.yml en accord avec cette nouvelle base pour que le fab-manager l’utilise.

Pour compléter : en cas de modification d’une variable environnement ou d’une configuration nginx, il est nécessaire de relancer les containers docker (suppression, re-création), un restart n’étant pas suffisant.

ok, si j’ai bien compris :

  • si on ajoute manuellement des utilisateurs sur Stripe, ils ne seront pas ajoutés dans fabmanager.
  • si on réinstalle fabmanager (avec destruction de la DB) les nouveau utilisateurs (et l’utilisateur admin@toto.fr) ajouté sur le site seront recréées sur Stripe, même si ils existe déjà
    • Une évolution à ce sujet serait souhaitable pour éviter les doublons (même adresse mail) coté Stripe.
    • Cela permettrait aussi de gérer les personnes qui se supprime du site, puis se réabonne (avec la même adresse mail)
      En effet quitte a être dépendant de Stripe, autant utiliser leurs données comme référence sur les comptes bancaires)
  • si on change de serveur SMTP, ou lors de la mise en place de la future fonctionnalité lié a la nouvelle variable FACEBOOK_APP_ID= apparue dans la dev, il faut recréer le conteneur fanmanager (sans supprimer la DB)

Hello

OUI, il faut donc éviter cela.

Ce n’est pas vraiment simple de gérer ce type de cas, d’autant qu’en réalité, on ne s’amuse pas à vider une base de données de Production, et donc on ne peut pas se retrouver avec des doublons.
En phase de test, il faut bien sûr utiliser des clés Stripe différentes via l’environnement de test proposé par Stripe.
Concernant la suppression d’un compte utilisateur : en réalité, le compte n’est pas supprimé mais désactivé.
Nous allons probablement dans une prochaine release, ajouter la possibilité à un utilisateur de réactiver son compte fabmanager, il disposera alors du même id stripe (pas de doublon).

Oui, si il y a un changement dans le fichier env, il faut absolument recréer le conteneur.
Pour cela, nous recommandons d’utiliser docker-compose permettant de relancer les différents container très facilement (docker-compose down et docker-compose up -d)

A+