WebSphere Commerce - Métodos de Pago
por Rúnar Sverrisson, 3/26/2020, 12:39:47 PMRepasaremos cómo un pago de Afirmación puede ser implementado en WCS como un ejemplo de implementación de un nuevo Método de Pago. El objetivo de la siguiente discusión es dar al lector una comprensión fundamental de cómo implementar un Método de Pago en WebSphere Commerce y en particular del concepto de un Plug-in de Pago.
Véase WebSphere Commerce - Payment System Overview para una visión general del Sistema de Pago WCS y véase el Centro de Conocimiento de IBM para más detalles sobre WCS y sus componentes.
Implementar un nuevo método de pago
Un método de pago en WCS es el medio por el cual se procesa un pago, por ejemplo una marca específica de una tarjeta de crédito o PayPal. Un Método de Pago funcional consiste en varias cosas diferentes que deben funcionar bien juntas. Algunas elecciones personalizadas pueden ser hechas durante el desarrollo de un nuevo Método de Pago, pero en general se necesita lo siguiente:
Agregar una nueva política a la base de datos que represente el Método de Pago
Crear un archivo .jsp que muestre los elementos de la interfaz de usuario necesarios durante la comprobación e implementar otros cambios en la interfaz.
Archivos de configuración XML: Los archivos de configuración de pago deben estar correctamente configurados
Crear un nuevo plug-in de pago (o añadir la gestión del nuevo método de pago a uno existente y personalizar la lógica del plug-in)
Las necesidades de la empresa y el tipo de pago que se aplique deben afectar el diseño del flujo de procesamiento para el pago. La implementación de un nuevo método de pago puede ser un proceso altamente individualizado con mucha personalización o puede depender en gran medida de procesos ya establecidos.
Plug-in de pago
Un Payment Plug-in es un componente de software autónomo que sirve como un proxy para un sistema de pago de fondo. Es un frijol de sesión sin estado que necesita implementar métodos que correspondan a las acciones que el plug-in debe manejar. Las acciones que el plug-in debe manejar dependen de los métodos de pago que utilizan el plug-in, junto con las necesidades de la empresa. Antes de implementar un nuevo método de pago debemos analizar qué acciones debe soportar y diseñar la lógica del plug-in de pago que utiliza en consecuencia. Los tipos de acciones que pueden ser ejecutadas por un plug-in son los siguientes:
Aprobación (o autorización) del pago
Depósito de pago (o captura)
Crédito (o reembolso)
Anulaciones de las transacciones anteriores
La creación de un complemento de pago puede dividirse en tres fases distintas:
Crear un nuevo proyecto EJB para el Payment Plug-in y ponerlo a disposición de la WCS
Implementar la lógica de negocios del plug-in. Esto significa implementar todos los métodos requeridos por los métodos de pago que usarán el plug-in
Crear y configurar los archivos XML para el plug-in (PluginDeployment.xml y PaymentSystemPluginMapping.xml)
Afirmar la aplicación
Aquí queremos tomar un ejemplo de cómo se puede hacer un pago de Afirmación a través de un Proveedor de Servicios de Pago (en este caso, Cybersource). Los detalles de cómo integrarse con Affirm se pueden encontrar aquí. Seguimos los pasos listados arriba para configurar el método de pago de Affirm. La primera parte del flujo de pago (el evento de pago principal) se ejecuta como se describe en la Figura 1. Utilizamos la API proporcionada por Cybersource para hacer todas las llamadas de servicio externo.
[caption id="attachment_53751" align="aligncenter" width="745"] Figura 1. Vista general simplificada del proceso de pago Affirm (Evento de pago principal).[/caption]
Utilizamos dos comandos WCS durante el procesamiento del Evento de Pago Principal (ver Centro de Conocimiento de IBM para más detalles):
PrepareOrderCmdImpl
ProcessOrderCmdImpl
Como los nombres indican, el primer comando ejecuta ciertos procesos para preparar la orden de pago, mientras que el segundo ejecuta (entre otras cosas) el proceso de pago. Como se indica en la figura 1, dividimos la lógica del proceso de pago en dos comandos personalizados:
AffirmForwardCmdImpl
AffirmReturnCmdImpl
La razón de esto es que debemos redirigir al cliente al sitio de Affirm para que solicite un crédito. Después de que la solicitud de crédito esté hecha, Affirm redirigirá al cliente a una URL que ejecutará el segundo comando personalizado, donde el proceso de pago más estándar de WCS ocurre como el Controlador del Plug-in de Pago creando una Transacción Financiera que luego es procesada por el Plug-in de Pago.
De manera similar, un flujo personalizado como el que hemos implementado para el Evento de Pago Principal también puede implementarse para los otros dos eventos de pago (Evento de Pago de Reserva y Evento de Pago Final). Sin embargo, no teníamos ninguna necesidad de eso, por lo que simplemente utilizamos comandos listos para usar que activarán el controlador del complemento de pago para ejecutar un método apropiado en el complemento de pago. Estos comandos se ejecutarán cuando la orden llegue a una determinada etapa. En nuestro ejemplo es cuando la orden está lista para ser enviada y luego después de que la orden ha sido enviada.
Conclusión
Este es un ejemplo de cómo se puede implementar un nuevo método de pago en la WCS. Como hemos discutido, siempre dependerá de la naturaleza del pago a implementar y de las necesidades de la empresa cómo resulten exactamente los detalles del proceso. Para más detalles sobre cómo implementar realmente un Método de Pago dirigimos al lector al Centro de Conocimiento de IBM donde se pueden encontrar tutoriales prácticos y otra documentación.