Processeurs de paiement – Que dois-je savoir si je souhaite accepter les cartes de crédit sur mon site Web?

Cette question parle de différents processeurs de paiement et de leur coût, mais je cherche la réponse à la question de savoir si je veux accepter les paiements par carte de crédit.

Supposons que je doive stocker les numéros de carte de crédit pour les clients, de sorte que la solution évidente consistant à faire appel au processeur de carte de crédit pour effectuer le gros du travail n’est pas disponible.

PCI Data Security , qui est apparemment la norme pour stocker les informations sur les cartes de crédit, présente de nombreuses exigences générales, mais comment les mettre en œuvre ?

Et qu’en est-il des fournisseurs, comme Visa , qui ont leurs propres pratiques exemplaires?

Dois-je avoir un access keyfob à la machine? Qu’en est-il de le protéger physiquement des pirates dans le bâtiment? Ou même si quelqu’un mettait la main sur les fichiers de sauvegarde contenant les fichiers de données du serveur SQL?

Qu’en est-il des sauvegardes? Existe-t-il d’autres copies physiques de ces données?

Astuce: Si vous obtenez un compte marchand, vous devez négocier pour vous facturer “interchange-plus” au lieu d’une tarification différenciée. Avec une tarification différenciée, ils vous factureront différents tarifs en fonction du type de Visa / MC utilisé, c.-à-d. ils vous facturent plus pour les cartes avec de grandes récompenses qui leur sont attachées. Interchange plus la facturation signifie que vous ne payez au processeur que les frais facturés par Visa / MC, plus des frais fixes. (Amex et Discover facturent leurs propres tarifs directement aux commerçants, donc cela ne s’applique pas à ces cartes. Vous constaterez que les taux d’Amex se situent dans la fourchette de 3% et que Discover peut atteindre 1%. la plage de 2%). Ce service est censé faire la négociation pour vous (je ne l’ai pas utilisé, ce n’est pas une annonce, et je ne suis pas affilié au site Web, mais ce service est grandement nécessaire.)

Cet article de blog donne un aperçu complet de la gestion des cartes de crédit (en particulier pour le Royaume-Uni).


