Question

Nous préparons actuellement la publication d’une grande application Web en développement depuis un an. Nous sommes sur le point de commencer le processus d’intégration d’ActiveMerchant pour gérer les frais d’abonnement récurrents du service.

Je suis à la recherche de conseils sur les meilleures pratiques compte tenu de nos exigences (énumérées ci-dessous), ainsi que de tout avertissement supplémentaire concernant des pièges courants ou des problèmes spécifiques auxquels je devrais accorder une attention particulière. La passerelle de paiement que nous allons utiliser est PaymentExpress , car il s'agit de l'une des rares passerelles prises en charge à facturer de manière récurrente. N'ayez aucune condition spéciale pour les sociétés opérant en dehors des États-Unis. L’activité à la base de cette application est basée au Royaume-Uni.

Les utilisateurs de l'application créent un compte avec un sous-domaine où ils peuvent accéder et personnaliser l'application et leurs données. Vous trouverez ci-dessous certaines des exigences / fonctionnalités susceptibles d’affecter le fonctionnement de la facturation:

  • Tous les utilisateurs bénéficient d'un essai de 30 jours
  • Il existe différents plans, y compris un gratuit
  • Les plans à prix plus élevé imposent de plus grandes limites sur la quantité de données (utilisateurs, projets, etc.) qu'ils peuvent avoir dans leur compte
  • La période de facturation sera mensuelle à compter de la fin du procès
  • Il y aura des réductions / codes de coupon pour obtenir un pourcentage du prix normal pendant un an sur les plans, etc.
  • La tarification du plan changera à mesure que des fonctionnalités seront ajoutées

Les obstacles spécifiques que je peux prévoir seront notamment les suivants:

  • Comment gérer le déclassement quand ils ne respectent pas les limites du plan pour les plans de niveau inférieur.
  • Comportement lorsque les cartes de crédit arrivent à expiration ou que les paiements ne passent pas (un mode lecture seule est éventuellement appliqué)
  • Lorsque les prix des forfaits changent, nous souhaitons conserver les prix des utilisateurs existants pendant une période donnée (par exemple 6 mois), puis commencer à appliquer des tarifs plus élevés. Si le prix du plan diminue, il prendra effet immédiatement.

Un autre conseil utile serait tout ce qui concerne le déroulement de l'application. Comment les formulaires de facturation doivent-ils être présentés à l'utilisateur? Quand faut-il des informations de carte de crédit? Comment les factures doivent-elles être envoyées, stockées et accessibles?

Je dois indiquer que nous prévoyons de baser une grande partie de la base de code sur la SaaSy . . SaaSy est conçu pour être utilisé en tant qu'application Rails distincte qui gère tout ce qui concerne l'inscription et la gestion des comptes. Cependant, cela ne fonctionne pas pour nous car nous n’avons jamais planifié cela depuis le début et il serait fastidieux d’adapter notre application à un tel fonctionnement. En conséquence, nous allons extraire le code et les idées de SaaSy et les intégrer à notre application, tâche nettement moins fastidieuse.

Était-ce utile?

La solution

RailsKits a un Kit de logiciel en tant que service qui devrait faire ce dont vous avez besoin. Il prend en charge les essais gratuits, la mise à niveau, le déclassement, les limites des plans, etc., et il prend en charge PaymentExpress (et quelques autres).

Je l'ai un peu recherché pour un projet que je suis en train de faire, mais je ne l'ai pas encore acheté, je ne peux donc pas en témoigner. Cependant, j’ai vu quelques articles de blog faisant l’éloge de ce kit.

Bien que le RailsKit soit relativement peu coûteux par rapport à ce qu’il vous en coûterait pour implémenter vous-même toutes ses fonctionnalités, il existe quelques versions Open Source destinées à réaliser la même chose. Celui dont je me souviens le plus vite est appelé Freemium .

EDIT: J'ai oublié de mentionner que Ryan Bates a déclaré dans son dernier Railscast que son prochain épisode ou deux traitera de la facturation récurrente, alors gardez un œil sur cela. Il fait habituellement un épisode par semaine, et les cinq qu’il a fait depuis le 22 décembre couvrent tous des paiements de types différents.

Autres conseils

Je voulais ajouter une chose: n'oubliez pas que vous n'avez pas besoin d'utiliser la fonctionnalité de facturation récurrente intégrée à la passerelle. En général, ces systèmes sont hérités et très difficiles à gérer, nous sommes gâtés dans le monde des rails.

