MemberMouse 3.0+
NOTA: With payment services that don’t support card-on-file functionality (i.e. PayPal, Authorize.net), MemberMouse has no control over the recurring billing process and no gestionar automáticamente los pagos atrasados.
Por defecto, MemberMouse tiene un proceso de reclamación incorporado para el cobro de pagos atrasados. Si una suscripción no se factura en la fecha prevista, MemberMouse realiza tres intentos adicionales en el plazo de una semana para cobrar el pago. MemberMouse también enviará una notificación configurable de notificación de pago atrasado after each failed payment. If you’d like to review a detailed description of this process, go to our article Gestión automatizada de los pagos atrasados.
Puede ajustar los tiempos entre cada intento de facturación, pero los tres intentos no se pueden cambiar. Se trata de un número fijo.
Aunque este intervalo de recogida funciona muy bien por defecto, es posible que desee personalizar los días que transcurren entre un intento de recogida y la duración de su proceso de recogida general. Esto se puede personalizar utilizando un filtro de WordPress, mm_billing_subscription_dunning_interval.
Los filtros son funciones por las que WordPress pasa datos en ciertos puntos de la ejecución justo antes de tomar alguna acción con los datos. MemberMouse define su propio conjunto de filtros que puede utilizar para controlar el flujo de ejecución en MemberMouse antes de realizar determinadas acciones.
Here’s a basic example:
function customContentProtection($data)
{
devuelve true;
}
add_filter('mm_bypass_content_protection', 'customContentProtection');
In this example, we’re using the add_filter() para indicar que el customContentProtection() cuando MemberMouse aplique el método mm_bypass_content_protection filtro.
To learn more about working with WordPress’ Action API leer este artículo.
Personalización de los intervalos de reclamación
MemberMouse pasa dos argumentos a su función. El primero es un entero $failureInterval que representa el número predeterminado de días antes de que se realice el siguiente intento. El segundo es un número entero $failureState que representa el estado concreto de facturación fallida. Actualmente existen tres estados de fallo: 2, 3, 4 que representan el segundo, tercer y último intento de cobro, respectivamente.
Your function should return an integer representing the number of days that should be allowed to elapse before the next attempt. Here’s an example that replicates the default dunning intervals:
function customDunningInterval($failureInterval, $failureState)
{
switch ($failureState)
{
caso 2:
return 2; // Primer reintento, dos días después del fallo de facturación inicial
caso 3: return 3
return 3; // Segundo reintento, tres días después del primer reintento
caso 4: return 2
return 2; // Tercer reintento, dos días después del segundo reintento
por defecto:
return $failureInterval;
}
}
add_filter("mm_billing_subscription_dunning_interval", "customDunningInterval", 10, 2);
Para personalizar los intervalos de reclamación, sólo tiene que cambiar los valores devueltos en las tres sentencias case a la duración deseada en días.
Por lo tanto, si quisiera reintentar el pago 3 días, 5 días y 7 días después de cada intento, cambiaría la función de la siguiente manera:
function customDunningInterval($failureInterval, $failureState)
{
switch ($failureState)
{
caso 2:
return 2; // Primer reintento, tres días después del fallo de facturación inicial
caso 3: return 3
return 3; // Segundo reintento, cinco días después del primer reintento
caso 4: return 2
return 2; // Tercer reintento, siete días después del segundo reintento
por defecto:
return $failureInterval;
}
}
add_filter("mm_billing_subscription_dunning_interval", "customDunningInterval", 10, 2);

