Même si la majorité des commerçants souhaite des montants égaux pour chacune des échéances qu’elle propose (50% en 2 fois, 33% en 3 fois et 25% en 4 fois), certains commerçants ont des besoins particuliers, souvent un encaissement plus important pour la première échéance.

Pour répondre à ce besoin épars sans surcharger inutilement la page de réglages de la passerelle Monetico pour WooCommerce, un filtre WordPress a été préféré.

$pourcents = [ '2x' => [50], '3x' => [33.33, 33.33], '4x' => [25, 25, 25] ];
Un simple tableau déclaratif

Pour gérer les pourcentages et y appliquer un filtre, un tableau à deux dimensions a été mis en place dans le code de la passerelle de paiement. Les pourcentages par défaut y sont définis, à noter que la dernière échéance est calculée automatiquement en soustrayant au total à payer les précédentes échéances, pour ne jamais rencontrer de problème d’arrondi. C’est pour cette raison que l’échéance 2x ne comporte qu’une valeur (50% par défaut), que l’échéance 3x n’en comporte que deux (33.33% par défaut) et que l’échéance 4x n’en comporte que trois (25% par défaut).

add_action('before_woocommerce_pay', 'abw_change_monetico');
function abw_change_monetico() {
add_filter('monetico_change_pourcents_fractionnements',
function($pourcents) {
return [ '2x' => [60], '3x' => [50, 25], '4x' => [40, 20, 20] ];
}
);
}
Exemple d'application du filtre

Pour appliquer les filtres, le code ci-dessus doit être inséré soit dans une extension spécifique, soit dans le fichier functions.php de votre thème enfant.

Le filtre doit renvoyer le tableau vu précédemment, adapté au besoin du commerçant. Le paiement en 2 fois sera composé d’un premier encaissement de 60%, puis du solde un mois plus tard. Le paiement en 3 fois sera composé d’un premier encaissement de 50%, puis d’un encaissement à 25% un mois plus tard et de l’encaissement du solde deux mois plus tard. Enfin, le paiement en 4 fois sera composé d’un premier encaissement de 40%, d’un encaissement de 20% un mois plus tard, puis d’un encaissement de 20% deux mois plus tard et de l’encaissement du solde 90 jours plus tard.

Une grande flexibilité !

L’avantage du filtre versus la mise en place de réglages spécifiques sur la passerelle, est, au delà du fait de ne pas surcharger l’interface pour un besoin peu répandu, la possibilité d’appliquer des pourcentages personnalisés en fonction de tous types de critères !

Vous pouvez décider d’appliquer certains pourcentages à des produits spécifiques, à des catégories, à des pays, à des utilisateurs ou groupes d’utilisateurs, etc.. Les possibilités sont illimitées.

Par exemple, comme il s’agit d’une facilité de paiement qui ne garantie pas les versements au delà du premier encaissement, nous pouvons imaginer faire payer un pourcentage plus élevé, lors de ce premier encaissement, pour un montant de panier atteignant un certain seuil !

add_action('before_woocommerce_pay', 'abw_change_monetico');
function abw_change_monetico() {
add_filter('monetico_change_pourcents_fractionnements',
function($pourcents, $order) {
if( $order->get_total() > 1000 ) {
return [ '2x' => [60], '3x' => [50, 25], '4x' => [40, 20, 20] ];
} else {
return $pourcents;
}
}, 10, 2
);
}
Des pourcentages personnalisés en fonction du montant de la commande

Le code est à peine plus compliqué. En complément du tableau des pourcentages par défaut, nous récupérons également l’objet $order de la commande pour y extraire le total de la commande. Si ce total est supérieur à 1000 €, nous appliquons notre grille personnalisée de pourcentages, dans le cas contraire, nous renvoyons les pourcentages par défaut.

Vous l’aurez compris, avec ce filtre nous pouvons tout faire… Bonne utilisation !