Vous avez beaucoup plus de flexibilité lorsque vous les utilisez dans un seul but (pour facturer une carte de crédit et peut-être aussi stocker des cartes de crédit pour la conformité PCI). Ensuite, lancez votre propre facturation récurrente dans votre application rails avec un travail cron, un champ de date indiquant le moment où ils sont payés, et le montant que chaque personne paie (au cas où elle aurait utilisé un coupon), etc.

.

Un petit exemple: parfois, les gens annulent un abonnement mensuel au milieu du mois. Ils veulent s'assurer de ne pas oublier d'annuler avant le prochain paiement. La plupart des factures récurrentes de la passerelle que j'ai vues terminent instantanément le compte (ou vous envoient un message l'indiquant). En réalité, l'utilisateur a payé jusqu'à la fin du mois et devrait bénéficier de 2 semaines d'accès supplémentaires. Vous pouvez le faire si vous avez configuré votre propre facturation récurrente dans des rails, mais pas si vous utilisez la facturation récurrente de la passerelle. Juste un petit exemple.

Peepcode a un PDF à vendre (70 pages) qui détaille divers aspects du traitement des paiements et les pratiques de l’industrie. Il peut être intéressant de vérifier:

http://peepcode.com/products/activemerchant-pdf

Je suis également en train de mettre en place un site Web basé sur un abonnement et ce sont nos exigences actuelles. Ils peuvent vous aider concernant les meilleures pratiques:

  • Les utilisateurs pourront choisir l'un des les plans d'abonnement.
  • Les utilisateurs devront entrer leur nom. détails de la carte de crédit pour s'inscrire leur plan choisi.
  • Toutes les principales cartes de crédit et de débit doivent être accepté, y compris Maestro et American Express.
  • Chaque forfait aura 30 jours gratuits essai afin que les cartes de crédit des utilisateurs devraient seulement être chargé après les 30 jours période expire. Cependant, la validité des cartes de crédits doivent être vérifiées à l'heure de l'inscription.
  • Les utilisateurs recevront un courrier électronique quelques jours plus tard. avant que leur carte de crédit est débitée pour les informer qu'ils seront bientôt chargé à moins d’annuler leur Compte. S'ils annulent leur compte dans leur essai gratuit de 30 jours, leur carte de crédit ne doit pas être débitée.
  • Après toute période d'essai gratuite, les utilisateurs seront facturés à l'avance pour leur l’utilisation du système - c’est-à-dire qu’ils pré-paiement.
  • Les utilisateurs seront facturés automatiquement chaque mois pour leur plan choisi. Chaque mois, les utilisateurs recevront une envoyer un email quelques jours à l'avance pour notifier eux qu'ils seront accusés. Une fois que paiement a été effectué, les utilisateurs seront envoyé une facture montrant que leur le paiement a été reçu.
  • Les utilisateurs pourront mettre à niveau ou déclasser leurs comptes à tout moment. Lorsque les utilisateurs mettent à niveau / rétrogradent, leurs prochain abonnement sera à le nouveau taux. Les utilisateurs ne pourront que déclasser leurs comptes à un plan qui peut gérer leurs données. Pour exemple, s’ils disposent actuellement de 10 projets actifs, ils ne peuvent pas déclasser au plan de base parce que la base plan ne permet que 5 projets. Ils devra supprimer ou archiver 5 projets devant vous, ils peuvent rétrograder à la version de base.
  • Les utilisateurs pourront se connecter à leur compte. compte et changer ou mettre à jour leur détails de la carte de crédit.
  • Les utilisateurs pourront annuler leur compte à tout moment. Il n'y aura pas frais d'abonnement supplémentaires après un l'utilisateur a annulé son compte. Cependant, les utilisateurs ne seront pas remboursés pendant une partie du mois, ils ont déjà payé.
  • Toutes les parties du système de paiement doivent être 100% conforme à la norme PCI DSS; comprenant tout système tiers.
  • Le système de paiement doit prendre en charge notification automatique et nouvelle tentative de les renouvellements d'abonnement ont échoué.
  • Le système de paiement doit prendre en charge bons de réduction avec dates d'expiration.
  • Les détails de votre carte de crédit ne doivent pas être traité par ou stocké sur nos serveurs
  • ils devraient toujours être traités / stockés par notre 3ème partie partenaire de traitement des paiements. Nous ne faisons pas veulent la responsabilité de sécuriser ces détails et se conformer à règles et règlements juridiques.
  • Les utilisateurs pourront se connecter à leur compte. comptes et voir une facturation complète histoire avec dates et montants payé. Nous devrons également être capable de se connecter à un système pour voir plans de paiement client et paiement l'histoire. Ce sera essentiel pour service client.

Nous nous sommes également penchés sur http://chargify.com/ , qui pourrait permettre d'économiser beaucoup d'argent. beaucoup de temps de codage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top