Otros medios de pago
Con Checkout API de Mercado Pago, también es posible ofrecer pagos con OXXO, Paycash, Citibanamex y BBVA Bancomer.
Con estos medios de pago, los compradores podrán realizar un pago diferido en efectivo, siempre dentro del plazo establecido para su vencimiento, y deberán aguardar a que el mismo se acredite para dar por finalizada la compra.
Si deseas continuar con tu integración luego de haber configurado tu ambiente, y quieres ofrecer pagos conOXXO, Paycash, Citibaname y BBVA Bancomer, sigue los pasos a continuación.
processing_mode
. Para más información, accede a la sección Modelo de integración.Para poder recibir pagos, es necesario que añadas en el frontend un formulario que permita capturar los datos del pagador de manera segura.
Si ya cuentas con un desarrollo que contempla un formulario de pago propio, asegúrate de incluir estos medios de pago entre las opciones que deseas ofrecer, como es indicado a continuación, y avanza a la etapa de Enviar pago.
Si no cuentas con un formulario de pago, añade el siguiente a tu proyecto, incluyendo el identificador de Pix como medio de pago a ofrecer.
Medio de pago | payment_method_id |
BBVA Bancomer | bancomer |
Citibanamex | banamex |
OXXO | oxxo |
Paycash | paycash |
html
<form id="form-checkout" action="/process_payment" method="post"> <div> <div> <label for="payerFirstName">Nombre</label> <input id="form-checkout__payerFirstName" name="payerFirstName" type="text"> </div> <div> <label for="payerLastName">Appelido</label> <input id="form-checkout__payerLastName" name="payerLastName" type="text"> </div> <div> <label for="email">E-mail</label> <input id="form-checkout__email" name="email" type="text"> </div> <div> <label for="identificationType">Tipo de documento</label> <select id="form-checkout__identificationType" name="identificationType" type="text"></select> </div> <div> <label for="identificationNumber">Número del documento</label> <input id="form-checkout__identificationNumber" name="identificationNumber" type="text"> </div> </div> <div> <div> <input type="hidden" name="transactionAmount" id="transactionAmount" value="100"> <input type="hidden" name="description" id="description" value="Nome do Produto"> <br> <button type="submit">Pagar</button> </div> </div> </form>
El envío del pago debe ser realizado mediante la creación de una order que contenga transacciones de pago asociadas.
Para eso, envía un POST con tu Access Token de pruebasClave privada de pruebas de la aplicación creada en Mercado Pago, que es utilizada en el backend. Puedes acceder a ella a través de Tus integraciones > Detalles de aplicación > Pruebas > Credenciales de prueba. y los parámetros requeridos enumerados a continuación al endpoint /v1/ordersAPI y ejecutes la requisición.
curl
curl --location 'https://api.mercadopago.com/v1/orders' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ENV_ACCESS_TOKEN' \ --header 'X-Idempotency-Key: <SOME_UNIQUE_VALUE>' \ { "type": "online", "external_reference": "ext_ref_1234", "processing_mode": "automatic", "total_amount": "200.00", "payment_expiration_time": "P3D", "payer": { "email": "test@testuser.com", "first_name": "John", "last_name": "Doe", "identification": { "type": "CPF", "number": "99999999999" }, }, "transactions": { "payments": [ { "amount": "200.00", "payment_method": { "id": "oxxo", "type": "ticket" } } ] } }
Atributo | Tipo | Descripción | Requerido/Opcional |
Authorization | Header | Hace referencia a tu clave privada, o Access Token. Utiliza el Access Token de pruebasClave privada de pruebas de la aplicación creada en Mercado Pago, que es utilizada en el backend. Puedes acceder a ella a través de Tus integraciones > Detalles de aplicación > Pruebas > Credenciales de prueba. en ambientes de desarrollo, y el Access Token productivoClave privada de la aplicación creada en Mercado Pago, que es utilizada en el backend al momento de recibir pagos reales. Puedes acceder a ella a través de Tus integraciones > Detalles de aplicación > Producción > Credenciales de producción. para pagos reales. | Requerido |
X-Idempotency-Key | Header | Llave de idempotencia. Esta llave garantiza que cada solicitud sea procesada una única vez, evitando duplicidades. Utiliza un valor exclusivo en el encabezado de tu solicitud, como un UUID V4 o strings aleatorias. | Requerido |
processing_mode | Body. String | Modo de procesamiento de la order. Los valores posibles son: - automatic : para crear y procesar la order en modo automático. - manual : para crear la order y procesarla con posterioridad. Para más información, acceda a la sección Modelo de integración. | Requerido |
total_amount | Body. String | Monto total de la transacción. | Requerido |
payment_expiration_time | Body. String | Permite definir la fecha de vencimiento utilizando el formato de duración ISO 8601. Si bien puedes configurarla para que sea entre 1 y 30 días luego de la emisión del pago, recomendamos establecer una duración de 3 días (“P3D ” en el ejemplo) para que no haya conflicto entre el vencimiento y la acreditación del pago, que puede demorar hasta 2 horas hábiles desde su realización. En caso de que el pago se efectúe luego de la fecha de vencimiento establecida, el valor será devuelto a la cuenta de Mercado Pago del pagador. | Opcional |
payer.email | Body. String | E-mail del comprador. | Requerido |
transaction.payments.payment_method.id | Body. String | Identificador del método de pago. Las opciones para otros medios de pago son: bancomer : para pagos con BBVA Bancomer. banamex : para pagos con Citibanamex. oxxo : para pagos con OXXO. paycash : para pagos con Paycash. | Requerido |
transaction.payments.payment_method.type | Body. String | Tipo de método de pago. Para pagos con BBVA Bancomer y Citibanamex el valor debe ser atm . Para pagos con OXXO o Paycash, el valor debe ser ticket . | Requerido |
ticket_url
, que contiene la URL con las instrucciones para que el comprador efectúe el pago, a la que deberás redirigirlo. Además, mostrará el status action_required
hasta que el pago sea realizado.json
{ "id": "ORD01J6TC8BYRR0T4ZKY0QR39WGYE", "type": "online", "processing_mode": "automatic", "external_reference": "ext_ref_1234", "marketplace": "NONE", "total_amount": "200.00", "country_code": "MEX", "user_id": "1245621468", "status": "action_required", "status_detail": "waiting_payment", "capture_mode": "automatic", "created_date": "2024-09-02T22:04:01.880469Z", "last_updated_date": "2024-09-02T22:04:04.429289Z", "integration_data": { "application_id": "4599991948843755" }, "transactions": { "payments": [ { "id": "PAY01J6TC8BYRR0T4ZKY0QRTZ0E24", "amount": "200.00", "reference_id": "22dvqmsbq8c", "status": "action_required", "status_detail": "waiting_payment", "payment_method": { "id": "oxxo", "type": "ticket", "ticket_url": "https://www.mercadopago.com.mx/sandbox/payments/00000000000/ticket?caller_id=77777777777&hash=34cb0d7c-81d9-478c-92a5-767d0kakjja", "barcode_content": "3335008800000000006004835002100020000242462010", "reference": "1234567890", "verification_code": "1234567890" } } ] } }
Es importante compartir con los compradores la información de los diferentes lugares en los que pueden realizar el pago. Consulta la siguiente tabla para conocer los datos de cada uno de ellos, e inclúyelos al disponibilizar el cupón de pago.
Medio de pago | Establecimientos disponibles |
OXXO | OXXO |
PayCash | 7-Eleven Circle K Soriana Extra Calimax Santander |
BBVA Bancomer | BBVA Bancomer Farmacias del Ahorro Casa Ley |
Citibanamex | Citibanamex Chedraui Telecomm |
Si lo deseas, puedes cancelar un pago creado para boleto bancário, siempre y cuando se encuentre pendiente o en proceso; es decir, con status=action_required
.
Adicionalmente, recomendamos cancelar los pagos que no fueron realizados dentro de la fecha de vencimiento establecida, para evitar problemas de facturación y conciliación.
Para obtener más información, consulta la sección Reembolsos y cancelaciones.