2. MercadoPago
2° Developers Conference
● Introducción
● Iniciar un flujo de pago
● Conectando con el FrontEnd
● Notificaciones de MP
● SandBox
● Buenas prácticas
● SDKs
Agenda
7. MercadoPago
2° Developers Conference
Iniciar un flujo de pagos
Paso 1: Agrega el SDK y configura tus credenciales
developers.mercadopago.com/documentacion/recibir-pagos
require_once ('mercadopago.php');
$mp = new MP('TU_CLIENT_ID', 'TU_CLIENT_SECRET');
8. MercadoPago
2° Developers Conference
Iniciar un flujo de pagos
Paso 2: Crea tu preferencia de Pago
$preference_data = array(
"items" => array(
array(
"title" => "Barrilete multicolor",
"quantity" => 1,
"currency_id" => "ARS",
"unit_price" => 10.00
)
)
);
$preference = $mp->create_preference ($preference_data);
http://developers.mercadopago.com/documentacion/recibir-pagos
9. MercadoPago
2° Developers Conference
Iniciar un flujo de pagos
Paso 3: Usa la preferencia en el link de Pago
<a href="<?php echo $preference['response']['init_point']; ?>">Pagar</a>
http://developers.mercadopago.com/documentacion/recibir-pagos
12. MercadoPago
2° Developers Conference
Conectando con el FrontEnd
¿Puedo customizar mi botón?
●Modos de apertura (modal, redirect, blank).
●Texto y apariencia.
¡Claro!
developers.mercadopago.com/documentacion/render#resources-checkout-button
18. MercadoPago
2° Developers Conference
Notificaciones de MP
Pagos
http://www.yoursite.com/notifications?topic=payment&id=identificador-de-notificación-de-
pagoRealizaremos una demostración en vivo de búsqueda y devolución de pagos.
Pagos recurrentes
Veremos el detalle de este modelo en la siguiente presentación.
Merchant Order
Entidad que se crea cuando un comprador inicia un checkout. Maneja diferentes
estados. Aun estamos trabajando en este feature.
20. MercadoPago
2° Developers Conference
SandBox
¿Qué es?
Es un ambiente de prueba que te permite jugar con nuestro flujo de pagos (Checkout), como si fuera en
el mundo real.
¿Cómo lo accedo?
<a href="<?php echo $preference['response']['sandbox_init_point']; ?>">Pagar</a>
21. MercadoPago
2° Developers Conference
SandBox
● Dinero en cuenta: El monto de dinero en cuenta es fijo. No se agota si lo
usas en más de un pago y tampoco afecta tu saldo real.
Para probar, ingresa cualquier clave y el estado será: approved.
● Tarjetas de crédito: Puedes usar cualquier código de seguridad y debes
usar una de las tarjetas provistas en la documentación.
● Boleto, depósito o cupón: Al probar, obtendrás el estado: pending.
● Notificaciones: Recibes las notificaciones de pagos realizados.
developers.mercadopago.com/sandbox
28. Pagos Recurrentes
2° Developers Conference
● Introducción
● Esquema básico de funcionamiento
● Características
● Administración
● Integración mediante API
● Modelo AppStores
Agenda
29. Pagos Recurrentes
2° Developers Conference
Introducción
¿Qué son?
Son cobros que se realizan de forma periódica, generalmente una vez al mes. Sin embargo,
pueden existir casos en los cuales la frecuencia de cobro sea menor o mayor.
¿Para qué sirven?
Generalmente se utiliza mucho en servicios, suscripciones a servicios o productos, donaciones.
Modelo idóneo para appstores, micro-payments, in-app payments, PPV, etc.
30. Pagos Recurrentes
2° Developers Conference
Esquema básico de funcionamiento
Creás un botón de suscripción y lo colocás en tu sitio
tiny.cc/mp-boton-suscripcion
32. Pagos Recurrentes
2° Developers Conference
Esquema básico de funcionamiento
MercadoPago se encargará de cobrarle a tu usuario en cada
período
33. Pagos Recurrentes
2° Developers Conference
Características
● Un solo botón, múltiples suscripciones
● Distintas frecuencias de cobro (en días o meses)
● Posibilidad de ofrecer free trial
● Podés integrarlo en modo iframe/invisible + retorno
a tu sitio
● Tu usuario puede seleccionar el monto
● Cobro por tiempo ilimitado o limitado
39. MercadoPago
2° Developers Conference
Integración mediante API
Paso 1: Agregá el SDK y configurá tus credenciales
developers.mercadopago.com/documentacion/pagos-recurrentes
require_once ('mercadopago.php');
$mp = new MP('TU_CLIENT_ID', 'TU_CLIENT_SECRET');
40. MercadoPago
2° Developers Conference
Integración mediante API
Paso 2: Creá la suscripción de pago
$preapproval_data = array(
"payer_email" => "my_customer@my_site.com",
"back_url" => "http://www.my_site.com",
"reason" => "Monthly subscription to premium package",
"auto_recurring" => array(
"frequency" => 1,
"frequency_type" => "months",
"currency_id" => "ARS",
"transaction_amount" => 60.00
)
);
$preapproval = $mp->create_preapproval_payment ($preapproval_data);
developers.mercadopago.com/documentacion/pagos-recurrentes
41. MercadoPago
2° Developers Conference
Integración mediante API
Paso 3: Usá la suscripción en el link
<a href="<?php echo $preapproval['response']['init_point']; ?>">Suscribirme</a>
developers.mercadopago.com/documentacion/pagos-recurrentes
42. Pagos Recurrentes
2° Developers Conference
Integración mediante API
• Cancelar una suscripción
• Modificar el precio de una suscripción vigente
• Modificar la fecha de cobro o inicio de suscripción
• ... además de gestionar tus cobros como ya lo venías
haciendo
developers.mercadopago.com
Mediante llamadas a la API podés:
tiny.cc/mp-devolver-y-cancelartiny.cc/mp-pagos-
recurrentes-upd
43. Pagos Recurrentes
2° Developers Conference
Integración mediante API
• SDKs
• Sandbox
• IPN
Herramientas
tiny.cc/mp-sdkstiny.cc/mp-
sandboxtiny.cc/mp-ipn
45. Pagos Recurrentes
2° Developers Conference
Modelo AppStores
Vos indicás cuánto y cuándo se debe cobrar a tu usuario y si
querés una respuesta online o diferida
1 -MercadoPago es la plataforma de pagos de MercadoLibre.
2 - Te permite hacer 3 cosas:-Pagar tus compras:
En cuotas sin interés con tarjeta de crédito o en efectivo.
-Recibe pagos online:Con múltiples medios de pago y desde cualquier dispositivo.
Desarrollador:
Ofrece una serie de herramientas que te permiten desarrollar la solución que se adecue a tu modelo de negocio.
3 – MercadoPago cumple con los estándares de seguridad mas estrictos de la industria
MercadoPago llega a:
-A 90 millones de compradores.
-En más de 150 mil negocios online.
-Con 50 medios de pago en Latinoamérica.
Importar librería de PHP y enviar las credenciales.
Enviar información del artículo a procesar. Title, quantity, currency_id, unit_price.
Invocar al método create_preference con la información del artículo. internamente el método resolverá la creación de credenciales.El valor del atributo Init_point es la url necesaria para la invocación de un checkout.
Invocar al método create_preference con la información del artículo. internamente el método resolverá la creación de credenciales.El valor del atributo Init_point es la url necesaria para la invocación de un checkout.
Debo hacer 3 cosas:-Colocar el render dentro del tag &lt;/script&gt;-Colocar en el href el link de init_point.-Definir la clase del boton, modo de apertura y colocar el texto.
La clase define “la apariencia” del boton. Y el texto dentro del tag &lt;/a&gt; es el que figura en el boton. Se puede descargar de forma asíncrona
-Los modos de apertura los defino con el parámetro “mp-mode”.-El texto lo encierro dentro del tag &lt;/a&gt;
-La apariencia la defino con la clase. La composición de ésta es “color-tamaño-forma-fuente-logos”
Embebido dentro del sitio del vendedor. Utiliza el potencial del render.
Pantalla full. Fuera del sitio del vendedor. “Redirect” misma pantalla, “blank” otra pantalla.
Unico codigo? Responsive?
¿Por qué? Cuantos menos pasos en el proceso, mejor será la conversión. Si nos dices el e-mail de tu comprador, nuestro checkout evitará interrumpirlo y lo logueará automáticamente en MercadoPago , aunque no tenga una cuenta registrada.
¿Por qué? Los compradores sentirán la tranquilidad de que están pagando lo que quieren.
Free trial: El primer cobro siempre se hará al momento de finalizar la suscripción, a menos que tenga un free trial o una fecha de comienzo futura
Mobile: web mobile (Android & iOS OK)
Reciclado de pagos (Poseemos un esquema de reintentos en el cual, si un pago no pudo ser cobrado volveremos a intentar hacerlo varias veces y comunicaremos a tu usuario sobre las dificultades de cobro y qué debe hacer para solucionarlo. Validación de tarjeta al realizar la suscripción ==&gt; asegura altas probabilidades de cobrabilidad)
Mismo pricing que para pagos normales (costo de transacción, cobertura de contracargos, liberación de dinero, etc. son los mismos que para pagos normales)
WIP MLA acreditación instantánea
WIP más países de MP en recurring
WIP account_money (medios off)
(listar, buscar, estado de suscripción, estado de deuda, acciones, histórico de pagos)
(cambiar tarjeta, stop debit)
Mail messaging con ambos: comprador (autorizaste el débito, cómo puede hacer stop debit o cambiar la tarjeta, cuándo se le debita exitosamente y cuando no y cómo recuperarlo, etc.), vendedor (tenés un nuevo suscriptor, un suscriptor se dió de baja, etc.)
A full sitios de beneficencia, donaciones, etc por lo práctico del modelo y por poder dar la posibilidad de ingresar el monto a pagar al usuario. También sitios de servicios, clubes, membresías...
Importar librería de PHP y enviar las credenciales.
Enviar información de la suscripción a crear. frecuencia de cobro, monto, fechas opcionales.
Diagrama de secuencia:
http://www.websequencediagrams.com/?lz=VHUgdXN1YXJpby0-Vm9zOiBRdWllcm8gc3VzY3JpYmlybWUgIQpWb3MtPk1QOiBhdXRoICsgcHJlYXBwcm92YWwKTVAAMwdPSyArIGluaXRfcG9pbnQALwYAVgo6IGZvcm0gZGUgYWx0YQoAbQxNUDogZGF0b3MgZGUgdGFyamV0YSAoUENJIGNvbXBsaWFudCkAJA0AgSUFcmV0b3JubyBhIHR1IHNpdGlvAIECCklQTjogbnVldmEAgUMHcGNpw7NuICE&s=modern-blue
1 - Te autenticás y creás un preapproval (suscripción).
2 - MP te devuelve la URL de alta del preapproval creado.
3 - Lo insertás en su sitio cómo prefieras (iframe, redirect, modal) o enviás a tu usuario a esa URL.
4 - Tu usuario realiza la suscripción.
5 - Tu usuario vuelve a tu sitio y por IPN te notificamos de la nueva suscripción.
Invocar al método create_preapproval_payment con la información de la suscripción. Internamente el método resolverá la creación de credenciales.El valor del atributo init_point es la url necesaria para la invocación de un checkout.
Invocar al método create_preapproval_payment con la información de la suscripción. Internamente el método resolverá la creación de credenciales.El valor del atributo init_point es la url necesaria para la invocación de un checkout.
(x ej devolver pagos)
(en caso de diferida tenés reintentos y nos podés especificar hasta cuándo reintentar; MULTIPOST)