O desenvolvemento desta versión custou 1.100 euros. O custo acumulado para este ano é de 9.500 euros. O custo acumulado desde a primeira versión é de 208.230 euros, pero o custo para ti é só a licencia de 79€.
Nova rama 30.3.x do plugin Redsys para WooCommerce de WooCommerce.com.
Versiones da rama
30.3.0
Novo:
- Sobreescritura do estado de pedido para produtos virtuais/descargables en Axustes Avanzados. Cando todos os produtos dun pedido son virtuais ou descargables, o estado do pedido pódese establecer automaticamente como Completado en lugar de Procesando.
- O código de resposta de Redsys 0115 (tarxeta cancelada ou conta pechada) agora elimina automaticamente o token de tarxeta almacenado, notifica ao cliente con instrucións para engadir un novo método de pago (A miña conta > Métodos de pago) e notifica ao administrador.
- Notificación por email ao administrador cando a tarxeta de crédito dun cliente se elimina automaticamente debido a códigos de resposta de rexeitamento definitivo de Redsys (0115, 0172, 0173).
- Email mellorado ao cliente cando se elimina unha tarxeta: agora inclúe os últimos 4 díxitos da tarxeta, o código de erro e un enlace directo para engadir un novo método de pago.
- O flag COF_INI (Credential on File inicial) agora gárdase nos metadatos do pedido (_redsys_cof_ini) para todos os tipos de transacción COF (R e C), evitando a creación duplicada de tokens cando COF_INI=N.
Arreglado:
- Corrixido que o modo de probas das Regras Condicionais agora se aplica correctamente á URL da pasarela de Redsys. Anteriormente, os pedidos con regras condicionais que sobreescribían o modo de probas seguían usando a URL da pasarela por defecto.
- Corrixida a creación duplicada de tokens cando o cliente xa ten unha tarxeta gardada e se envía COF_INI=N a Redsys.
- Corrixidos avisos de clave de array indefinida en save_field_update_order_meta() cando os datos das regras condicionais están incompletos.
- Corrixida a referencia $redsys->debug que usaba a variable incorrecta no rexistro de preautorizacións (agora usa $this->debug).
- Corrixido que sanitize_text_field se aplicaba antes de substr para HTTP_ACCEPT_LANGUAGE en Google Pay e Apple Pay Checkout, asegurando o orden correcto de sanitización.
- Google Pay Checkout agora asegúrase de que os emails transaccionais de WooCommerce estean inicializados antes de chamar a payment_complete() nos callbacks de pago.
30.3.1
Seguridade:
- [Media] Corrixida unha vulnerabilidade de apropiación de contas autenticada que podía permitir a un atacante suplantar calquera conta de usuario, incluíndo administradores.
- [Baixa] Corrixido o acceso non autenticado ao estado de pedidos e datos de usuario.
Arreglado:
- O enlace PayGold xenerado desde o metabox do pedido no administrador nunca se gardaba correctamente debido a unha condición de código de resposta imposible en send_paygold_link(). A función agora usa a mesma lógica de validación que o fluxo de checkout (código de resposta 9998).
- Corrixida a variable $description indefinida en paygold_metabox_save() ao enviar un enlace PayGold desde a pantalla de edición do pedido.
- O dominio personalizado de notificación (redsys_url_notify) fallaba porque check_url() antepoñía home_url() a URLs que xa tiñan un dominio diferente. check_url() agora detecta URLs absolutas e as conserva tal como están.
- get_notify_home_url() agora engade automaticamente https:// cando o dominio personalizado de notificación se garda sen esquema.
- Compatibilidade con PHP 8.3+ — Corrixidos avisos de obsolescencia ao pasar null/false a funcións de cadea (trim, strlen) desde chamadas a get_option() en get_txnid(), get_token_type() e connect_standard_imap().
- Compatibilidade con PHP 8.3+ — Corrixido add_submenu_page(null,…) na guía de configuración que provocaba avisos de obsolescencia en strpos()/str_replace().