J’ai peut-être mal posé la question, mais je cherche des astuces comme celles-ci:

  1. Utilisez SecurID ou eToken pour append une couche de mot de passe supplémentaire à la zone physique.
  2. Assurez-vous que la boîte est dans une pièce avec un verrou physique ou une combinaison de codes clés.

    Je suis passé par ce processus il y a peu de temps avec une entreprise pour laquelle je travaillais et je prévois y revenir bientôt avec ma propre entreprise. Si vous avez des connaissances techniques sur le réseau, ce n’est pas si grave. Sinon, vous feriez mieux d’utiliser Paypal ou un autre type de service.

    Le processus commence par obtenir une configuration de compte marchand et liée à votre compte bancaire. Vous voudrez peut-être vérifier auprès de votre banque, car beaucoup de grandes banques fournissent des services marchands. Vous pouvez peut-être obtenir des offres, car vous êtes déjà client, mais sinon, vous pouvez faire le tour. Si vous prévoyez d’accepter Discover ou American Express, ceux-ci seront séparés, car ils fournissent les services marchands pour leurs cartes, sans contourner ce problème. Il y a aussi d’autres cas particuliers. Ceci est un processus de demande, soyez prêt.

    Ensuite, vous voudrez acheter un certificate SSL que vous pouvez utiliser pour sécuriser vos communications lorsque les informations de carte de crédit sont transmises sur des réseaux publics. Il y a beaucoup de fournisseurs, mais ma règle générale est d’en choisir un qui soit un nom de marque d’une certaine manière. Plus ils sont connus, plus votre client a probablement entendu parler d’eux.

    Ensuite, vous voudrez trouver une passerelle de paiement à utiliser avec votre site. Bien que cela puisse être facultatif en fonction de votre taille, la majorité du temps ne le sera pas. Vous en aurez besoin d’un. Les fournisseurs de passerelle de paiement offrent un moyen de communiquer avec l’API de passerelle Internet avec laquelle vous communiquerez. La plupart des fournisseurs fournissent des communications HTTP ou TCP / IP avec leur API. Ils traiteront les informations de votre carte de crédit en votre nom. Authorize.Net et PayFlow Pro sont deux fournisseurs. Le lien que je fournis ci-dessous contient des informations supplémentaires sur les autres fournisseurs.

    Maintenant quoi? Pour commencer, il existe des directives sur ce que votre application doit respecter pour la transmission des transactions. Pendant tout le processus de configuration, quelqu’un examinera votre site ou votre application et s’assurera que vous respectez les consignes, comme l’utilisation de SSL et que vous disposez des conditions d’utilisation et de la documentation sur les informations utilisées par l’utilisateur. pour. Ne le vole pas d’un autre site. Venez avec les vôtres, engagez un avocat si vous en avez besoin. La plupart de ces choses relèvent du lien PCI Data Security fourni par Michael dans sa question.

    Si vous prévoyez de stocker les numéros de carte de crédit, vous devriez être prêt à mettre en place des mesures de sécurité en interne pour protéger les informations. Assurez-vous que le serveur sur lequel les informations sont stockées est uniquement accessible aux membres qui doivent y avoir access. Comme toute bonne sécurité, vous faites les choses en couches. Le plus de couches que vous mettez en place le mieux. Si vous le souhaitez, vous pouvez utiliser la sécurité de type porte-clés, comme SecureID ou eToken, pour protéger la pièce dans laquelle se trouve le serveur. Si vous ne pouvez pas vous permettre la route principale, utilisez la méthode des deux clés. Permettre à une personne ayant access à la pièce de signer une clé accompagnant une clé qu’elle a déjà en sa possession. Ils auront besoin des deux clés pour accéder à la salle. Ensuite, vous protégez la communication avec le serveur avec les règles. Ma politique est que la seule chose à lui communiquer sur le réseau est l’application et que ces informations sont cryptées. Le serveur ne doit être accessible sous aucune autre forme. Pour les sauvegardes, j’utilise truecrypt pour chiffrer les volumes dans lesquels les sauvegardes seront enregistrées. Chaque fois que les données sont supprimées ou stockées ailleurs, vous utilisez à nouveau truecrypt pour crypter le volume sur lequel se trouvent les données. Fondamentalement, où que soient les données, elles doivent être cryptées. Assurez-vous que tous les processus pour accéder aux données comportent des pistes d’audit. Utilisez des journaux pour accéder à la salle des serveurs, utilisez des caméras si vous le pouvez, etc. Une autre mesure consiste à crypter les informations de carte de crédit dans la firebase database. Cela garantit que les données ne peuvent être visualisées que dans votre application où vous pouvez imposer qui voit les informations.

    J’utilise pfsense pour mon pare-feu. Je l’exécute sur une carte flash compacte et dispose de deux serveurs de configuration. L’un est destiné au basculement pour redondance.

    J’ai trouvé cet article de Rick Strahl qui a énormément aidé à comprendre le commerce électronique et ce qu’il faut pour accepter les cartes de crédit via une application Web.

    Eh bien, cela s’est avéré être une longue réponse. J’espère que ces conseils vous aideront.

    Posez-vous la question suivante: pourquoi voulez-vous stocker les numéros de carte de crédit en premier lieu ? Les chances sont que vous ne le faites pas. En fait, si vous les stockez et parvenez à en avoir un volé, vous pourriez être confronté à de sérieuses responsabilités.

    J’ai écrit une application qui stocke des numéros de carte de crédit (car les transactions ont été traitées hors ligne). Voici un bon moyen de le faire:

    • Obtenez un certificate SSL!
    • Créez un formulaire pour obtenir CC # de l’utilisateur.
    • Cryptez la partie (pas toutes!) Du numéro de CC et stockez-la dans votre firebase database. (Je suggère les 8 chiffres du milieu.) Utilisez une méthode de cryptage forte et une clé secrète.
    • Envoyez le rest du numéro de CC # à quiconque traite vos transactions (probablement vous-même) avec l’ID de la personne à traiter.
    • Lorsque vous vous connecterez plus tard, vous devrez saisir l’ID et la partie envoyée par la poste du numéro de CC. Votre système peut déchiffrer l’autre partie et se recombiner pour obtenir le numéro complet afin que vous puissiez traiter la transaction.
    • Enfin, supprimez l’enregistrement en ligne. Ma solution paranoïaque consistait à écraser l’enregistrement avec des données aléatoires avant la suppression, afin d’éliminer la possibilité de suppression.

    Cela ressemble à beaucoup de travail, mais en n’enregistrant jamais un code CC complet quelque part, il est extrêmement difficile pour un pirate de trouver quelque chose de valeur sur votre serveur Web. Croyez-moi, ça vaut la tranquillité d’esprit.

    Le document PCI 1.2 vient de sortir. Il fournit un processus pour mettre en œuvre la conformité PCI avec les exigences. Vous pouvez trouver le document complet ici:

    https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

    En bref, créez un segment de réseau distinct pour les serveurs dédiés au stockage des informations CC (généralement des serveurs DB). Isolez les données autant que possible et assurez-vous que seuls les access minimums nécessaires pour accéder aux données sont présents. Cryptez-le lorsque vous le stockez. Ne stockez jamais de PAN. Purgez les anciennes données et faites pivoter vos clés de chiffrement.

    Exemple: À ne pas faire:

    • Ne laissez pas le même compte qui peut rechercher des informations générales dans la firebase database rechercher les informations CC.
    • Ne conservez pas votre firebase database CC sur le même serveur physique que votre serveur Web.
    • Ne permettez pas le trafic externe (Internet) dans votre segment de réseau de firebase database CC.

    Exemple Dos:

    • Utilisez un compte de firebase database distinct pour interroger les informations CC.
    • Interdire tout trafic sauf requirejs au serveur de firebase database CC via un pare-feu / une liste d’access
    • Restreindre l’access au serveur CC à un ensemble limité d’utilisateurs autorisés.

    J’aimerais append un commentaire non technique auquel vous voudrez peut-être réfléchir

    Plusieurs de mes clients gèrent des sites de commerce électronique, dont un couple qui possède des magasins de taille moyenne. Bien qu’ils puissent certainement choisir une passerelle de paiement, ils choisissent le numéro cc, le stockent temporairement en ligne et le traitent manuellement.

    Ils le font en raison de l’incidence élevée de la fraude et le traitement manuel leur permet de faire des vérifications supplémentaires avant de remplir une commande. On me dit qu’ils rejettent un peu plus de 20% de toutes leurs transactions – le traitement prend certes beaucoup de temps et dans un cas ils ont un employé qui ne fait que traiter les transactions, mais le coût de son salaire est apparemment inférieur à leur salaire. exposition si ils ont juste passé des numéros cc via une passerelle en ligne.

    Ces deux clients livrent des biens physiques à valeur de revente. Ils sont donc particulièrement exposés et, pour des éléments tels que des logiciels où une vente frauduleuse n’entraînerait aucune perte réelle, votre kilométrage varierait. si la mise en œuvre est vraiment ce que vous voulez.

    EDIT: Et depuis que j’ai créé cette réponse, je voudrais append une mise en garde et dire que le temps est passé et que c’était une bonne idée.

    Pourquoi? Parce que je connais un autre contact qui adoptait une approche similaire. Les détails de la carte ont été stockés sous forme cryptée, le site Web a été accédé par SSL et les numéros ont été supprimés immédiatement après le traitement. Sécurisé vous pensez?

    Aucune machine sur leur réseau n’a été infectée par un cheval de Troie enregistrant des clés. En conséquence, ils ont été identifiés comme étant à l’origine de plusieurs falsifications de cartes de crédit – et ont donc été frappés par une grosse amende.

    En conséquence, je ne conseille plus jamais à quiconque de gérer les cartes de crédit elles-mêmes. Les passerelles de paiement sont devenues beaucoup plus compétitives et rentables, et les mesures de fraude se sont améliorées. Le risque ne vaut plus la peine maintenant.

    Je pourrais supprimer cette réponse, mais je pense préférable de laisser édité comme un conte d’avertissement.

    Gardez à l’esprit que l’utilisation de SSL pour envoyer un numéro de carte depuis un navigateur vers un serveur revient à couvrir votre numéro de carte de crédit avec votre pouce lorsque vous remettez votre carte à un caissier dans un restaurant: votre pouce (SSL) empêche les autres clients du restaurant (le Net) de voir la carte, mais une fois que la carte est entre les mains du caissier (un serveur Web), la carte n’est plus protégée par l’échange SSL et le caissier pourrait faire quoi que ce soit avec cette carte. L’access à un numéro de carte enregistré ne peut être interrompu que par la sécurité du serveur Web. C’est-à-dire que la plupart des vols de cartes sur le net ne sont pas effectués pendant la transmission, ils se font en traversant une mauvaise sécurité des serveurs et en volant des bases de données.

    Pourquoi s’embêter avec la conformité PCI? Au mieux, vous réduirez une fraction de pourcent de vos frais de traitement. C’est l’un de ces cas où vous devez être sûr que c’est ce que vous voulez faire avec votre temps en développement et en respectant les dernières exigences.

    Dans notre cas, il était plus logique d’utiliser une passerelle abonnée à un abonnement et de la coupler à un compte marchand. La passerelle de sécurité des abonnements vous permet d’ignorer toute la conformité PCI et de ne faire que traiter la transaction proprement dite.

    Nous utilisons TrustCommerce comme notre passerelle et sums satisfaits de leur service / prix. Ils ont du code pour un tas de langues qui facilite l’intégration.

    Assurez-vous de maîsortingser le travail supplémentaire et le budget requirejs pour le PCI. PCI peut nécessiter d’énormes frais d’audit externe et un effort / support interne. Soyez également conscient des amendes / pénalités qui peuvent vous être imposées unilatéralement, souvent très disproportionnées par rapport à l’ampleur des «dépenses».

    Il y a beaucoup à tout le processus. La manière la plus simple de le faire est d’utiliser des services similaires à paypal, de sorte que vous ne manipuliez jamais de données de carte de crédit. En dehors de cela, il y a pas mal de choses à faire pour être approuvé pour offrir des services de carte de crédit sur votre site Web. Vous devriez probablement parler avec votre banque et les personnes qui vous ont délivré votre identifiant de commerçant pour vous aider à configurer le processus.

    Comme d’autres l’ont mentionné, le moyen le plus simple est d’utiliser Paypal , Google Checkout ou Nochex . Toutefois, si vous envisagez une activité importante, vous pouvez rechercher une «mise à niveau» vers des services d’intégration de sites de niveau supérieur tels que WorldPay , NetBanx (Royaume-Uni) ou Neteller (États-Unis) . Tous ces services sont relativement faciles à configurer. Et je sais que Netbanx offre une intégration pratique à certaines des solutions de panier telles que Intershop (car j’en ai écrit certaines). Au-delà de cela, vous envisagez une intégration directe avec les systèmes bancaires (et leurs systèmes APAX), mais c’est difficile et à ce stade, vous devez également prouver aux sociétés de cartes de crédit que vous gérez les numéros de carte de crédit en toute sécurité vous ne prenez pas 100 000 dollars par mois).

    Du premier au dernier coût, les avantages sont que les premières options sont beaucoup plus faciles (plus rapides / moins chères) à mettre en place, vous payez des frais de traitement très élevés pour chaque transaction. les derniers sont beaucoup plus coûteux à mettre en place mais vous payez moins à long terme.

    L’autre avantage de la plupart des solutions non dédiées est que vous n’avez pas besoin de sécuriser les numéros de carte de crédit cryptés. Thats le problème de quelqu’un d’autre 🙂