En mi servidor node/express hago un redirect a la api mercadopago para que el usuario haga la compra del producto. Al hacer el redirect, se abre la interfaz de la api donde el usuario pone sus datos de usuario, y decide la forma de pago(contado, tarjeta, etc..). Despues de que el usuario finaliza la compra, ¿Como se hace para que haga un redirect a la web del frontend ?.
intenté hacer esto, pero no hace nada:
try { // return res.status(200).json("recibido"); // Crea un objeto de preferencia y cargo los productos let preference = {"back_urls": {"success": "https://www.tu-sitio/success","failure": "https://www.goggle.com","pending": "https://www.goggle.com" },"auto_return": "approved", items // items son productos que se van a comprar }; mercadopago.preferences .create(preference) .then(function (response) { console.log(response.body); // redirije a pagina de mercadopago res.redirect(response.body.init_point); }) .catch(function (error) { console.log(error); }); } catch (e) { console.log(e); return res.status(500).json("Internal server error"); }
Este es el código donde hace el redirect a la api para que haga la compra.
export const prueba = async ( req: Request, res: Response): Promise<Response> => { try { // Crea un objeto de preferencia let preference = { items: [ { // obteniendo los valores del formulario enviados desde Angular title: req.body.title.toString(), unit_price: parseInt(req.body.total.toString()), quantity: 1, }, ], }; mercadopago.preferences .create(preference) .then(function (response) { console.log(response.body); // hace un redirect a pagina de mercadopago res.redirect(response.body.init_point); }) .catch(function (error) { console.log(error); }); } catch (e) { console.log(e); return res.status(500).json("Internal server error"); }};