Procesadores de pago: ¿qué necesito saber si deseo aceptar tarjetas de crédito en mi sitio web? [cerrado]

258

Esta pregunta habla sobre los diferentes procesadores de pagos y lo que cuestan, pero estoy buscando la respuesta a ¿qué debo hacer si quiero aceptar pagos con tarjeta de crédito?

Suponga que necesito almacenar números de tarjetas de crédito para clientes, de modo que la solución obvia de confiar en el procesador de tarjetas de crédito para hacer el trabajo pesado no esté disponible.

PCI Data Security , que aparentemente es el estándar para almacenar información de tarjetas de crédito, tiene un montón de requisitos generales, pero ¿cómo se implementan ?

¿Y qué hay de los vendedores, como Visa , que tienen sus propias mejores prácticas?

¿Necesito tener acceso de llavero a la máquina? ¿Qué hay de protegerlo físicamente de los hackers en el edificio? ¿O incluso si alguien tiene en sus manos los archivos de copia de seguridad con los archivos de datos del servidor SQL?

¿Qué pasa con las copias de seguridad? ¿Hay otras copias físicas de esos datos?

Sugerencia: Si obtiene una cuenta de comerciante, debe negociar que le cobren "intercambio más" en lugar de precios escalonados. Con precios escalonados, le cobrarán diferentes tarifas según el tipo de Visa / MC que se use, es decir. te cobran más por tarjetas con grandes recompensas unidas a ellas. Intercambio más facturación significa que solo paga al procesador lo que Visa / MC le cobra, más una tarifa fija. (Amex y Discover cobran sus propias tarifas directamente a los comerciantes, por lo que esto no se aplica a esas tarjetas. Encontrará que las tarifas de Amex están en el rango del 3% y Discover podría ser tan bajo como el 1%. Visa / MC está en el rango del 2%). Se supone que este servicio negociará por usted (no lo he usado, este no es un anuncio y no estoy afiliado al sitio web,

Esta publicación de blog ofrece un resumen completo del manejo de tarjetas de crédito (específicamente para el Reino Unido).


Quizás formulé mal la pregunta, pero estoy buscando consejos como estos:

  1. Use SecurID o eToken para agregar una capa de contraseña adicional al cuadro físico.
  2. Asegúrese de que la caja esté en una habitación con una combinación de cerradura física o código clave.
Michael Pryor
fuente
1
Esto ha sido desaprobado por PA-DSS 2.0.

Respuestas:

236

Pasé por este proceso no hace mucho con una empresa para la que trabajé y planeo volver a hacerlo pronto con mi propio negocio. Si tiene algún conocimiento técnico de red, realmente no es tan malo. De lo contrario, será mejor que use Paypal u otro tipo de servicio.

El proceso comienza al configurar una cuenta de comerciante y vincularla a su cuenta bancaria. Es posible que desee consultar con su banco, porque muchos de los principales bancos ofrecen servicios comerciales. Es posible que pueda obtener ofertas, porque ya es cliente suyo, pero si no, puede darse una vuelta. Si planea aceptar Discover o American Express, estos serán separados, ya que proporcionan los servicios comerciales para sus tarjetas, sin evitar esto. Hay otros casos especiales también. Este es un proceso de solicitud, prepárate.

A continuación, querrá comprar un certificado SSL que pueda usar para proteger sus comunicaciones cuando la información de la tarjeta de crédito se transmita a través de redes públicas. Hay muchos vendedores, pero mi regla general es elegir uno que sea una marca de alguna manera. Cuanto mejor se conozcan, mejor probablemente su cliente haya oído hablar de ellos.

A continuación, querrá encontrar una pasarela de pago para usar con su sitio. Aunque esto puede ser opcional dependiendo de qué tan grande sea, pero la mayoría de las veces no lo será. Necesitarás uno. Los proveedores de pasarela de pago proporcionan una manera de comunicarse con la API de pasarela de Internet con la que se comunicará. La mayoría de los proveedores proporcionan comunicación HTTP o TCP / IP con su API. Procesarán la información de la tarjeta de crédito en su nombre. Dos proveedores son Authorize.Net y PayFlow Pro . El enlace que proporciono a continuación tiene más información sobre otros proveedores.

¿Ahora que? Para empezar, hay pautas sobre qué debe cumplir su aplicación para transmitir las transacciones. Durante el proceso de configuración de todo, alguien mirará su sitio o aplicación y se asegurará de que cumpla con las pautas, como el uso de SSL y que tenga los términos de uso y la documentación de la política sobre la información que le proporciona el usuario. para. No robes esto de otro sitio. Cree el suyo propio, contrate a un abogado si es necesario. La mayoría de estas cosas caen bajo el enlace de Seguridad de Datos PCI que Michael proporcionó en su pregunta.

Si planea almacenar los números de la tarjeta de crédito, es mejor que esté preparado para implementar algunas medidas de seguridad internamente para proteger la información. Asegúrese de que el servidor en el que se almacena la información solo sea accesible para los miembros que necesitan tener acceso. Como cualquier buena seguridad, haces cosas en capas. Cuantas más capas coloques, mejor. Si lo desea, puede usar la seguridad de tipo llavero, como SecureID o eTokenpara proteger la sala en la que se encuentra el servidor. Si no puede permitirse la ruta del llavero, use el método de dos claves. Permita que una persona que tiene acceso a la habitación firme una llave, que acompaña a una llave que ya llevan. Necesitarán ambas llaves para acceder a la habitación. A continuación, protege la comunicación al servidor con políticas. Mi política es que lo único que se comunica a través de la red es la aplicación y que la información está encriptada. El servidor no debe ser accesible de ninguna otra forma. Para las copias de seguridad, uso truecryptpara cifrar los volúmenes en los que se guardarán las copias de seguridad. Cada vez que los datos se eliminan o almacenan en otro lugar, nuevamente se usa truecrypt para cifrar el volumen en el que están los datos. Básicamente, donde sea que estén los datos, deben estar encriptados. Asegúrese de que todos los procesos para acceder a los datos contengan pistas de auditoría. use registros para acceder a la sala de servidores, use cámaras si puede, etc. Otra medida es cifrar la información de la tarjeta de crédito en la base de datos. Esto asegura que los datos solo se puedan ver en su aplicación, donde puede hacer cumplir quién ve la información.

Yo uso pfsense para mi firewall. Lo ejecuto desde una tarjeta flash compacta y tengo dos servidores configurados. Uno es por conmutación por error por redundancia.

Encontré esta publicación de blog de Rick Strahl que ayudó enormemente a comprender cómo hacer comercio electrónico y lo que se necesita para aceptar tarjetas de crédito a través de una aplicación web.

Bueno, esto resultó ser una respuesta larga. Espero que estos consejos ayuden.

Dale Ragan
fuente
13
Respuesta perfecta. Espero que otros le agreguen.
Michael Pryor
3
Uno de los mejores que he visto ... +1
Frederic Morin
2
@Michael Pryor: Si es tan perfecto, ¿por qué otros deben agregarlo? ¿Eh?
donut
17
@donut: Porque el tiempo avanza y las respuestas rara vez permanecen estáticas.
Tipo anónimo
22

Hágase la siguiente pregunta: ¿por qué quiere almacenar números de tarjetas de crédito en primer lugar ? Lo más probable es que no lo hagas. De hecho, si haces almacenarlos y gestionar tener uno robado, usted podría estar buscando en algún grave responsabilidad.

He escrito una aplicación que almacena números de tarjetas de crédito (ya que las transacciones se procesaron sin conexión) Aquí hay una buena manera de hacerlo:

  • ¡Obtenga un certificado SSL!
  • Cree un formulario para obtener CC # del usuario.
  • Cifre parte (¡no toda!) Del CC # y guárdelo en su base de datos. (Sugeriría los 8 dígitos del medio). Utilice un método de cifrado seguro y una clave secreta.
  • Envíe el resto del CC # a quien procese sus transacciones (probablemente usted mismo) con la identificación de la persona a procesar.
  • Cuando inicie sesión más tarde, ingresará la ID y la parte enviada por correo del CC #. Su sistema puede descifrar la otra parte y recombinarse para obtener el número completo para que pueda procesar la transacción.
  • Finalmente, elimine el registro en línea. Mi solución paranoica fue sobreescribir el registro con datos aleatorios antes de eliminarlo, para eliminar la posibilidad de una recuperación.

Esto suena como mucho trabajo, pero al no grabar nunca un CC # completo en ninguna parte, le resulta extremadamente difícil a un pirata informático encontrar algo de valor en su servidor web. Confía en mí, vale la pena la tranquilidad.

Miguel
fuente
1
Mira el comentario que Michael dejó para Sam Wessel a continuación.
Dale Ragan
17

El documento PCI 1.2 acaba de salir. Ofrece un proceso sobre cómo implementar el cumplimiento de PCI junto con los requisitos. Puedes encontrar el documento completo aquí:

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

Para resumir, cree un segmento de red separado para los servidores que se dediquen a almacenar información CC (generalmente servidores de base de datos). Aísle los datos tanto como sea posible y asegúrese de que solo esté presente el acceso mínimo necesario para acceder a los datos. Cifrarlo cuando lo guarde. Nunca almacene PAN's. Purgue datos antiguos y gire sus claves de cifrado.

Ejemplo no hacer:

  • No permita que la misma cuenta que puede buscar información general en la base de datos busque información CC.
  • No mantenga su base de datos CC en el mismo servidor físico que su servidor web.
  • No permita el tráfico externo (Internet) en su segmento de red de base de datos CC.

Ejemplo dos:

  • Use una cuenta de base de datos separada para consultar la información de CC.
  • No permitir todo el tráfico, excepto el requerido, al servidor de base de datos CC a través de firewall / listas de acceso
  • Restrinja el acceso al servidor CC a un conjunto limitado de usuarios autorizados.
Zak
fuente
55
Tenga en cuenta que los requisitos de PCI-DSS se aplican a todos los sistemas por los que pasan los datos de la tarjeta y no solo donde se almacenan . Por lo tanto, las mismas restricciones y requisitos de seguridad también se aplican al servidor web / servidor de aplicaciones (y a los sitios que pertenecen a todos los otros vhosts en esas máquinas) y a todos los demás hosts en el mismo segmento de red que esas máquinas.
Cheekysoft
Y si acepta números de tarjetas de crédito por teléfono o en papel, y los ingresa en su computadora de escritorio, entonces también se aplican las mismas restricciones.
Stobor
15

Me gustaría agregar un comentario no técnico sobre el que desee pensar

Varios de mis clientes administran sitios de comercio electrónico, incluida una pareja que tiene tiendas moderadamente grandes. Ambos, aunque ciertamente podrían implementar una pasarela de pago que no elijan, también toman el número cc, lo almacenan temporalmente encriptado en línea y lo procesan manualmente.

Lo hacen debido a la alta incidencia de fraude y el procesamiento manual les permite tomar controles adicionales antes de completar un pedido. Me dicen que rechazan un poco más del 20% de todas sus transacciones: el procesamiento manual ciertamente lleva más tiempo y, en un caso, tienen un empleado que no hace nada más que procesar transacciones, pero el costo de pagar su salario es aparentemente menor que su exposición si acaban de pasar los números cc a través de una puerta de enlace en línea.

Ambos clientes están entregando bienes físicos con valor de reventa, por lo que están particularmente expuestos y para artículos como software donde una venta fraudulenta no resultaría en una pérdida real, su millaje variaría, pero vale la pena considerar más arriba los aspectos técnicos de una puerta de enlace en línea si implementar tal es realmente lo que quieres.

EDITAR: Y desde que creé esta respuesta, me gustaría agregar un cuento de advertencia y decir que ya pasó el tiempo cuando era una buena idea.

¿Por qué? Porque sé de otro contacto que estaba tomando un enfoque similar. Los datos de la tarjeta se almacenaron encriptados, se accedió al sitio web mediante SSL y los números se eliminaron inmediatamente después del procesamiento. ¿Seguro que piensas?

Ninguna máquina en su red se infectó con un troyano de registro de claves. Como resultado, fueron identificados como la fuente de varias falsificaciones de tarjetas de crédito y, en consecuencia, recibieron una gran multa.

Como resultado de esto, ahora nunca aconsejo a nadie que maneje las tarjetas de crédito. Las pasarelas de pago se han vuelto mucho más competitivas y rentables, y las medidas de fraude han mejorado. El riesgo ya no vale la pena.

Podría eliminar esta respuesta, pero creo que es mejor dejarlo editado como un cuento de advertencia.

Cruachan
fuente
1
Este es un comentario realmente útil, algo que nunca consideré. Gracias
0plus1
8

Tenga en cuenta que usar SSL para enviar un número de tarjeta desde un navegador a un servidor es como cubrir su número de tarjeta de crédito con su pulgar cuando entrega su tarjeta a un cajero en un restaurante: su pulgar (SSL) impide que otros clientes en el restaurante (la red) de ver la tarjeta, pero una vez que la tarjeta está en manos del cajero (un servidor web) la tarjeta ya no está protegida por el intercambio SSL, y el cajero podría estar haciendo algo con esa tarjeta. La seguridad en el servidor web solo puede detener el acceso a un número de tarjeta guardado. Es decir, la mayoría de los robos de tarjetas en la red no se realizan durante la transmisión, se realizan al romper la seguridad deficiente del servidor y robar bases de datos.

Joe Snyder
fuente
Aquí es donde entra en juego PCI DSS. Es decir, al no almacenar el PAN completo en el servidor.
Martin Clarke
5

¿Por qué molestarse con el cumplimiento de PCI? En el mejor de los casos, ahorrará una fracción de un porcentaje de sus tarifas de procesamiento. Este es uno de esos casos en los que debe asegurarse de que esto es lo que quiere hacer con su tiempo tanto en el desarrollo inicial como en el tiempo para cumplir con los requisitos más recientes.

En nuestro caso, tenía más sentido usar una puerta de enlace con suscripción y vincularla con una cuenta de comerciante. La puerta de enlace de suscripción le permite omitir todo el cumplimiento de PCI y no hacer nada más que procesar la transacción correctamente.

Usamos TrustCommerce como nuestro portal y estamos contentos con su servicio / precio. Tienen código para varios idiomas que hacen que la integración sea bastante fácil.

denton
fuente
55
Una razón sería evitar ser retenido por la pasarela de pago, donde si desea cambiar a otra pasarela, la pasarela anterior probablemente no le dará acceso a toda la información CC que tienen de sus clientes, lo que le obliga a preguntar clientes para los detalles de CC en la compra con la nueva pasarela de pago. Vaya al paso 1. :)
Zabba
3

