THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Dans le cadre du développement d'un module de paiement en X fois, comment imputé le montant du coût du crédit à la commande pour que le montant total inclut bien ce coût dans Thelia ?

Fonctionnement actuel du module :
au moment de la sélection du moyen de paiement en fonction du fractionnement choisi (3X, 4X, 10X) il récupère via une API le coût du crédit. Cette information est affiché dans l'interface mais n'est pas inclue au panier. Du coup le client paie bien le montant total + le montant du crédit mais dans Thelia et dans son compte client ne figure que le montant hors coût du crédit.

Quelle est la meilleure approche selon vous?
- créer un produit "à la volée" ("Coût du crédit" pour chaque commande) si oui comment (via la capture d'un TheliaEvents)
- créer un produit générique dont le prix est "ajustable" pour chaque commande (via la création dynamique d'un coupon appliqué automatiquement)
- mentionner simplement en note sur le bon de commande le coût du crédit à proximité du mode de règlement de la commande (solution la plus simple je pense)

Offline


Salut Nog!

Je viens de mettre en place ce genre de paiement sur une V1.

Et à priori cette information, on ne l'a qu'en arrivant sur la page de paiement (banque).

Donc :
- soit ce coût de crédit est "fixe" (% du total où je ne sais quoi) => tu l'affiches en faisant ton petit calcul
- soit y a moyen de récupérer ce coût de crédit via l'API de la banque => tu le récupères et tu l'affiches
- soit y'a pas vraiment moyen de savoir et donc tu affiches juste une note "Le paiement en plusieurs fois peut générer un coût supplémentaire au moment du paiement"


Aide les autres, ils t'aideront en retour.

Offline


Le coût du crédit dépend du nombre du nombre d'échéances.
L'approche la plus simple est je pense la mention "Le coût du crédit...." avec pour inconvénient (relatif) que le montant de la commande enregistrée en base ne correspond pas exactement à ce qu'a payé le client.

idéalement je souhaiterais ajouter le coût du crédit au montant total de la commande pour que la somme enregistrée en base soit la somme "coût financier" inclus.

Offline


Oui je comprends... mais si je dis pas de bêtise...

La banque qui fait crédit te paye l'intégralité de la commande et euh gèrent le coût du crédit. Non ?

Genre commande à 1 000 € en 4 fois.

Tu reçois les 1 000 € et le client va payer 4 x 250 € (+ coût du crédit).

Donc au final l'information du coût du crédit importe peu à toi ?


Aide les autres, ils t'aideront en retour.

Offline


En effet.
Mais quand le client recevra son relevé bancaire il verra par exemple 1 premier prélèvement de 250€ (+ coût du crédit) et les 3 échéances suivantes à 250€.
Dans son compte sur le site ecommerce, il ne verra par contre que 1000€. Je chipote mais bon hmm

Je vais opter pour un rappel du montant du crédit.

Offline


Hum... je vais voir ce que mon client décide de faire pour ça et je te dis quoi wink


Aide les autres, ils t'aideront en retour.

Offline


Si c'est au moment du choix du paiement, je suppose que tu peux faire un appel ajax qui va invoquer l'API au moment où le client choisit le paiement en plusieurs fois, et afficher le cout du crédit à proximité du module de paiement.

Et au moment de la création de la commande (soit au clic de "payer", par exemple TheliaEvents::ORDER_BEFORE_PAYMENT), tu stockes dans une table de ton module le cout du crédit, associé à l'order ID, que tu pourras alors afficher via une boucle sur les documents de commande (mail, pdf, détail de commande dans le compte client). Ainsi la facture est bien du montant des achats (ce que tu reçois), et le cout du crédit (ce que la banque reçoit) est séparé, mais figure bien partout.

Au moment du paiement, la banque va clairement indiquer le montant des échéances, et le cout supplémentaire de la 1ere échéance, donc tout sera nickel. Si l'API de la banque  le permet, tu peux aussi stocker le détail des échéances pour les ré-afficher dans les documents client, c'est classe.


OpenStudio Toulouse

Offline


Si c'est au moment du choix du paiement, je suppose que tu peux faire un appel ajax qui va invoquer l'API au moment où le client choisit le paiement en plusieurs fois, et afficher le cout du crédit à proximité du module de paiement.

C'est effectivement ce que j'ai mis en place

Et au moment de la création de la commande (soit au clic de "payer", par exemple TheliaEvents::ORDER_BEFORE_PAYMENT), tu stockes dans une table de ton module le cout du crédit, associé à l'order ID, que tu pourras alors afficher via une boucle sur les documents de commande (mail, pdf, détail de commande dans le compte client). Ainsi la facture est bien du montant des achats (ce que tu reçois), et le cout du crédit (ce que la banque reçoit) est séparé, mais figure bien partout.

Humm peut-être pour une la v2 neutral

Au moment du paiement, la banque va clairement indiquer le montant des échéances, et le cout supplémentaire de la 1ere échéance, donc tout sera nickel. Si l'API de la banque  le permet, tu peux aussi stocker le détail des échéances pour les ré-afficher dans les documents client, c'est classe.

L'API envoie bien l'échéancier complet en même temps que l'estimation du coût du crédit. Il faut que je complète le module pour stocké ces informations.

Petite question : quelle est la meilleure approche pour stocker la réponse (au format JSON) renvoyée par l'API :
1/ stocker la réponse telle quelle (JSON dans un champ texte)
2/ parser le JSON et stocké les différentes données dans des champs dédiés
sachant que le format JSONest un type natif de MySQL depuis la version 5.7.8 ?
L'option 2 à le mérite de ne pas imposer un pré requis sur la version de la base de données et de rester compatible avec la version courante de Thelia

Pour information il s'agit d'un module pour Floapay

Offline


Je dirais réponse 1/, c'est facile de parser un bout de json, ça marche partout et tout le temps, et tu en extrait juste l'info dont tu as besoin, probablement dans une boucle.


OpenStudio Toulouse