En esta sección encontrarás una referencia para agregar mercado pago en un sitio web
Para conectar un sitio web con el API de Mercado Pago vamos a utilizar la librería para PHP de Mercado Pago.
Mercado Pago tienen muchas formas distintas para conectarnos con su API, nosotros usaremos uno de las más sencillas llamada Checkout Pro (https://www.mercadopago.com.mx/developers/es/guides/online-payments/checkout-pro/introduction). Antes de comenzar con la integración te recomendamos revisar la documentación del checkout pro.
Una vez que hayas leído la documentación de Mercado Pago Checkout Pro, podrás comenzar con la integración con algún sitio de Clever Cloud. La librería PHP SDK Mercado Pago ya se encuentra instalada dentro de Clever Cloud en la ruta sitio/functions/vendor.
Hasta este punto no hay necesidad de hacer algo adicional.
Los pasos para poder pagar desde un sitio web con Mercado Pago son muy sencillos utilizando Checkout Pro. A grandes rasgos, Checkout Pro es un formulario de cobro que vive de lado de Mercado Pago y nosotros lo que tenemos que hacer es "comunicarle" cuanto queremos que cobre y por que concepto... Una vez que Checkout Pro haya hecho el cobro, nos va a "avisar" si lo hizo correctamente o falló.
A continuación te dejamos los pasos a alto nivel para que tengas una idea clara de lo que tiene que hacer.
Incluir en PHP la librería de Mercado Pago. Para usar la librería necesitarás un Access Token; puedes usar este:
TEST-5987583179235087-082006-50140998e4260a56a3f3fe0f29692c95-142560668
Construir en la vista PHP un objeto tipo $preference (este objeto lo define la librería de Mercado Pago). El objeto tipo $preference contendrá todos los datos necesarios para construir el cobro total (ver documentación de Mercado Pago).
Una vez construida la $preference, ejecutamos el comando $preference->save(); para enviar todos esos datos al API de Mercado Pago. Si la variable se construyó correctamente, Mercado Pago le asignará un ID propio al objeto $preference
Para concluir, cómo ya tendremos en este punto la variable $preference con un ID de Mercado Pago, lo último que debemos hacer es crear un botón HTML cuyo link nos dirija al init_point asignado por Mercado Pago.
<a style="border-radius: 8px; background-color: #d6c792; padding: 10px; color: #fff;" href="<?php echo $preference->init_point;?>">Pagar</a>
De acuerdo con la documentación de Mercado Pago Checkout Pro los diferentes estatus de pago pueden ser success, pending, failure.
Para manejar cada uno de ellos nosotros debemos realizar los siguiente:
En frontend: debes implementar una vista sencilla por cada uno de los estatus (en total serán 3 vistas). Cada una de estas vistas recibirá cómo parámetro un $_REQUEST['external_reference'] y con base en esta variable actualizará el status de este pago.
En backend: para webinars y ecommerce ya existen los servicios que manejan estos cambios de status por lo que no deberás hacer nada adicional.
En database: debes definir en la tabla TBL_SUPERADMIN_CONFIG un registro para cada uno de estos estatus con su back_url para cada uno según la vista que se haya implementado en cada caso
Los pasos de la sección anterior se pueden ver claramente en el sitio web de Lillas Farvel. La conexión con Mercado Pago en este sitio se hace en la vista pagar.php
A continuación te dejamos unos screenshots de referencia.
Se incluye SDK de Mercado Pago, se crea la preference y se agregan items de compra
Se agregan descuentos y costos extra
Se eliminan algunos métodos de pago, completamos algunos parámetros de la preference y guardamos el objeto