ssheduardo / sermepa

Clase para utilizar la pasarela de pagos redsys, sermepa.
MIT License
191 stars 59 forks source link

Integración REST, error código SIS0252 #82

Closed scramatte closed 2 years ago

scramatte commented 2 years ago

Hola,

Estoy intentando hacer un pago via integración REST y recibo el código SIS0252 (Por su configuración no puede enviar la tarjeta). El pago por redirección me funciona correctamente.

Alguien sabe que puede ser el problema?

Muchas gracias

Un saludo

ssheduardo commented 2 years ago

Esto debes consultarlo con el Banco para que te expliquen mejor como va el tema, creo que por Rest no puedes enviar la tarjeta.

scramatte commented 2 years ago

Hola,

Me han contestado del soporte de RedSys y me dice lo siguiente:

Atendiendo a su consulta, le informamos que, este error se genera cuando se está intentando generar cobros recurrentes, en este caso tenemos la opción de Tokenizar, que es la que aconsejamos activamente, puesto que no requiere guardar los datos del cliente, puesto que esta parte ya lo realiza Redsys (puede localizar manuales en https://pagosonline.redsys.es/funcionalidades-COF.html). O también tiene la opción de capturar tarjeta, que es la que está intentando realizar, y por lo que le genera error en su integración Rest, en esta segunda opción se requiere cumplir con la normativa PCI, en caso de querer activar esta opción deberá ponerse en contacto con su gestor bancario, o aquel con quien haya realizado la contratación.

Realmente lo que necesito es por un lado realizar cobre recurrentes (subscripción software SAAS) y por otro lado mi entorno es SPA con Vue 3 y el backend con Laravel via el API rest por eso lo de intentar integrar RedSys via REST. Pero a lo mejor me estoy equivocando y no hace falta hacer tantas cosas.

No sé si alguien me puede ayudar con eso. Alguien ha hecho function el COF que comentan? Porque me temo que cumplir la norma PCI debe de ser costoso y complicado y seguramente no merece la pena meterse en eso.

scramatte commented 2 years ago

He intentado hacer una petición COF inicial tal como indican en su documentación pero me da el mismo error.

    $redsys = new \Sermepa\Tpv\Tpv();
    $redsys->setAmount(1);
    $redsys->setOrder(time());
    $redsys->setMerchantcode('**********'); 
    $redsys->setCurrency('978');
    $redsys->setTransactiontype('0');
    $redsys->setTerminal('1');
    $redsys->setVersion('HMAC_SHA256_V1');
    $redsys->setMerchantCofIni(true);
    $redsys->setIdentifier('REQUIRED');
    $redsys->setEnvironment('restTest');
    $redsys->setPan('454******04');
    $redsys->setExpiryDate('3412');
    $redsys->setCVV2('***');
ssheduardo commented 2 years ago

He intentado hacer una petición COF inicial tal como indican en su documentación pero me da el mismo error.

    $redsys = new \Sermepa\Tpv\Tpv();
    $redsys->setAmount(1);
    $redsys->setOrder(time());
    $redsys->setMerchantcode('**********'); 
    $redsys->setCurrency('978');
    $redsys->setTransactiontype('0');
    $redsys->setTerminal('1');
    $redsys->setVersion('HMAC_SHA256_V1');
    $redsys->setMerchantCofIni(true);
    $redsys->setIdentifier('REQUIRED');
    $redsys->setEnvironment('restTest');
    $redsys->setPan('454******04');
    $redsys->setExpiryDate('3412');
    $redsys->setCVV2('***');

Eso no vas a poder hacerlo. Tienes que primero capturar el TOKEN a través de la redirección de la página y luego a través de REST los pagos recurrentes. Eso lo acabo de hacer para un amigo que estaba en tu misma situación porque cumplir lo del PCI bufffff

ssheduardo commented 2 years ago

Procedo a cerrar este tema.