Integramos pagos con MercadoPago a una aplicación Next.js de donaciones

Поделиться
HTML-код
  • Опубликовано: 8 янв 2024
  • Usamos el posiblemente peor ejemplo para integrar MercadoPago (una aplicación de donaciones) para mostrar lo fácil que es hoy en día agregar pagos a una aplicación.
    La integración de pagos es una de las cosas que convierte nuestras aplicaciones de fin de semana en productos reales. Pero el miedo de manejar dinero real muchas veces nos tira atrás.
    Dejamos en manos de tercero, como MercadoPago, esa responsabilidad y nos centramos en monetizar nuestras geniales ideas, como un medidor de distancia basado en carpinchos.
    Si te gusta mi contenido seguime y no te pierdas los streams ni tweets!
    Ah, acá tenés el repositorio del proyecto si te interesa: github.com/goncy/donancy
  • НаукаНаука

Комментарии • 100

  • @simonfredes9126
    @simonfredes9126 Месяц назад +7

    Buenas a todos! Se actualizó el sdk de mercadopago. Al dia de la fecha, lo que hay que hacer es. Para obtener las credenciales de prueba (el access token) deben crear una cuenta de prueba, y de ahí, crear un proyecto (tal cual como lo hicieron con su cuenta de mp original). Una vez creada la aplicacion en la cuenta de prueba, obtienen el access_Token (navbar lateral izquierda, abajo). Entonces, no van a tener el problema del minuto 37 ya que le van a pagar a la cuenta de prueba. Una vez hecho todo, obtienen el access_token original de su cuenta de mp, y solo lo reemplazan.

  • @freetzen
    @freetzen 5 месяцев назад +4

    Hermano. TE AMO. No tengo otras palabras. Sos un capo amigo

  • @sofiabargues1495
    @sofiabargues1495 5 месяцев назад +2

    Este video es como esos buenos libros, apenas terminado ya queria volver a verlo! Gracias Goncy !

    • @goncypozzo
      @goncypozzo  5 месяцев назад +1

      Muchas gracias Sofi! Y muy bueno tu proyecto 🙌

  • @caceresmauro9767
    @caceresmauro9767 6 месяцев назад +1

    Esto es justo lo que estaba buscando, gracias Goncy

  • @JoseFlores-ol4cc
    @JoseFlores-ol4cc 6 месяцев назад +2

    Todavia no lo vi entero pero ya le di like! Goncy gracias por compartir tu sabiduria 🙏

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Muchas gracias Jose!

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 6 месяцев назад

    Gracias Goncy , tus videos me alegran el dia y siempre aprendo una cosa nueva sobre Next , se agradece ☕👑

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Muchas gracias a vos!

  • @sebastiancerutti3944
    @sebastiancerutti3944 6 месяцев назад

    Goncy!! Sos el rey de reyes! NADIE TIENE ALGO ACTUALIZADO DE COMO USAR MERCADOPAGO! Muchas gracias y excelentisimo video!!!! Te quiero mucho

    • @goncypozzo
      @goncypozzo  6 месяцев назад +1

      Muchas gracias! Me alegro que sirva, yo me diverti un montón

  • @raphauy
    @raphauy 3 месяца назад

    Tremendo! Muchas gracias Goncy!

  • @Rockoonesong
    @Rockoonesong 6 месяцев назад +6

    Soy java developer y se me estaba complicando mucho entender algunas cosas ya que la docu de MP es horrible y en algunas cosas esta incluso desactualizada, y por otro lado, no hay muchos tutoriales en youtube que te ayuden a aplicar esta tecnologia concretamente con java. Aún asi, tu manera detallada y clara de explicar hizo que logre conectar bien mi código incluso siendo que tu lo haces con Node XD. Sos un genio bro, suscrito

    • @goncypozzo
      @goncypozzo  6 месяцев назад +1

      Me alegro mucho que haya servido! Se me complicó un poco con la documentación, así que me alegro haya simplificado algo

  • @brianbaez2637
    @brianbaez2637 6 месяцев назад +1

    definitivamente la kbra muy interesante el uso de next con supabase y el sandbox de mercado pago saludos desde DR

  • @devrogerzen
    @devrogerzen 6 месяцев назад

    Que monstro genial ya me voy a ver el contenido

  • @sebastianrc1976
    @sebastianrc1976 6 месяцев назад

    Hola Goncy, lamentablemente no siempre llego a tus directos porque estoy en viaje desde el laburo, Gracias por todo el contenido!!!!

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Gracias por hacerte el tiempo cuando podes!

  • @anibalmancilla8903
    @anibalmancilla8903 6 месяцев назад

    eres un crack brother, saludos desde Perú.

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Muchas gracias! Saludos 🫡

  • @raymarceloibarra334
    @raymarceloibarra334 6 месяцев назад

    eres grande Goncy sigue así saludos !!!!

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Muchas gracias y saludos!

  • @valentinfeller121
    @valentinfeller121 2 месяца назад

    En cuanto a seguridad (cyberseguridad) que tendríamos que tener en cuenta?

  • @arielelias2413
    @arielelias2413 6 месяцев назад

    Hola Goncy! Gracias por este tipo de contenidos que son aplicables a la vida real. Una consulta, sabras de alguien que haya hecho un tutorial/video relacionado a integraciones con AFIP para realizar facturas? Gracias!

    • @goncypozzo
      @goncypozzo  6 месяцев назад +1

      Buenas! Conozco gente que scrapea datos pero no que use apis o similares 🫠

  • @sebacampos012
    @sebacampos012 Месяц назад

    Excelente video Goncy!! Consulta de arquitectura: Cual es la necesidad de usar una DB (e.g: supabase ) para este caso? Entiendo que si vas a hacer más cosas con la Data a futuro, o si necesitás querys más heavy, performance, etc ahí si tenga más sentido guardar la data q retorna MP en una DB propia... pero para el caso de este ejemplo no entiendo xq replicar la data, lo veo redundante.
    - Para mostrar listado de donations en UI: se podría directamente consumir la data de MP con los get de la SDK.
    - Para notificaciones: cuando el Webhook de MP manda la data del pago exittoso, ya se podría mostrar la notificación directamente con esa data, sin guardarla o "duplicarla" en supabase.
    Gracias!!

    • @goncypozzo
      @goncypozzo  Месяц назад

      Buenas! Siempre depende del caso, generalmente vas a querer guardarla en una DB tuya por si querés modificar datos, administrar quien tiene acceso a esos datos, no depender de si está caida la API de MercadoPago (o usar un servicio que funcione más rápido, como un redis cache). Si pretendes acceder a esos datos nunca confiaría en el origen como fuente de verdad. Para lo de las notificaciones, todavía vas a necesitar una manera de vincular esa petición al usuario que está viendo la página, via WS o lo que quieras, me parece que ya que estamos usando Supabase usar esa notificación que tiene nos simplifica las cosas. Pero devuelta, depende bastante del caso de uso

  • @augustoocchiuzzi5722
    @augustoocchiuzzi5722 6 месяцев назад

    Gracias por el video, igualmente con esto, las donaciones son siempre para un solo destinatario, que es el token del cliente inicial que seteaste. No hay manera de hacer tipo un p2p, que puedas mandar a distitnas personas? Hay alguna herramienta de meli para eso? sin hacerlo engorroso para el end-user obviamente. Quiza enlazar MP en la cuenta de cada usuario y que se hagan p2p no?

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Dudo que haya servicios así de MP igualmente no lo haría ya que cada transaccion que haces en pos del usuario (sobre la que podes ejecutar pagos como intermediario, siendo marketplace) se procesan como pago y tienen varias comisiones

  • @josephito27
    @josephito27 6 месяцев назад

    te quiero Goncy 🥹❤

    • @goncypozzo
      @goncypozzo  6 месяцев назад +1

      Y yo a ustedes ❤️🤝

  • @maurolobo3450
    @maurolobo3450 5 месяцев назад

    Muy bueno el video como siempre Goncy!! super claro ! Tengo un problema con mp , a veces (muy de vez en cuendo) me toma el pago con la tarjeta de prueba pero en general SIN CAMBIAR NADA me tira error "Algo salió mal..No pudimos procesar tu pago¿Qué puedo hacer?Usa un medio de pago distinto." saben que puede ser?? de cada 30 intentos 1 me acepta, el resto ni

    • @goncypozzo
      @goncypozzo  5 месяцев назад +1

      A mi también me ha pasado, yo asumo que son bajas en el ambiente de prueba de ellos

    • @maurolobo3450
      @maurolobo3450 5 месяцев назад

      Claro, bueno a seguir renegando entonces! gracias por contestar!!@@goncypozzo

  • @user-dz3es2vh8t
    @user-dz3es2vh8t 5 месяцев назад

    Necesitamos hacer una integracion de mp en nuestro sitio web, estarias disponible para hacerlo? contactame!

  • @user-ug9lo6os1s
    @user-ug9lo6os1s 3 месяца назад

    gracias groso saludo

  • @FacuCordobaTs
    @FacuCordobaTs 4 месяца назад

    Este video me cambio la vida!! Sos un genio. Por cierto ¿Dónde podría desplegar la aplicación?

    • @goncypozzo
      @goncypozzo  4 месяца назад +1

      En Vercel podrías sin problema!

    • @FacuCordobaTs
      @FacuCordobaTs 4 месяца назад

      Muchas Gracias@@goncypozzo

  • @nicolasrouiller8606
    @nicolasrouiller8606 2 месяца назад

    Genial el tutorial 🙌🏻 como se hace para luego de probar con sandbox, hacer la integracion real como para produccion?

    • @goncypozzo
      @goncypozzo  2 месяца назад +1

      Gracias! Usas las credenciales de prod y en vez de usar sandbox_init_point usas init_point de la preferencia

    • @nicolasrouiller8606
      @nicolasrouiller8606 2 месяца назад

      Mil gracias, sos un genio!

  • @YosipmikeColin
    @YosipmikeColin 2 месяца назад +1

    En donde configuras los medios de pago, a mí solo me sale tarjeta pero también quiero agregar efectivo

    • @goncypozzo
      @goncypozzo  2 месяца назад

      Eso se pone en la configuración de la preferencia

  • @gonzaloquiroga9753
    @gonzaloquiroga9753 2 месяца назад

    Muchas gracias por compartir. No se si es por un cambio en la versión del sdk de MP, pero no me encuentra sandbox_init_point dentro de preference, por lo que el redirect(preference.sandbox_init_point!) me tira error. Minuto 38 del video!. Muchas gracias!

    • @javierrivasseau8956
      @javierrivasseau8956 24 дня назад

      Hola Gonza, me pasaba lo mismo, lo que hice fue no hacer el redirect en el serverside, enviar la respuesta al cliente de mi app, y ahi le hice un router.push
      algo asi me quedo del lado del cliente,
      async function handleCart() {
      try {
      const result = await handleCheckOutAction(cartItems);
      if (result) {
      router.push(result?.sandbox_init_point);
      setPreferenceIDState(result?.id);
      }
      } catch (error) {
      console.log(error);
      }
      }

  • @Krivoox-dev
    @Krivoox-dev 6 месяцев назад

    Hola goncy, para la api de suscripciones no estoy pudiendo conseguir el card_token_id de donde lo saco? porque en la docu no esta muy claro. gracias!

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Buenas! La verdad nunca usé la api de suscriptions, ni idea

  • @luchodelfuturo
    @luchodelfuturo 5 месяцев назад

    Gracias Goncy sirvio bastante, te hago una consulta, si esto se lo tengo que montar a un cliente , le deberia pedir que cree el una integracion con mercado pago (UNA APP) y me comparta las credenciales (apikey) no?
    o se realiza de otra manera?

    • @goncypozzo
      @goncypozzo  5 месяцев назад +1

      Exacto, la api de mp permite compartir las credenciales con otra cuenta. Asi que puede darte acceso a ellas sin darte acceso a la cuenta

    • @luchodelfuturo
      @luchodelfuturo 5 месяцев назад

      @@goncypozzo Excelente, muchas gracias Goncy :D

  • @agustindiazgargiulo3239
    @agustindiazgargiulo3239 5 месяцев назад

    Vos sabes Gonzy que justo estaba haciendo una integracion similar, pero me da error de "Una de las partes con la que intentás hacer el pago es de prueba." en el modo de sandbox. Las credenciales de prueba las creaste con tu cuenta personal de MP o usaste una cuenta de prueba ?

    • @goncypozzo
      @goncypozzo  5 месяцев назад

      Lo que deberías hacer es:
      - Abrirlo en incognito y pagar sin cuenta
      - Con la cuenta de prueba crear una app y usar ese token en development, iniciar con otra cuenta de prueba y pagar con esa
      Cualquiera de las dos opciones van

  • @darksitopx
    @darksitopx 6 месяцев назад

    Hola Goncy, que tal muy bueno tu contenido sabes trabajo en RH y hace un tiempo tengo la necesidad de realizar fotocheck para mis trabajadores, crees que puedas ayudarme con algo siemple para imprimir fotocheck, actualmente lo realizo en excel coloco, un nombre, codigo de barras, cargo y foto. Saludos Crack

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Buenas, no se si entendí muy bien la idea, pero mandala al discord y lo vemos

  • @diegomartins8026
    @diegomartins8026 Месяц назад

    Para los que se mareen con la documentación de mp que en algunas partes todavía está desactualizada, hay un grupo de ds de mercado pago de la comunidad, hay comparten información y tutoriales actualizados

  • @Mitnos.
    @Mitnos. 5 месяцев назад

    hola goncy esta opcion solo acpeta pagos en los paises latinoamericanos, o tambien de otros continentes??, segundo sirve para integracion a una app tipo fivver??

    • @goncypozzo
      @goncypozzo  5 месяцев назад

      Buenas, solo en los paises donde está Mercado Pago (que son algunos de Latam), debería servir para cualquier tipo de pagos

  • @njbb6105
    @njbb6105 6 месяцев назад

    lo que no entiendo es si tenes que hacer algo una vez la llevas a producción para que la gente no pueda usar las tarjetas de prueba para seguir probando

    • @MT-ox3gz
      @MT-ox3gz 6 месяцев назад +1

      Mercadopago te da dos credenciales, una de producción y una de prueba. Cuando hagas el deploy de tu aplicación tiene que tener las que correspondan a las credenciales de producción, haciendo eso las personas ya no pueden utilizar las tarjetas de prueba que brinda Mercadopago

    • @goncypozzo
      @goncypozzo  6 месяцев назад +1

      Exactamente como dice el señor MT, también a tomar en cuenta que usamos el sandbox_init_point en vez del init_point y que (creo) que las apps antes de darte las credenciales de prod habilitadas pasan por una revisión (al menos antes era asi)

  • @facundocostas
    @facundocostas Месяц назад

    Se puede hacer con datos reales? y que llegue dinero a mi cuenta real? o solo modo prueba? saludos

    • @goncypozzo
      @goncypozzo  Месяц назад

      Si se puede, usas credenciales de producción, usas init_point en vez de sandbox_init_point y listo

  • @Deus-lo-Vuilt
    @Deus-lo-Vuilt 5 месяцев назад

    Goncy una pregunta como haces para que en la consola te muestre el tipo de peticiones que se esta haciendo en las rutas ? veo que te salen las de tipo POST ..GET etc como se verian al usar Morgan

    • @goncypozzo
      @goncypozzo  5 месяцев назад +1

      Es una configuración de Next.js!

    • @Deus-lo-Vuilt
      @Deus-lo-Vuilt 5 месяцев назад

      @@goncypozzo sabes dónde puedo ver eso en la documentación o algún vídeo que tengas dónde lo agregues ? 🧐

    • @goncypozzo
      @goncypozzo  4 месяца назад +1

      nextjs.org/docs/app/api-reference/next-config-js/logging @@Deus-lo-Vuilt

    • @Deus-lo-Vuilt
      @Deus-lo-Vuilt 4 месяца назад

      @@goncypozzo Gracias Goncy 🚀

  • @tomihq
    @tomihq 6 месяцев назад

    No sé por qué me dió gracia la parte de "Y así, ya tenemos el dinero de nuestros usuarios"

    • @goncypozzo
      @goncypozzo  6 месяцев назад +3

      Es que es la parte importante, el resto no importa

  • @jarvs10
    @jarvs10 6 месяцев назад

    Only plain objects, and a few built-ins, can be passed to Client Components from Server Components. me aparece este error, sabes q puede ser? muchas gracias

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Solamente elementos serializables se pueden mandar, si estás usando mongodb, la key _id es de tipo objectKey (no serializable)

    • @jarvs10
      @jarvs10 6 месяцев назад

      @@goncypozzo estoy haciendo todo el proceso tal y como vos en el aplicativo, me tira ese mensaje y me muestra error en el redirect(preference)

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Entonces asumo te falta un await o algo similar (como estar mandando una promise por prop)

  • @martinarana9698
    @martinarana9698 2 месяца назад

    hola amigo, donde te puedo contactar? un abrazo

    • @goncypozzo
      @goncypozzo  2 месяца назад

      Por twitter está bien

  • @diegomartins8026
    @diegomartins8026 Месяц назад

    Me dice que las credenciales de prueba no están disponibles con CheckoutPro, qué método sería el más parecido?

    • @goncypozzo
      @goncypozzo  Месяц назад

      Que raro, yo siempre las usé con checkout pro (y no usé otro)

    • @diegomartins8026
      @diegomartins8026 Месяц назад

      ​@@goncypozzoparece que es un cambio que implementaron ahora, igualmente la solución que te dan, es crear una app CheckoutPro con una cuenta de prueba y usar sus credenciales de producción para las pruebas

    • @patrick6245
      @patrick6245 Месяц назад +2

      Amigo tuve el mismo problema, te dejo los pasos para arreglarlo:
      1- Vas a "Cuentas de prueba" y creas 2 usuarios, uno de vendedor y otro de comprador
      2- Ingresas con las credenciales de comprador (desde incognito) y en el menu izquierdo busca "PRODUCCION" y usas las credenciales de produccion (Que siguen siendo de prueba, ya que es un usuario de prueba)

    • @diegomartins8026
      @diegomartins8026 Месяц назад

      @@patrick6245 Mil gracias rey, por suerte ya lo pude resolver pero fue un dolor de cabeza jajaja

  • @fiderosado
    @fiderosado 6 месяцев назад

    bajale el voltage a las fluces de fondo, lucen muy resplandecientes y molestan

    • @goncypozzo
      @goncypozzo  6 месяцев назад +3

      Podes probar apagando el monitor

  • @Diego_NGonzalez
    @Diego_NGonzalez 6 месяцев назад

    La maldita cabra, sos un crack goncy

  • @ignaciomatiasdiaz9710
    @ignaciomatiasdiaz9710 6 месяцев назад

    Pongo pausa en el minuto 3 para mirar los iconos de escritorio de gonzy, así de arriba está para mí.

    • @goncypozzo
      @goncypozzo  6 месяцев назад

      Creo que hay iconos de cosas que instalé y nunca usé

  • @user-no6dq9kf6c
    @user-no6dq9kf6c 5 месяцев назад

    14:42

    • @goncypozzo
      @goncypozzo  5 месяцев назад

      ruclips.net/user/shortsUz50khHUsec

  • @emanuelvillanueva4757
    @emanuelvillanueva4757 4 месяца назад

    tuki