¿No te gustó el botón “Empezar” en el Messenger Bot de tu página? Al parecer a muchas personas no les agradó y mostraron su inconformidad en este post. Desconozco el motivo, pero supongo que el “botón” en vez de ayudar, estorba.
Tener el botón de “Empezar” es un proceso más para el usuario para ponerse en contacto contigo y tu página. ¿Es mucho mejor que el usuario te contacte sin hacer click en un botón, no?
La petición
Antes de realizar la petición, debes tener tu page_access_token, una cadena de caracteres que sirve para autenticar nuestra petición.
Para eliminar el botón “Empezar” de tu Messenger, solo necesitas mandar una petición DELETE a los servidores de Facebook. Será algo similar a lo que hicimos en el post: Agrega el botón “Empezar” en tu Messenger Bot.
Tenemos que enviar una petición al siguiente enlace (<PAGE_ACCESS_TOKEN> será sustituido por tu page access token generado por Facebook):
De la petición anterior, nota que dentro del parámetro fields existe la palabra get_started. Significa que lo que vas a eliminar de tu página de Facebook será el botón de “Empezar”.
Existen más fields que puedes eliminar de tu página de Facebook como greeting, persistent_menu, entre otros.
Resultados del Messenger Bot
Después de hacer la petición, y si todo sale bien, deberás obtener la siguiente respuesta:
Copy
{ "result": "success" }
Ahora, puedes ir al Messenger de tu página y el botón “Empezar” se habrá ido:
Dentro de tu carrito de compras tienes integrado preferencias de MercadoPago para el manejo de todas las compras de tus usuarios con cualquier método o tipo de pago.
Sin embargo, tú o tu jefe, deciden agregar un nuevo requerimiento al carrito de compras. Ahora necesitan excluir los métodos o tipos de pagos de todas las nuevas preferencias de MercadoPago.
Digamos que el requerimiento dice que los pagos en efectivo con OXXO y las transferencias SPEI sean excluidos de las nuevas preferencias de MercadoPago.
¿Es posible? Claro que sí.
En este tutorial te mostraré cómo excluir los métodos y tipos de pagos de las preferencias de MercadoPago.
Antes de empezar necesitamos claves de integración
Para seguir con las siguientes secciones, necesitas una Public Key y un Access Token, los cuales consigues creando una integración en MercadoPago.
Credenciales de prueba en el panel de desarrollador de MercadoPago.
Si te fijas bien, la URL acepta el parámetro public_key. Sirve para autenticar la petición. La public_key lo obtienes en tu panel de desarrollador de MercadoPago.
Obtener los métodos de pago de MercadoPago usando HTTPie.
Cuando ejecutas la petición debes recibir un JSON de respuesta con múltiples valores.
Con el JSON anterior encontrarás información de los métodos de pago. Para México se muestran los siguientes:
Visa Débito – debvisa
Mastercard Débito – debmaster
American Express – amex
Visa – visa
Mastercard – master
Citibanamex – banamex
OXXO – oxxo
BBVA Bancomer – bancomer
Obtener los tipos de pago de MercadoPago
Los tipos de pago sirven para identificar si queremos hacer cobros con tarjeta de débito/crédito, efectivo, tarjeta de prepago, entre otros.
Estos tipos de pago son encontrados dentro de la misma respuesta JSON que obtuviste en la petición anterior. Específicamente, la propiedad payment_type_id.
Muestra el tipo de pago de MercadoPago en el mismo JSON.
Estos son los tipos de pago y sus ids encontrados en la petición:
ATM – atm
Tarjeta de crédito – credit_card
Tarjeta de débito – debit_card
Ticket – ticket
Transferencia bancaria – bank_transfer
Excluir métodos o tipos de pago de una preferencia de MercadoPago
La siguiente sección solo funciona con preferencias de MercadoPago.
Para crear una preferencia de MercadoPago usando su API, debemos seguir la documentación.
La petición que haremos será de tipo POST al siguiente enlace:
Copy
https://api.mercadopago.com/checkout/preferences
Debemos estar autenticados con nuestro Bearer Token pasándole un header de autenticación:
Autenticación para crear una preferencia de MercadoPago.
Y debemos pasar datos obligatorios para crear la preferencia.
Dentro de la documentación, busca la propiedad payment_methods, la cual es una propiedad para excluir métodos o tipos de pago y también para poner un método de pago por default.
La propiedad payment_methods acepta las propiedades excluded_payment_methods y excluded_payment_types. Estos son arreglos y dentro de estos irán objetos con los ids de los métodos y tipos de pago, respectivamente.
Si estamos creando una preferencia y estamos excluyendo los métodos de pago oxxo y bancomer y los tipos de pago bank_transfer. El JSON a pasar a la petición debe verse de esta forma:
Recuerda que los ids de los métodos y tipos de pago se consiguieron anteriormente.
El resultado del POST anterior será un JSON y te mostrará la información de la preferencia.
Datos enviados y respuesta JSON al crear una preferencia de MercadoPago.
Métodos y tipos de pago excluidos de la preferencia de MercadoPago
Una vez creada la preferencia, la respuesta JSON tendrá las propiedades init_point y sandbox_init_point. Estos son los enlaces para enviar a tus clientes y puedan comprar.
La propiedad sandbox_init_point es para pruebas. Entonces, si vamos a este enlace:
Primero verás que no sale la opción “Transferencia SPEI”. Y si seleccionas “Efectivo”, en la siguiente ventana la opción para pagar con OXXO no estará.
OXXO no aparece en la lista de pagos del producto.
Y así es como excluyes métodos y tipos de pago en MercadoPago.
Si tienes problemas o dudas, no dudes en comentar.
Hace un año empecé a leer sobre cómo desarrollar un Messenger Bot de Facebook; claro, sin ver nada de inteligencia artificial y esas cosas, algo sencillo.
La librería usada en este post ya no recibe actualizaciones y recomiendan utilizar Homebrew para macOS donde podrás usar PHP hasta su versión más reciente.
Estaba programando unos scripts que requerían PHP 7, y trataba de ejecutarlos desde la terminal; por desgracia, me daban error y tardé como 3 o 5 minutos en saber que mi macOS Sierra, venía con PHP 5.6 por default. Por suerte, hay plugins que te permiten actualizar PHP en macOS Sierra de una forma muy fácil.
Actualizar PHP en macOS Sierra
Existe una página web llamada php-osx.liip.ch que nos brinda un paquete que contiene PHP 7 (u otras versiones), y que podremos instalarlo desde un sólo comando en nuestra Mac (OS X / macOS 10.6 – 10.12).
Copia el comando anterior, y pégalo en tu terminal; pero antes, ¿notas que dice 7.3? Ahi tú puedes borrar el 7.3 y ponerle una de las siguientes versiones: 7.1, 7.0, 5.6, 5.5, 5.4 ó 5.3.
Después de que hayas escogido la versión a instalar, ejecutas el comando y empezará a instalar la versión de PHP que seleccionaste, no sin antes pedirte la contraseña para continuar.
Paso II.
Una vez instalado, puedes verificar la versión instalada desde tu terminal con el siguiente comando:
Copy
php--version
Podría suceder de que tu terminal muestre que tienes la versión 5.6.30, la que viene por defecto:
Copy
PHP 5.6.30 (cli) (built: Feb 7 2017 16:18:37)Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Si esto ocurre, sólo tienes que ejecutar este comando:
Copy
export PATH=/usr/local/php5/bin:$PATH
Revisa de nuevo la versión, y ahora tiene que salir correctamente:
Lo anterior debería funcionar, al menos funcionó para mí. La verdad es que solamente ocupo PHP desde la terminal para ejecutar scripts básicos, probar funciones, entre otros; de ahi en fuera utilizo un entorno de desarrollo llamado Local by Flywheel.
Espero que no tengas errores al tratar de instalar una nueva versión de PHP, pero si la tienes, no dudes en preguntar en los comentarios y con gusto te ayudaré a solucionarlo. 🙂
Changelog
09/02/2021. Se cambió la versión 7.1, usada en el post, a la última versión aceptada por la librería, 7.3. Y se agregó una advertencia al principio para usar Homebrew en vez de la librería presentada en este post.