Botón Bancolombia
Con Checkout API de Mercado Pago puedes ofrecer pagos con Botón Bancolombia, un medio de pago que permite realizar compras y pagos a través de internet debitando los recursos directamente desde cuentas de ahorros o corrientes del banco Bancolombia.
Para ofrecer pagos con Botón Bancolombia, sigue estos pasos.
Crear pago
Server-Side
Para iniciar el proceso de implementación de Botón Bancolombia, es necesario crear un pago. Puedes hacerlo a través de un llamado a nuestra API o con uno de nuestros SDKs.
En esta etapa deberás utilizar tu Access Token productivo.
Envía un POST a Crear pagoAPI con los parámetros descritos en la tabla y ejecuta la solicitud.
curl
curl --location 'https://api.mercadopago.com/v1/payments' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \ --header 'X-Idempotency-Key: <SOME_UNIQUE_VALUE>' \ --data-raw '{ "payer": { "email": "<PAYER_EMAIL>" }, "point_of_interaction": { "type": "CHECKOUT" }, "payment_method_id": "boton_bancolombia", "transaction_amount": <TRANSACTION AMOUNT>, "description": "<DESCRIPTION>", "callback_url" : "<CALLBACK_URL>" }'
| Campo | Tipo | Descripción |
Authorization | string | Header con el Access Token de producción. |
X-Idempotency-Key | string | Header con un valor único por solicitud para evitar pagos duplicados. |
payer.email | string | Email del comprador. |
point_of_interaction.type | string | Tipo de punto de interacción. Para Botón Bancolombia debe ser CHECKOUT. |
payment_method_id | string | Identificador del medio de pago. Para Botón Bancolombia, debes usar boton_bancolombia. |
transaction_amount | integer | Monto de la transacción. El monto mínimo debe ser de COP 1000 y el máximo hasta COP 30000000. |
description | string | Descripción del pago que verá el comprador. |
callback_url | string | URL del sitio del vendedor, a la que Bancolombia redireccionará al comprador cuando finalice la transacción. |
Configurar URL de retorno
Server-Side
La URL de retorno es la dirección a la que se redirige al usuario después de completar el pago, ya sea exitoso, fallido o pendiente. Esta URL debe ser una página web que controles, como un servidor con dominio nombrado (DNS).
Para configurarla, completa el valor CALLBACK_URL durante la creación del pago con una URL de redirección.
Una vez que hayas creado el pago, deberás ejecutar la solicitud.
Redireccionar al comprador
Client-Side
Para completar el pago, el comprador deberá ser redireccionado a Bancolombia. Para eso, en el frontend de tu integración deberás disponibilizar un botón de pago para el comprador. Este deberá redirigir a la URL devuelta dentro del parámetro data.external_resource_url en la respuesta al envío del pago.
A continuación, te compartimos un ejemplo de la respuesta.
json
{ "id": 135212232104, ... "payment_method_id": "boton_bancolombia", "payment_type_id": "bank_transfer", "callback_url": "<CALLBACK_URL>" "payment_method": { "id": "boton_bancolombia", "type": "bank_transfer", "data": { "external_resource_url": "<REDIRECT_URL>" } }, "status": "pending", ... }
Confirmar el estado del pago
Server-Side
Para finalizar, deberás revisar el estado de pago de la compra. El pago se crea con el estado pendiente ("status": "pending") y lo mantiene hasta que el pagador finaliza el proceso. Una vez realizado el pago, el estado cambiará a aprobado ("status": "approved").
Para confirmar el estado del pago, envía un GET a Obtener pagoAPI reemplazando el valor id por el ID del pago que quieres consultar.
curl
curl -X GET \ 'https://api.mercadopago.com/v1/payments/{id}'\ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer APP_USR-1*********685765-12*********1b4332e5c*********e077d7679*********664' \
Expiración del pago
Cada pago creado para Botón Bancolombia expira automáticamente dentro de los 12 minutos de generado y su estado pasa a ser rechazado ("status": "rejected"). Si el comprador no accede a la web y realiza el pago dentro de ese tiempo, será necesario generar uno nuevo.