Asegúrese de controlar el trabajo y el presupuesto adicionales necesarios para PCI. PCI puede requerir enormes tarifas de auditoría externa y esfuerzo / soporte interno. También tenga en cuenta las multas / sanciones que se le pueden imponer unilateralmente, a menudo enormemente desproporcionadas a la escala de la "ofensa".

andora
fuente
2

Hay mucho en todo el proceso. La forma más sencilla de hacerlo es utilizar servicios similares a PayPal, de modo que nunca maneje datos de tarjetas de crédito. Además de eso, hay un montón de cosas por las que pasar para obtener la aprobación para ofrecer servicios de tarjeta de crédito en su sitio web. Probablemente debería hablar con su banco y con las personas que emiten su identificación de comerciante para ayudarlo a configurar el proceso.

Kibbee
fuente
2

Como otros han mencionado, la forma más fácil de ingresar a esta área es mediante el uso de Paypal , Google Checkout o Nochex . Sin embargo, si tiene la intención de realizar una gran cantidad de negocios, puede buscar "actualizarse" a servicios de integración de sitios de nivel superior como WorldPay , NetBanx (Reino Unido) o Neteller (EE . UU . ) . Todos estos servicios son razonablemente fáciles de configurar. Y sé que Netbanx ofrece una integración conveniente en algunas de las soluciones de carrito de compras disponibles en el mercado, como Intershop(porque escribí algunos de ellos). Más allá de eso, está buscando la integración directa con los sistemas bancarios (y sus sistemas APAX), pero eso es difícil y en ese momento también debe demostrar a las compañías de tarjetas de crédito que está manejando los números de tarjeta de crédito de manera segura (probablemente no valga la pena considerar si no está tomando $ 100k por mes).

Trabajando desde el primero hasta el último, los costos / beneficios son que las opciones iniciales son mucho más fáciles (más rápidas / más baratas) de configurar y le pagan altos costos de manejo por cada transacción. las posteriores son mucho más costosas de configurar, pero a la larga se paga menos.

La otra ventaja de la mayoría de las soluciones no dedicadas es que no necesita mantener seguros los números de tarjeta de crédito cifrados. Ese es el problema de otra persona :-)

Vagnerr
fuente