
Adquiere este curso para tener acceso a todas las lecciones
Comprar curso58. 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 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 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 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