Realizar compra de prueba
A continuación, te enseñaremos cómo simular un flujo de pago completo para Código QR modelo atendido.
Crear orden
- Inicia sesión en la web de Mercado Pago con el usuario y la contraseña de la cuenta vendedor de prueba que creaste.
- Crea una nueva aplicación de prueba para código QR y obtén las credenciales productivas (Access Token) del usuario de prueba vendedor.
- Utiliza las credenciales productivas del usuario de prueba para crear una sucursal y una caja siguiendo las instrucciones para configurarlas. Ten en cuenta que, al crear la caja, el campo
fixed_amount
debe sertrue
. Los links devueltos en la respuesta para el objetoqr
son las imágenes del QR asociado a tu caja. - Todavía con las credenciales del usuario de prueba vendedor, crea una orden y asígnala a la caja que creaste en el paso anterior. Al hacer esto, estarás asignando también esa orden al Código QR asociado a la caja. Asegúrate de configurar el campo
notification_url
con la URL donde recibirás las notificaciones sobre las actualizaciones de los pagos con el tópicomerchant_order
.
Realizar pago
Descarga e instala la App de Mercado Pago en tu dispositivo móvil, e inicia sesión con la cuenta del usuario de prueba definido como comprador.
Escanea desde tu dispositivo móvil el Código QR que generaste. La app mostrará el monto de la orden generada y las opciones de pago disponibles.
Realiza el pago utilizando tarjetas de prueba, que te permitirán además probar distintos flujos de pago.
Casos de validación
Si lo deseas, puedes probar diversos casos para validar que tu sistema esté integrado correctamente con Mercado Pago. Se trata de escenarios que simulan situaciones que pueden acontecer al momento de realizar un pago.
A continuación, puedes ver estos casos en detalle, así como el resultado esperado en el sistema para cada situación, y una serie de observaciones que te indicarán cómo proceder.
Caso | Resultado esperado | Observaciones |
Escaneo correcto de QR. El usuario escanea un Código QR válido; es decir, un QR al cual se le asignó una orden previamente. | La app muestra la pantalla de pago con el monto asignado. | Verifica que el monto en la pantalla de pago sea el asignado en la creación de la orden. Si no lo es, verifica haber asignado la orden a la caja correcta. |
Pago aprobado. El usuario realiza un pago y resulta aprobado. | El sistema de Punto de Venta recibe la información de un pago aprobado. | Verifica haber recibido las notificaciones con el tópico merchant_order y que su status sea closed . |
Cancelar orden. El usuario se arrepiente y decide pagar, por ejemplo, en efectivo. | Se debe eliminar la orden de la caja. | Escanea el QR y verifica que se muestre la pantalla de espera. Así, confirmarás que la orden fue correctamente eliminada. |
Escaneo previo a la creación de la orden. El cliente escanea un Código QR antes de asignar el pedido. | La app muestra la pantalla de espera. | Verifica haber configurado el campo fixed_amount=true al momento de crear la caja. |
Pago rechazado. El usuario realiza un pago y resulta rechazado. | El sistema de Punto de Venta recibe la información de un pago rechazado y continúa esperando el pago de la orden. | Verifica haber recibido las notificaciones con el tópico merchant_order y que su status sea opened . Aguarda el segundo intento de pago. |
Segundo intento de pago. El pago realizado por el usuario es rechazado y, sin necesidad de escanear nuevamente el QR, se realiza un segundo intento, que resulta aprobado. | El sistema de Punto de Venta recibe la información de un pago rechazado, y luego de un pago aprobado. | No elimines la orden luego de recibir un pago rechazado y verifica que tu Punto de Venta no cierre la transacción en caja. |
Verificar notificaciones
Una vez que hayas realizado el pago con el usuario de prueba, verifica haber recibido las notificaciones con el tópico merchant_order
de los estados de la orden en tu sistema.
Para comprobar que las mismas se hayan procesado correctamente, envía un GET al endpoint /merchant_orders con el ID de la merchant order que recibiste en la notificación. Esto te permitirá validar el estado de cada una:
- Si el estado devuelto es
closed
, la orden fue pagada exitosamente. - Si el estado devuelto es
opened
, la orden todavía no ha sido pagada. Debes aguardar a que se realice el pago y resulte aprobado.