API Mercadopago: Como generar un nuevo Token de Pago, luego de un “payment” rechazado

publicado por: Anonymous

Probando en entorno Sandbox, tengo una app que genera un “token de pago”, que luego envío al servidor para generar el “payment”.
El escenario es durante la prueba de mensajes de error:

  1. pruebo fondos insuficientes, agrego FUND delante del nombre
  2. recibo el error correspondiente, hasta aquí todo correcto.
  3. cambio para probar expiración, agrego EXPI delante del nombre.
  4. me da error 400, bad_request, mensaje de error completo:
    “could not update the Cardtoken with the following id: b67f82b44375001c136081b3b392f1f7 because has been used or expired”

Entiendo que el token solo puede utilizarse una vez y aparentemente la API lo quiere actualizar, cuando en realidad debe generar uno nuevo.

Alguna idea de que debo estar haciendo mal?

solución

La documentación de Mercadopago es incompleta y no muy clara.

Pero revisando la clase Mercadopago del SDK de javascript, se puede ver un prototype llamado clearSession(), que efectivamente hace lo esperado.

Mercadopago prototypes

// limpiar sesion, luego de "payment" rechazado
Mercadopago.clearSession();

// validar que el usuario no utilice los mismos datos rechazados.
validarForm();

// generar nuevo token luego de pago rechazado
Mercadopago.createToken(form, callback);

// procesar nuevamente el pago
crearPago();
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *