Développement module HelloAsso Checkout

Dans le cas de lien qui n’est pas un paiement libre mais un paiement d’un objet dolibarr (facture, adhésion d’adhérent), on connait le tiers ou adhérent. Donc on peu passer à l’api l’adresse connu (j’ai mis un todo dans le code du hook qui genere l’appel d’api…). Pour l’adhésion, on a le nom prenom et adresse. Pour la facture on a le nom du tiers sans détail sur nom et prénom, mais on peut mettre ce nom de tiers donc le nom avec un prénom vide, et l’adresse de la société, du moins on peu essayer voir ce que cela donne…

Y-a-t’il des mises à jours par rapport aux problèmes que j’ai remonté ?

Oui en effet des mises à jour ont été ajoutés pour régler les problèmes remontés.
Cela serait d’une grande aide si tu pouvais tester encore une fois.

Hola, j’ai mis à jour avec la dernière version 20 de dolibarr et du module helloasso.

  • J’ai toujours ce bug avec le bouton du mode test
    Je précise un peu ce qu’il se passe :
  1. J’entre les mêmes clés dans les champs de test
  2. J’enregistre
  3. Je bascule le bouton sur test
  4. Le mode du module ne change pas, il reste en mode live mais toutes les infos restent dans les champs
  5. Je réactive le module
  6. Mes champs test (slug, clé publique, clé privée) ont disparu et le module est repassé en mode live

  • Lors de l’initiation d’un paiement j’ai bien les champs préremplis seulement c’est pré-rempli en mode « organisme » (cf screenshot)

J’espère que mes explications vous aiderons

Hey,

  • Pour le premier point, lorsque tu cliques sur le bouton du mode test, peux-tu regarder dans la console du navigateur si tu avais une erreur. Si oui, je veux bien un screen. Ou alors une vidéo montrant les étapes de ta configuration.
    Car même avec tes explications, je n’arrive pas à reproduire le bug.

  • Pour le second point, je dirais que c’est normal si c’est une facture que le formulaire soit directement remplie avec les données de l’entreprise.

Encore une fois merci pour ton aide.

Hola,

Autant pour moi le bug du bouton était lié à un problème de cache et d’autorisation sur mon serveur.
Cependant je ne parviens toujours pas à faire fonctionner le mode test, j’obtiens ce message d’erreur : ErrorFailedToGetTokenFromClientIdAndSecret

Pour le second point, je facture pourtant un particulier (un tiers) qui est aussi couplé à un adhérent. Est-il possible de faire la différence entre un tiers et une entreprise pour cocher ou non la case « organisme » du formulaire helloasso ?

Je viens de tester à nouveau un paiement avec votre module et j’ai toujours cette erreur sur la monnaie utilisée pour le paiement. Je n’ai pas le module multicurrency d’activé, tous mes paiements sont en euros donc je ne comprends pas d’où vient l’erreur … C’est un peu embêtant car derrière Dolibarr ne valide pas la facture alors que le paiement passe correctement.

Id facture: 2309
Lien: https://xxxxxxxxxx.fr/compta/facture/card.php?id=2309
Actions complémentaires après paiement : Erreur
* Payment was done in a different currency that currency expected of company
Une annulation a été effectuée sur toutes les actions Post paiement. Vous devez compléter les actions complémentaires manuellement si elles sont nécessaires.

Informations techniques:
Système de paiement en ligne: helloasso
Voici l'identifiant de la transaction: :
URL de retour de paiement: /public/payment/paymentok.php?fulltag=INV%3D2309.CUS%3D451.PM%3Dhelloasso&code=succeeded

tag=INV=2309.CUS=451.PM=helloasso
token=
paymentType=
currencycodeType=
payerId=
ipaddress=
FinalPaymentAmt=34.96

Petit Up ?

Super merci pour les informations, je vais essayer de voir d’où viens le problème

Après plus ample vérifications ton problème viens de la varible $_SESSION[« currencycodeType »] qui n’a pas été définie en amont dans la page htdocs/public/payment/newpayment.php, ce fichier n’est pas touché par le module helloasso.
L’erreur de retour envoyée est dû a un test qui verifie si la devise renvoyée par $_SESSION[« currencycodeType »] est bien égale a $conf->currency, ce test est fait dans la page /public/payment/paymentok.php

Ok je vois, comment faire pour résoudre ce problème ?

Je ne suis pas parvenu à régler le problème tout seul. Auriez-vous des suggestions ?

Je suis en train d’essayer de voir quel est le problème, je reviens vers toi quand j’aurais plus d’informations. L’erreur semble être une erreur de perte du currencycodeType

Pourrais tu me dire si le problème est réglé si tu rajoute :

$_SESSION["currencyCodeType"] = $parameters["currency"];

Dans le fichier htdocs/helloasso/class/actions_helloasso.class.php ligne 502 de la dernière version de la branche master

Bonjour,

Malheureusement je viens de réessayer et j’ai toujours la même erreur :

Actions complémentaires après paiement : Erreur * Payment was done in a different currency that currency expected of company
Une annulation a été effectuée sur toutes les actions Post paiement. Vous devez compléter les actions complémentaires manuellement si elles sont nécessaires.

J’en profite aussi pour préciser que le mode test ne fonctionne toujours pas pour moi (error bad client or secret ID) alors que j’entre exactement les mêmes informations d’identification pour les deux modes.

Bonjour,

Pour le mode test, il faut créer un autre compte sur la partie sandbox de helloasso: helloasso-sandbox ce qui implique donc de ne pas avoir les mêmes informations de connexion sur le mode test et le mode live.

Pour l’erreur de currency je vais rajouter des logs pour essayer de comprendre ce qu’il se passe

Un fix a été proposé sur le github dolimods, le problème semble réglé fix

Ahhhh effectivement je n’avais pas créé de compte sur helloasso-sandbox. C’est chose faite.
Mais mes informations d’identification ne fonctionnent toujours pas. Chose étrange si je vide les identifiants live et que je fais « test connection » ça m’indique « SuccessfullyConnected » …

Je vais tester le fix et je te redis

Le problème semble réglé pour le problème currency !

Egalement, est-ce qu’il y aurait possibilité d’adapter le module pour la version 19.0.2 de Dolibarr, car la il n’est compatible qu’avec la version 20 donc en soit pas utilisable pour le moment.

Le seul élément qui bloque le fonctionnement avec la version 19 est :

$item = $formSetup->newItem('HELLOASSO_BANK_ACCOUNT_FOR_PAYMENTS');->setAsSelectBankAccount();

Plus précisement la fonction : setAsSelectBankAccount()

EDIT : Je m’auto réponds, pour rendre le module compatible à dolibarr 19.0.2 il suffit de modifier un peu le fichier html.formsetup.class.php dans htdocs/core/class. Il faut y rajouter tout ce qui concerne SelectBankAccount

Autre bug : si aucun autre module de paiement par carte n’est activé alors le lien vers l’URL de paiement ne s’affiche plus (en bas à gauche sur l’image, sur le screenshot j’ai activé Stripe pour afficher le lien)