WooCommerce
Futa Payments for WooCommerce ajoute Futa comme moyen de paiement de WooCommerce, dans le paiement classique et dans les blocs Panier et Paiement. Le client paie sur la page hébergée de Futa ; la commande n’est marquée payée que lorsque Futa le dit, par son webhook signé ou une lecture d’état, jamais par le retour du client.
Il demande PHP 8.1, WordPress 7.0 et WooCommerce 11.0 ou plus récents, et n’est encore proposé dans aucune place de
marché : son dossier futa-payments-for-woocommerce se trouve dans Futa-payer-web sous plugins/woocommerce/, à
copier dans wp-content/plugins/ pour des essais en bac à sable, par les personnes à qui Futa a ouvert
Futa-payer-web. MIT est la licence envisagée, un texte provisoire qui n’accorde rien tant que Futa n’a pas tranché ;
d’ici là, le code est sous tous droits réservés.
Dans ses réglages, saisissez une clé sk_test_… propre à la boutique, avec six permissions, payments:read,
payments:write, refunds:read, refunds:write, webhooks:read et webhooks:manage, puis le secret whsec_test_…
et la base de l’API, https://api.sandbox.futa-app.com pour le bac à sable hébergé. Enregistrez l’adresse du récepteur,
la route REST futa/v1/webhooks, comme point de réception Futa : dans le bac à sable local, Futa ne livre qu’à
http://127.0.0.1, sur un port de 18161 à 18169, au même chemin. Dans le bac à sable hébergé, aucune livraison
n’atteint la boutique : Futa ne livre qu’à son propre récepteur de test, qui y répond sans rien garder, si bien que
l’extension apprend chaque résultat par ses vérifications en arrière-plan, dont le balayage de vos paiements approuvés.
L’abonnement ci-dessous lit votre point de réception et est refusé sans lui : ajoutez-le d’abord dans la console
développeur, sur le récepteur de test, http://127.0.0.1:18161/sandbox/webhooks, ou laissez l’abonnement de côté dans
le bac à sable hébergé.
Appuyez ensuite sur « Abonner votre point de réception Futa à ces événements », qui demande webhooks:read et
webhooks:manage : sans cet abonnement, les remboursements à approuver, rejetés ou expirés et les encaissements de
remplacement n’arrivent jamais. La boutique doit être servie en https. Les montants sont en USD ou en CDF, en unités
mineures entières ; un total CDF avec des centimes est refusé.
Un seul paiement à la fois : après un refus ou une expiration, la commande attend, en attente, que Futa confirme que
le paiement ne peut plus être encaissé. Un paiement approuvé pour une commande qui n’attend plus de paiement, ou d’un
autre montant ou d’une autre devise, est mis en attente de votre vérification, jamais livré deux fois ni remboursé
automatiquement : il reste signalé jusqu’à ce que vous écartiez le signalement sur l’écran de la commande, après
l’avoir remboursé dans le portail Futa ou en avoir décidé autrement ; écarter le signalement ne paie ni ne rembourse
rien. Un remboursement n’est enregistré qu’une fois effectué par Futa, et un seul à la fois est en cours par
commande. Quatre vérifications en arrière-plan sont dues chaque minute, dans au plus 10 requêtes par minute : elles
relisent les paiements, les remboursements et les paiements approuvés qu’un webhook perdu aurait laissés. Elles n’ont
lieu que lorsqu’une requête atteint WordPress ; pour qu’elles tournent à l’heure, définissez DISABLE_WP_CRON et
appelez wp-cron.php chaque minute depuis le cron du serveur.