payment gateway testing
Guía del evaluador para las pruebas de la pasarela de pago:
¿Qué son los procesadores de pagos?
Según Wikipedia, “Un procesador de pagos es una empresa (a menudo un tercero) designada por un comerciante para manejar transacciones de varios canales, como tarjetas de crédito y tarjetas de débito para bancos adquirentes comerciales. El procesador de pagos comprobará los datos recibidos enviándolos al banco emisor de la tarjeta o asociación de tarjetas correspondiente para su verificación, y también llevará a cabo una serie de medidas antifraude contra la transacción '.
Algunas pasarelas de pago comunes son Braintree, Authorize.net, PayPal, Bluepay, Citrus Payments, etc.
Hay mucha literatura disponible en línea y fuera de línea sobre pasarelas de pago y terminología relacionada.
En este tutorial, intenté simplificar parte de esa información y traté de agregar mis experiencias.
Lectura recomendada => Prueba de aplicaciones de banca de inversión
Durante mi primer proyecto, no tenía ni idea de cómo probar correctamente un pasarela de pago . Aprendí gradualmente y trabajé en implementar exitosamente las integraciones de PayPal, Braintree y Authorize.net con nuestras aplicaciones de comercio electrónico.
Discutiremos la terminología común, entenderemos el flujo de transacciones de un extremo a otro, así como consejos útiles y mejores prácticas.
Lo que vas a aprender:
- Terminología de pasarela de pago
- Diferencia entre pasarela de pago y procesadores de pago
- Flujo de transacciones
- ¿Por qué necesitamos probar las pasarelas de pago?
- Tipos de prueba necesarios
- Consejos útiles
- Lista de verificación de pruebas de pasarela de pago y casos de prueba
- Configuración de Sandbox: ejemplo de pagos de Braintree
- Conclusión
- Lectura recomendada
Terminología de pasarela de pago
Analicemos algunos términos que usaremos en este artículo:
1) Comerciante - Un comerciante es una persona o empresa que vende productos o servicios. Flipkart, Amazon, eBay son algunos ejemplos de comerciantes.
2) Tarjeta de crédito - Una tarjeta plástica que se puede utilizar para comprar productos o servicios a través de una cuenta de crédito. Tiene un número de tarjeta de 16 dígitos, una fecha de vencimiento, holograma, banda magnética, panel de firma y un número de valor de verificación de tarjeta (CVV).
Anverso de la tarjeta de crédito:
Reverso de la tarjeta de crédito:
(Fuente: about.com)
3) Banco adquirente - Acquiring Bank es una institución financiera que mantiene la cuenta bancaria del comerciante y permite que un comerciante acepte y procese transacciones con tarjeta de débito y / o crédito en su tienda.
4) Banco emisor - Banco emisor es la institución financiera que emite la tarjeta de débito o crédito del cliente. Siempre que un cliente utiliza una tarjeta de crédito o débito para realizar una compra, el banco emisor aprueba o rechaza la transacción en función del estado de la cuenta del titular de la tarjeta y pasa esa información al banco adquirente.
Por ejemplo, la transacción será rechazada si la fecha de vencimiento de la tarjeta es incorrecta, o si el monto de la compra es mayor que el límite de crédito de la tarjeta, etc.
5) Transacción - El proceso de principio a fin a través del cual el comerciante recibe fondos para una transacción con un cliente.
6) Autorización - Se solicita autorización cuando un cliente realiza una compra. Esta autorización la proporciona el banco emisor del cliente y confirma la validez del titular de la tarjeta, la capacidad de pago y la presencia de fondos suficientes, etc.Una vez que se completa, los fondos se retienen y el saldo se deduce del límite de crédito del cliente, pero no aún transferido a la cuenta mercantil.
7) Captura - En esta acción, el comerciante recopila la información de pago del cliente relevante y envía una solicitud de liquidación / captura al procesador. El procesador utiliza esta información para iniciar la transferencia de fondos entre la cuenta de la tarjeta del cliente y la cuenta bancaria del comerciante.
Leer también => Prueba de aplicaciones bancarias
Diferencia entre pasarela de pago y procesadores de pago
Hay mucha literatura disponible en línea sobre esto y si la pasarela de pago y el procesador de pagos son módulos distintos con funcionalidades distintas.
Durante el curso de mis proyectos, he observado que el Procesador de pagos y las pasarelas de pago se utilizan indistintamente sin ninguna distinción real. Los comerciantes suelen referirse a las 'pasarelas de pago' como procesadores de pagos, ya que estos procesan todos los pagos.
Los 'Procesadores de pago' se consideran a sí mismos como Pasarelas de pago, ya que actúan como un medio para procesar y completar la transacción de pago segura.
Flujo de transacciones
El siguiente diagrama de flujo resume el flujo completo desde el momento en que un cliente realiza un pedido hasta que el pedido es exitoso o rechazado.
Si un cliente desea cancelar el pedido, el siguiente es el flujo:
La diferencia entre anulación y devolución depende de si una transacción se captura o no.
Un pago pendiente se puede anular, lo que significa que los fondos retenidos se abonan de nuevo en la cuenta del titular de la tarjeta. Si una transacción ya está liquidada o capturada, se inicia un reembolso, lo que significa que los fondos se toman de la cuenta del comerciante y se abonan nuevamente en la cuenta del titular de la tarjeta.
ai software para pc descarga gratuita
¿Por qué necesitamos probar las pasarelas de pago?
Si tuviéramos que comprar en una tienda física real, pagaríamos en efectivo o pasaríamos nuestra tarjeta (crédito o débito) a través de la máquina durante el pago para completar la transacción.
Si usa tarjetas de crédito o débito, el POS ( Prueba de punto de venta ) indicará si el procesamiento del pago será aprobado o rechazado.
De manera similar, durante las transacciones en línea, necesitamos tener un sistema comparable, que apruebe o desapruebe una transacción al instante.
Desde la perspectiva del cliente, el procesamiento de pagos en línea en el sitio web de comercio electrónico debe ser fluido. El cliente hace clic en el botón 'Pagar ahora' y debería ver el mensaje de pago exitoso o rechazado en los próximos segundos.
Desde la perspectiva de la tienda de comercio electrónico, el comerciante debe asegurarse de que el ciclo de pago completo (obtener transacciones de la tienda en línea, capturar y autorizar, reembolsar, anular) funcione correctamente. Si alguno de estos subcomponentes no funciona como se esperaba, puede ser un problema para el comerciante.
Desde la perspectiva del comerciante, la fase de prueba les permite acostumbrarse al flujo del procesador de pagos elegido y evaluar si la opción elegida es realmente la mejor opción para su aplicación y negocio.
Tipos de prueba necesarios
Dependiendo de la elección del procesador de pagos y el requisito del producto / aplicación, es posible que deba realizar los siguientes tipos de pruebas
- Prueba funcional - Se requieren pruebas funcionales para las pasarelas de pago más nuevas y menos establecidas para garantizar que la aplicación se comporte como debería, es decir, maneja pedidos, cálculos, impuestos, etc., exactamente como se supone que debe hacerlo. Para procesadores de pagos más establecidos, este tipo de prueba puede no ser necesario.
- Pruebas de integración - Las pruebas de integración son fundamentales al integrarse con una pasarela de pago. Como evaluador, debe verificar que la integración de su sitio web / tienda en línea / aplicación funciona bien con las pasarelas de pago elegidas. Como evaluador, debe verificar todo el flujo de transacciones:
- Realizar pedido
- Verifique si los fondos se reciben en la cuenta mercantil
- Verifique si la transacción se puede reembolsar o anular con éxito
- Pruebas de rendimiento - Es esencial probar el rendimiento del sitio web / tienda en línea / aplicación. El procesador de pagos no debería fallar si varios usuarios intentan completar transacciones al mismo tiempo.
- Pruebas de seguridad - Durante una transacción, un cliente proporcionará información confidencial como su número de tarjeta de crédito, número CVV, etc. Es muy importante asegurarse de que toda la información confidencial se transmita después del cifrado y que el canal sea seguro.
Consejos útiles
Según mi experiencia personal, los siguientes son algunos consejos útiles para los evaluadores:
#1) Investigue si hay disponible un entorno sandbox gratuito (con fines de prueba y de exploración) para la pasarela de pago que debe probarse o implementarse. Tener una caja de arena disponible es definitivamente útil y le da al equipo esa flexibilidad adicional para personalizar la herramienta y probar con la profundidad necesaria.
#2) Asegúrese de que la transacción se pruebe de principio a fin. En nuestros proyectos, probamos e informamos de numerosos errores relacionados con la captura de datos y el flujo de datos desde la aplicación hasta la pasarela de pago. Algunos de los errores específicos fueron:
- La información del nombre del cliente (comprador) no se capturaba correctamente
- La fecha de vencimiento de la tarjeta de crédito del cliente se capturaba incorrectamente debido a una función incorrecta que provocaba que el banco emisor rechazara las transacciones debido a la información incorrecta de la tarjeta de crédito.
- Transacción duplicada que se muestra en el Procesador de pagos
#3) Investigue las limitaciones de los entornos sandbox de la pasarela de pago.
Por ejemplo, El sandbox de Authorize.net admite una moneda por sandbox, por lo que si necesita probar varias monedas, deberá configurar diferentes sandbox. Además, con eso, nunca podrá probar 'verdaderamente' cómo se comportará el sistema cuando la cuenta Live Authorize.net procese transacciones en múltiples divisas.
#4) Si el pago falla durante una transacción por cualquier motivo, se debe mostrar al cliente un mensaje adecuado. Cualquier mensaje de error que sea demasiado técnico como 'Objeto no configurado como instancia' o 'Error 404' puede confundir al cliente y afectar la experiencia del usuario.
También es una buena idea mostrar un mensaje genérico como 'Parece que hay algún problema al procesar la transacción. Comuníquese con nosotros al 1-800-800-8000'.
#5) A los efectos de la verificación de la versión de posproducción, el cliente (propietario de la empresa de la aplicación) deberá crear una cuenta de procesador de pagos en vivo, configurar su ID de comerciante, etc.
Dependiendo del procesador de pagos elegido, puede tomar de 2 días a algunas semanas configurar la cuenta. El gerente del proyecto debe comunicarlo al cliente con anticipación con tiempo suficiente para configurar la cuenta real antes de que la aplicación y la integración del procesador de pagos estén disponibles.
Lista de verificación de pruebas de pasarela de pago y casos de prueba
Como cualquier otra aplicación, probar procesadores de pago implica una planificación de prueba adecuada.
La siguiente lista de verificación puede ser útil para los probadores y podría usarse como referencia:
1) Configure la caja de arena del procesador de pagos.
¿Es la clave de seguridad de la red la misma que la contraseña wifi?
2) Reúna los números de tarjetas de crédito de prueba que se usarían para probar diferentes tarjetas de crédito. Como ejemplo, dicha información para el procesador de pagos Braintree se puede encontrar en Pagos Braintree.
3) Verifique el comportamiento de la aplicación cuando una transacción es exitosa.
4) Después de una transacción exitosa, verifique si la pasarela de pago regresa a su aplicación para mostrar algún tipo de transacción exitosa / mensaje de confirmación.
5) Verifique que el cliente reciba algún tipo de notificación de confirmación de la transacción, como correo electrónico de confirmación del pedido, etc., si la transacción se realizó correctamente.
6) Compruebe qué sucede si un pago falla o el procesador de pagos deja de responder: ¿hay algún mensaje de error?
7) Verifique el comportamiento de la aplicación con el bloqueador de ventanas emergentes del navegador encendido y apagado. Esto puede resultar útil si se muestra algún mensaje de confirmación en la ventana emergente.
8) Verifique diferentes configuraciones de seguridad / prevención de fraude.
Por ejemplo, si la información de facturación del cliente no coincide con la dirección proporcionada al banco emisor, cualquier discrepancia resultará en el rechazo de la transacción.
9) Verifique las entradas de transacciones en la base de datos si el evaluador tiene acceso a la base de datos de la aplicación.
10) Compruebe qué sucede cuando expira la sesión de un cliente.
11) Verifique la consola durante toda la transacción e informe cualquier error de consola que se observe.
12) Verifique que esa transacción se realice en un canal seguro.
Por ejemplo, las páginas de pago pueden ser HTTPS frente al resto del sitio web que son páginas HTTP.
13) Verifique que la moneda del procesador de pagos esté configurada correctamente.
Por ejemplo, si la aplicación / sitio web es una empresa / minorista canadiense, el procesador de pagos debe estar configurado para aceptar moneda CAD.
14) Si las aplicaciones tienen múltiples opciones de pago como tarjeta de crédito y PayPal juntas, ambas opciones de pago deben probarse individualmente de un extremo a otro.
15) Verifique que el monto del reembolso o anulación (del portal de administración del procesador de pagos) sea el mismo que el monto de la transacción. En ningún caso, el monto del reembolso / anulación debe exceder el monto de la transacción.
Leer también => Prueba del sistema de banca minorista
Configuración de Sandbox: ejemplo de pagos de Braintree
1) Navegar a Sitio web de Braintree .
2) Haga clic en el botón 'Probar la zona de pruebas'.
(Nota:Haga clic en cualquier imagen para ampliarla)
3) Se le redirigirá al sitio web de la zona de pruebas de Braintree. Complete toda la información requerida y regístrese en el sandbox
4) Recibirá una notificación por correo electrónico en la dirección de correo electrónico proporcionada durante el registro con respecto a la confirmación de la creación de la cuenta
5) Debe completar el formulario de información del usuario para continuar con el proceso en el que se le solicitará que elija una contraseña. Haga clic en 'Aceptar y crear su cuenta'
6) Se iniciará sesión y se le redirigirá al portal de administración de Braintree
7) Tenga en cuenta las claves de Sandbox y utilícelas en su aplicación para integrarse con este Sandbox de Braintree.
8) Una vez realizada la integración, la caja de arena está lista para usarse. Si necesita actualizar la configuración de la zona de pruebas, puede hacerlo utilizando el menú de configuración.
Opción de menú de configuración de uso común:
Conclusión
El procesador de pagos es un componente muy importante para cualquier aplicación de comercio electrónico que esté diseñada para aceptar pagos de sus clientes. Por lo tanto, es esencial probar este componente a fondo. Cualquier escenario perdido puede afectar las ventas / transacciones del vendedor y afectar negativamente la experiencia del usuario para el cliente o comprador.
Los probadores deben preparar o configurar el entorno de prueba (cajas de arena, recopilar información de tarjetas de crédito ficticias, códigos de respuesta, etc.) y formular una estrategia de prueba, tanto para el entorno de prueba como para las pruebas de lanzamiento en vivo / posproducción.
Acerca de autor: Este útil artículo está escrito por Neha. Actualmente se desempeña como Gerente de Garantía de Calidad y está especializada en liderar y administrar equipos de control de calidad internos y externos.
¿Tiene consultas o desea compartir su experiencia sobre las pruebas de pasarela de pago? Háganos saber en los comentarios a continuación.
Lectura recomendada
- Pruebas alfa y beta (una guía completa)
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Pruebas funcionales versus pruebas no funcionales
- Guía de currículum vitae de prueba de software perfecta (con muestra de currículum vitae de Software Tester)
- Guía completa de pruebas de verificación de compilación (pruebas de BVT)
- SalesForce Testing Guía para principiantes
- Descarga del libro electrónico Testing Primer
- 68 Recursos esenciales para ser un probador exitoso (¡No se lo pierda!)