Mercado Pago
Componente Principal
- Nombre:
MercadopagoPayment - Código:
mercadopago_adbpayment_checkout_pro
Funcionalidades
- Checkout Pro de Mercado Pago
- Múltiples métodos de pago dentro de la plataforma
- MSI para tarjetas seleccionadas
- Manejo de preferencias de pago
Implementación
Inicialización
initMercadoPago(MERCADO_PAGO_KEY)
const paymentMethod = 'mercadopago_adbpayment_checkout_pro'
Creación de Preferencia
const createPreference = async () => {
// Bloquear página durante el proceso
blockPage()
// Establecer método de pago
await setMercadoPagoPaymentMethod()
// Crear orden
const order = await placeOrder(false)
// Obtener preferencia de MP
const preference = await getMercadoPagoPreference()
// Tracking de analytics
analytics.track(
'app:checkout_paymentIntentSuccess',
paymentIntentProperties(processId, paymentMethod, quote, {
order: {
id: orderId
}
})
)
}
Integración con Magento
Establecer Método de Pago
const setMercadoPagoPaymentMethod = async () => {
const input: SetPaymentMethodOnCartInput = {
cart_id: cartId,
payment_method: {
code: PAYMENT_METHOD_MERCADOPAGO
}
};
return await MagentoOrderService.setPaymentMethod(input);
}
Obtener Preferencia
const getMercadoPagoPreference = async () => {
// Obtiene la preferencia de pago desde Magento/MP
}
Comunicación con Backend
- La gestión de webhooks y notificaciones IPN se realiza directamente en Magento
- El módulo de Mercado Pago en Magento maneja las notificaciones de pago y actualizaciones de estado
- El frontend solo se encarga de:
- Inicialización del Checkout Pro
- Creación de preferencias de pago
- Redirección del usuario al checkout de Mercado Pago
- Manejo de respuesta post-pago
Variables de Configuración
const MERCADO_PAGO_KEY = process.env.NEXT_PUBLIC_MP_PUBLIC_KEY
const MP_OPTIONS = {
locale: 'es-MX',
advancedOptions: {
checkoutOptions: {
theme: {
headerColor: '#000000',
elements: {
formBackgroundColor: '#FFFFFF'
}
}
}
}
}