Skip to content

Desarrolladores

Esta sección contiene información util para los desarrolladores que deseen extender la funcionalidad de nuestro plugin.

Es probable que en tu tienda necesites desactivar el medio de pago de suscripciones según alguna regla específica que tengas, por lo que dejamos un par de snippets de ejemplo para realizarlo mediante código. Este código deberá ir en el archivo functions.php de tu tema activo.

// Activar suscripciones solo si todos los productos tienen la categoría ID 4
add_filter('wc_mercadopago_plus_subscriptions_method_is_enabled', 'crplugins_mercadopago_plus_subscriptions_method_is_enabled', 10, 1);
function crplugins_mercadopago_plus_subscriptions_method_is_enabled($is_enabled) {
$cart = WC()->cart;
$cart_items = $cart->get_cart();
$allowed_category = 4;
/**
* @var array{data: WC_Product, quantity: int}[] $cart_items
*/
foreach ( $cart_items as $cart_item ) {
$product = $cart_item['data'];
if (!in_array($allowed_category, $product->get_category_ids(), true)) {
return false;
}
}
return true;
}
// Activar suscripciones solo si no hay productos de las categorías ID 6 y 7
add_filter('wc_mercadopago_plus_subscriptions_method_is_enabled', 'crplugins_mercadopago_plus_subscriptions_method_is_enabled', 10, 1);
function crplugins_mercadopago_plus_subscriptions_method_is_enabled($is_enabled) {
$cart = WC()->cart;
$cart_items = $cart->get_cart();
$forbidden_categories = [6, 7];
/**
* @var array{data: WC_Product, quantity: int}[] $cart_items
*/
foreach ( $cart_items as $cart_item ) {
$product = $cart_item['data'];
if (!empty(array_intersect($forbidden_categories, $product->get_category_ids()))) {
return false;
}
}
return true;
}

MercadoPago Plus para WooCommerce ofrece distintas acciones y filtros que podes incluir en tu plugin o tema, están listados a continuación:

HookTipoArgumentosDescripción
wc_mercadopago_plus_payment_webhook_receivedaction$bodyOcurre al recibir una notificación de pago
wc_mercadopago_plus_subscription_webhook_receivedaction$bodyOcurre al recibir una notificación de suscripción
wc_mercadopago_plus_payment_webhook_processedaction$bodyOcurre luego de procesar una notificación de pago
wc_mercadopago_plus_subscription_webhook_processedaction$bodyOcurre luego de procesar una notificación de suscripción
wc_mercadopago_plus_order_subscription_cancelledaction$order_idOcurre luego de cancelar una suscripción
wc_mercadopago_plus_subscriptions_method_is_enabledfilter$is_enabledDevuelve true si el medio de pago de suscripciones debe estar activo, false en caso contrario
wc_mercadopago_plus_bricks_method_is_enabledfilter$is_enabledDevuelve true si el medio de pago en cuotas debe estar activo, false en caso contrario