Cómo configurar la página de confirmación de PayU en Laravel
Comprar curso

58. Cómo configurar la página de confirmación de PayU en Laravel

En este capítulo del curso aprenderás a configurar la página de confirmación de PayU en Laravel. Se explicará cómo manejar la confirmación de PayU después de que el usuario haya completado el pago y cómo mostrar una página de confirmación personalizada para el usuario.


3 comentarios

Inicia sesión para comentar

Comentarios:

  • Rafael Diaz

    Rafael Diaz hace 1 mes

    Hola de nuevo Victor. Desde la pagína de confirmación estoy intentando crear la orden en mi sistema, y vaciar el carro de compras, pero aunque ya tengo la conexión bien, no recibe la orden 

    Cart::instance('shopping')->destroy(); 

    estoy usando el log para el debug y si está llegando sin problema. Podrias guiarme para limpiar el carro desde la página de confirmación? 

    También tengo problemas con el user_id para crear la orden en la pagina de confirmación, pues no tengo como acceder al auth()→id(), imagino que es porque es una petición post que ocurre en la plataforma. Estaría bien, si envio como parametro ese user_id en la petición desde el checkout?

    • Victor Arana Flores hace 1 mes

      Hola Rafel, podrías explicar mas tu codigo por favor? No logro entender el problema

    • Rafael Diaz hace 1 mes

      Ya logré implementarlo. Tuve que revisar bien el paquete shopping cart, para notar que algunos metodos de ese paquete trabajan con session(), entonces cuando mi app recibia el request de payu de la pagina de confirmación no podía acceder ni al auth() ni al Cart::destroy(). Lo que hice fué pasar el id de session(), el id del auth()→id(), y en con ese request de la pagina de confirmación implmentar la creación de la orden y el borrado del carrito con session(). Después regeneré el token de session() y lo guardé por seguridad. Si vez algo que afecte la seguridad de mi proyecto en este proceso ojalá me lo hagas saber. Saludos

  • Rafael Diaz

    Rafael Diaz hace 1 mes

    Hola Victor. Estoy atascado en el tema de la página de confirmación, que es la que me crearia las ordenes en el sistema, pues al parecer confirmationUrl no permite el uso de rutas como la usa laravel, por lo tanto nunca llega al controlador de la ruta de confirmación el request. Como lo puedo solucionar? No agrega info al log ni ejecuta nada la funcion.

    UPDATE: Solucionado. Estaba mal definido la excepción del CSRFTOKEN.

    $middleware->validateCsrfTokens(except: [
               '/checkout/payu' // <-- exclude this route
            ]);

    • Victor Arana Flores hace 1 mes

      Hola Rafael, que bueno que pudiste solucionarlo, y disculpa por la demora en responder.

  • Santiago

    Santiago hace 2 meses

    Hola victor no se ejecuta ninguna acción   public function payu(Request $request){

            $merchantId = $request->merchantId;

            $reference_sale = $request->reference_sale;

            $value = $request->value;

            $new_value = number_format($value, 1, '.', '');

            $currency = $request->currency;

            $state_pol = $request->state_pol;


     

            $signature = md5(config('services.payu.api_key').'~'.$merchantId.'~'.$reference_sale.'~'.$new_value.'~'.$currency.'~'.$state_pol);


     

            if($signature == $request->sign){

               if($state_pol == '4'){

                Log::info('Pago procesado con éxito', ['reference_sale' => $reference_sale, 'value' => $value, 'currency' => $currency]);


     

               }

            }

        } aca