Evaluando propuestas

Desarrollo de Módulo Redsys para Sixammart: Pre-autorización y Captura de Pagos (Laravel)

Publicado el 15 Enero, 2026 en Programación y Tecnología

Sobre este proyecto

Abierto

Se requiere un desarrollador experto para implementar un módulo de pago en dos pasos con Redsys para la plataforma SixamMart, que utiliza el framework Laravel. El objetivo principal es gestionar pagos mediante pre-autorización al momento de crear un pedido y realizar la captura automática cuando el estado del pedido cambie a 'delivered'.

Requisitos de Configuración Redsys:
- Pre-autorización: Utilizar Ds_Merchant_TransactionType = 1.
- Captura (REST): Utilizar Ds_Merchant_TransactionType = 2.
- Anulación: Utilizar Ds_Merchant_TransactionType = 9.
- Tokenización: Implementar el uso de Ds_Merchant_Identifier para cumplir con PSD2 y habilitar pagos en "1-clic".

Implementación Backend (Módulo Laravel):
- Todo el código debe residir en la estructura Modules/RedsysPreAuth/.
- Se necesita una migración para crear una tabla `redsys_preauth_details` que almacene la siguiente información: order_id, ds_order (código de 12 caracteres), ds_authorisation_code (recibido tras la pre-autorización), card_token y status.
- Lógica de Captura: Crear un Event Listener que se active cuando el order_status de SixamMart cambie a 'delivered'. Este listener debe realizar una llamada interna vía api rest a redsys, enviando el código de autorización y el importe correspondiente. Si el código de respuesta de Redsys es 0000, se debe actualizar el payment_status del pedido a 'paid'.

Seguridad (SHA-256):
- Es crucial realizar la derivación de clave 3DES sobre el Ds_Order utilizando la Clave de Comercio (kc) antes de generar el hmac-sha256 final.
- En la fase de captura (rest), la firma se generará sobre el json de la petición.

Frontend:
- Añadir un checkbox "Guardar tarjeta" en la página de checkout.
- Si el usuario (user_id) tiene tokens de tarjeta activos, se debe mostrar un selector de tarjetas guardadas (enmascaradas) para facilitar el proceso de pago y evitar la reintroducción de datos.

Categoría Programación y Tecnología
Subcategoría Tiendas Online (e-commerce)
¿Cuál es el alcance del proyecto? Crear una tienda nueva

Plazo de Entrega: No definido

Habilidades necesarias

Otros proyectos publicados por J. G.