|
Started by JBG, Sep., 20 2022 12:31 PM - 6 replies |
| |
| | | |
|
| |
Registered member 3 messages |
|
Posted on September, 20 2022 - 12:31 PM |
Bonjour,
Je suis un utilisateur de paybox pour les paiements en ligne mais on me demande de mettre en place un paiement par paypal. Je voulais utiliser le composant WW_paiementSecurise, mais son comportement ne me satisfait pas : Il y a une double validation, on va sur paypal --> Il y a l'accord de paiement --> retour sur la boutique --> il faut confirmer le paiement... ce traitement est différent de paybox qui valide le paiement directement. En plus il y a une phrase qui dit qu'on pourra retirer plus d'argent que le montant pour de la livraison, ce qui n'est pas mon cas.
Est-ce que quelqu'un peut m'expliquer comment modifier pour ne pas avoir ces 2 comportements ?
Et quelle est la différence avec le champ métier ? Il me semble que le traitement des retours est plus "léger", qu'il n'y a pas de retour serveur à serveur ?
Merci d'avance pour votre aide ou conseil.
JBG |
| |
| |
| | | |
|
| | |
| |
Registered member 1,123 messages Popularité : +8 (8 votes) |
|
Posted on September, 26 2022 - 6:08 PM |
Puisque je suis passé par là et que sur ce sujet, la doc est anémique, je te propose mon code qui fonctionne très bien.
Bouton payer:
SI EnModeTest(mtProjet) = Vrai ALORS gsCancelReturn = PageAdresse("", paComplète) gsReturn = PageAdresse("", paComplète)
SINON gsCancelReturn = PageAdresse("", paSécurisée) gsReturn = PageAdresse("", paSécurisée) FIN
SI gxMontantAPayer > 0 ALORS PageAffiche(PAGE_PaiementCompte, "MontantAPayer") SINON ToastAffiche("Vous devez sélectionner un forfait", toastLong, cvBas, chCentre, RGB(255,0,0)) FIN
Chargement de Page_PaiementCompte (Navigateur);
sMontantAPayer est une chaîne = NumériqueVersChaîne(MontantAPayer, "4.2fS") + " $"
LIBF_MontantAPayer = sMontantAPayer
Page_Paiement;
Déclaration globales de SC_Paiement;
gsIdentifiantPaypal est une chaîne = "Identifiant Paypal" gnMontantPaiement est un réel = sMontantAPayer gsDevise est une chaîne = "CAD" gsLocale est une chaîne = "fr_CA"
Initialisation de SC_Paiement (Serveur);
SC_Paiement..HTMLAvant = ChaîneConstruit([ <script src="https://www.paypal.com/sdk/js?client-id=%2¤cy=%1&locale=%3"></script> ],gsDevise,gsIdentifiantPaypal,gsLocale)
Affectation de la Propriété Valeur de SC_Paiement (Serveur);
gnMontantPaiement = MoiMême ExécuteTraitement(MoiMême,trtInit)
Récupération de la Propriété Valeur de SC_Paiement (Serveur);
RENVOYER gnMontantPaiement
Chargement de SC_Paiement (Navigateur);
procPaiementEffectue est une Procedure = PaiementReussi
InitPaypal(MoiMême..Alias,gnMontantPaiement,procPaiementEffectue) PROCEDURE INTERNE Paiementreussi AJAXExecute(ajaxAppelSimple, PaiementEffectue) ExécuteTraitement(BTN_RETOUROK, trtClic) FIN
Procédure locale PaiementEffectue (serveur); Lorsque le paiement est réussi, la procédure PaiementEffectue est exécutée et c'est dans cette proc que l'on met à jours les BD.
Procédure locale JS InitPaypal (SC_Paiement);
function A2_InitPaypal(sAliasConteneur,nValeur,procApresValidation) { var domConteneur = document.getElementById(sAliasConteneur).querySelector("td"); // Vide de l'image d'attente domConteneur.innerHTML = ""; // Cible le conteneur pour l'API PayPal domConteneur.id = sAliasConteneur+"_PayPal"; paypal.Buttons({ style: { }, // Init avec montant createOrder: function(data, actions) { return actions.order.create({ purchase_units: [{ amount: { value: nValeur } }] }); }, // Finalisation onApprove: function(data, actions) { return actions.order.capture().then(function(details) { // Paiement réussi // alert("Paiement réussi") procApresValidation(); }); } }).render('#' + domConteneur.id); }
J'espère que tu y arriveras!
-- Jean Turcotte WX 27 Android 9.0 sur Galaxy S8 Laptop Lenovo I7 12GB Ram |
| |
| |
| | | |
|
| | |
| |
Registered member 1,298 messages Popularité : +20 (72 votes) |
|
Posted on September, 28 2022 - 6:04 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 116 messages Popularité : +1 (1 vote) |
|
Posted on September, 29 2022 - 9:48 AM |
Bonjour Jean, le site qui accueille votre code est développé en mode AWP ou en mode Session ou votre code fonctionnerait-il indifféremment dans les 2 modes ? Je suis en train d'évaluer la bascule de nos sites AWP vers le mode session avec ses pages référencées.
Bonjour Bertin,, Payconiq fonctionne-t-il comme Paypal ? Je veux dire suivant la même procédure (i.e. suivant les mêmes séquences d'affichage) que lorsqu'un client utilise Paypal dans un site en ligne. Je vois dans la documentation l'utilisation de QRcode [https://www.payconiq.be/fr/faq/en-quoi-consiste-payconiq-et-comment-cela-fonctionne-t-il] ... et pas d'exemple sans QRcode.
Merci. Cordialement. GillesMessage modified, September, 29 2022 - 9:51 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 3 messages |
|
Posted on September, 29 2022 - 3:48 PM |
Bonjour Jean,
Merci, pour le détails. Mais on est bien d'accord qu'il s'agit du champ métier paypal et qu'il n'y a pas de retour Serveur à serveur ?
Bien cordialement,
JBG |
| |
| |
| | | |
|
| | |
| |
Registered member 1,123 messages Popularité : +8 (8 votes) |
|
Posted on September, 29 2022 - 5:46 PM |
Je suis en mode session et il n'y a effectivement pas de retour.
-- Jean Turcotte WX 27 Android 9.0 sur Galaxy S8 Laptop Lenovo I7 12GB Ram |
| |
| |
| | | |
|
| | |
| |
Registered member 1,144 messages Popularité : +50 (142 votes) |
|
Posted on October, 04 2022 - 7:14 PM |
Bonsoir Jean,
Les pages de retours doivent absolument être fixe. Ce sont des pages serveur uniquement (tout comme stripe). Elles doivent donc être en AWP. J'ai fait récemment un tuto sur le principe de fonctionnement (sur ma chaîne Youtube)
Par ailleurs, tester le paiement en mode débogue est impossible, l'URL de retour doit être publique (me semble-t-il). Pour tester Paypal il faut se connecter en mode développeur (ou test) et lancer un achat depuis le site déployé.
-- Thierry TILLIER Développeur Windev-Webdev Formation Windev : https://coursdinfo.teachable.com/ Formation bureautique : https://coursdinfo.net Tuto WINDEV sur ma chaîne Youtube |
| |
| |
| | | |
|
| | | | |
| | |
|