ssheduardo / sermepa

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

Comprobación de pago #76

Closed metelidrissi closed 3 years ago

metelidrissi commented 3 years ago

Hola,

Siguiendo la documentación:

try{
    $redsys = new Sermepa\Tpv\Tpv();
    $key = 'sq7HjrUOBfKmC576ILgskD5srU870gJ7';

    $parameters = $redsys->getMerchantParameters($_POST["Ds_MerchantParameters"]);
    $DsResponse = $parameters["Ds_Response"];
    $DsResponse += 0;
    if ($redsys->check($key, $_POST) && $DsResponse <= 99) {
        //acciones a realizar si es correcto, por ejemplo validar una reserva, mandar un mail de OK, guardar en bbdd o contactar con mensajería para preparar un pedido
    } else {
        //acciones a realizar si ha sido erroneo
    }
} catch (\Sermepa\Tpv\TpvException $e) {
    echo $e->getMessage();
}

No recibo ningún $_POST, en el entorno de pruebas, para realizar una acción u otra en función de la respuesta, ¿la recepción de $_POST entiendo que se establece en la creación del botón de pago?

ssheduardo commented 3 years ago

En la creación del botón definimos las URL de ok, ko y notificación, esta última es quien llama el banco para enviar los datos para poder hacer las comprobaciones.

metelidrissi commented 3 years ago

Hola @ssheduardo ,

Nada, ya está resuelto, aunque lo tenia en notificación tal y como mencionas en la documentación, en Codeigniter hay que liberar a esa ruta de CSFR en la configuración, sinó, no te permite recibir peticiones POST a esa ruta.

Gracias

ssheduardo commented 3 years ago

Perfecto.