ssheduardo / sermepa

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

Error al realizar pago recurrente. #81

Closed srraul94 closed 2 years ago

srraul94 commented 2 years ago

Buenas, estoy intentando realizar un pago recurrente usando los valores almacenados de una transacción anterior. Para ello uso el ejemplo que tienes en el README, concretamente hago esto:

        $redsys = new Tpv();
        $redsys->setAmount($precio_plan);
        $redsys->setOrder(time());
        $redsys->setMerchantcode($merchant);

        $redsys->setCurrency('978');
        $redsys->setTransactiontype('0');
        $redsys->setTerminal('1');
        $redsys->setIdentifier($suscripcion_redsys->merchant_id);
        $redsys->setVersion('HMAC_SHA256_V1');
        $redsys->setEnvironment('restTest'); //Rest entorno test
        $redsys->setMerchantCofIni(false);
        $redsys->setMerchantCofTxnid($suscripcion_redsys->cof_txnid);

        $signature = $redsys->generateMerchantSignature($key);
        $redsys->setMerchantSignature($signature);

        $response = json_decode($redsys->send(), true);

Al hacer esto me arroja el "errorCode" => "SIS0218", El banco es Sabadell, no se si necesito alguna configuración más para poder realizar el pago.

La versión que uso de la librería es la más reciente 1.4.0 Gracias de antemano!

ssheduardo commented 2 years ago

Hola, Creo que tienes que hablar con el banco para que te habilite alguna opción extra, menciona el error que te esta dando y comentarles que estas realizándolo contra el entorno de test vía REST.

srraul94 commented 2 years ago

Hola Eduardo, he comunicado al banco este tema y aun espero a que me lo cambien. Acabo de probar con los datos que proporciona Redsys para pruebas con el Merchant Code 999008881 y la clave sq7HjrUOBfKmC576ILgskD5srU870gJ7 y me sigue apareciendo el mismo error. Si puedes facilitarme los datos con los que probaste tú, te lo agradecería.

ssheduardo commented 2 years ago

Lo realice con datos que gustosamente me proporciono un cliente para hacer pruebas, lamentablemente REDSYS no proporciona datos si tú no tienes contratado el servicio con ellos o con el banco. Para mi ha sido muy difícil el poder avanzar con estas trabas, encima para poder darte una TPV virtual tienes que pasar por un estudio X que te hace el banco bufff un rollo.

srraul94 commented 2 years ago

Gracias por la respuesta Eduardo, estaré pendiente a que el banco pueda proporcionarme dichos datos de pruebas nuevos. Y mantendré actualizado el hilo para poder ayudar a gente que le ocurra lo mismo.

ssheduardo commented 2 years ago

Efectivamente yo he llamado a soporte técnico no te miento unas 5 veces y como 10 email. Mantén este hilo abierto conforme te vaya diciendo el bancó.

ssheduardo commented 2 years ago

Una cosa actualiza la versión a la 1.4.1 y mira el ejemplo del pago diferido por REST ha cambiado. https://github.com/ssheduardo/sermepa/issues/80#issuecomment-1060461856

srraul94 commented 2 years ago

Parece que funciona :D, no sé si es que el banco finalmente ha añadido que se permitan pagos recurrentes por referencias o es al añadir lo que comentas en #80.

De todas formas no he actualizado la librería a 1.4.1 y funciona, estando en 1.4.0.

ssheduardo commented 2 years ago

Realmente la 1.4.1 es solo la actualización del archivo README nada más