ssheduardo / redsys-laravel

Package Redsys
MIT License
90 stars 31 forks source link

proble de url_notification #27

Closed monkey-qiang1994 closed 5 years ago

monkey-qiang1994 commented 5 years ago

Hola muy buenas En primer lugar, gracias por su complemento, es muy fácil de usar.

public function notification(Request $request){

    $key = config('redsys.key');
    $parameters = Redsys::getMerchantParameters($request->input('Ds_MerchantParameters'));
    $DsResponse = $parameters["Ds_Response"];
    $DsResponse += 0;

    if (Redsys::check($key, $request->input()) && $DsResponse <= 99) {
        // lo que quieras que haya si es positiva la confirmación de redsys
        Cache::put('order_pay_success', 'pago correcta!', 30);

        //El pago se realizó correctamente, se llama al método de envío del pedido y el método devuelve el número de pedido.
        $order_id = $this->send_order();
        //Guarde el número de pedido en la memoria flash
        $request->session()->flash('order_id', $order_id);

    } else {
        //lo que quieras que haga si no es positivo

    }

}

Aqui tiene mi codigo,mi problema es solo se ejecutara Cache::put('order_pay_success', 'pago correcta!', 30); pero este orden $order_id = $this->send_order(); No se ejecutara? no se porque Quiero enviar un pedido cuando el pago sea exitoso. Esperamos su respuesta un saludo

ssheduardo commented 5 years ago

Hola, Creo que el problema viene con el tema de notification, esta petición la realiza el banco no el cliente, es una petición independiente a la respuesta, debería ser en el OK url donde muestres el mensaje. Notifcation, se usa principalmente para tareas internas donde el dato no pueda ser modificado por el usuario.

monkey-qiang1994 commented 5 years ago

Ok, entiendo. Muchas gracias.