IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Windev et Paypal


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Windev et Paypal
    Bonjour tout le monde.

    Ayant beaucoup de difficultés à mettre en place une solution de paiement Paypal dans mon appli "WinDev", je fais appel aux généreux contributeurs afin de nous (m') expliquer le fonctionnement et la mise en place de ce système.

    J'ai vu qu'il existe différentes méthodes pour y parvenir (REST API, httpEnvoieformulaire, paybox et d'autres composants). Et il existe une grosse quantité de documentation sur https://developer.paypal.com/ qui est assez dur à digérer.

    Mes besoins sont simples :
    - M'authentifier sur paypal
    - Faire une demande de transfert d'argent depuis les codes CB du client.
    - Récupérer l'information si le transfert s'est effectué.

    Je sais aussi qu'il est possible de gérer le panier par paypal (Je n'en n'ai pas d'utilité, mais peut-être que d'autres seront intéressés!)

    En espérant créer un topique qui intéressera du monde et trouver solution à mon problème, je vous souhaite une bonne journée.

    Christophe M.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Windev paypal
    Bonjour,

    Personne n'as de solutions ou réussi à mettre en place paypal dans une appli WinDev?

    Cordialement

    Christophe M.
    sifirkas@Hotmail.fr

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 999
    Points : 2 096
    Points
    2 096
    Par défaut
    Bonjour,

    Ce que tu demandes est un développement lourd. Personne ne lira la documentation pour toi pour savoir ce qu'il faut faire. Après ça peut se négocier sur devis.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Windev paypal
    Bonjour,
    Oui, je sais que ce développement est assez lourd, ayant commencer a lire la documentation et tester les différentes méthodes.
    J'avoue que c'est assez compliquer.
    Selon le devis, cela peut m'intéressé, mais le but de ce topic serait plus de réunir des personnes intéressé (Et il doit y en avoir) afin de coder un module ensemble.
    Je suis aussi d'accord qu'un développeur doit se rémunéré, mais un peut de partage aide aussi beaucoup d'autres développeurs.
    (Qui n'as jamais copié du code trouvé sur internet me jette la 1ere pierre)

    Pour commencer le partage d'infos, ce que j'ai déjà trouvé :

    https://depot.pcsoft.fr/resource.awp...al-avec-windev
    Petit projet datant de 2011 en WinDev.
    Je n'ai pas réussi à l'utiliser.

    Sinon, en httprequete, j'ai trouvé ce code de delphiManiac :

    La connexion se fait tres bien et on récupère son access token.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    auth est une chaîne = Crypte("IdClient:Mdp", "", compresseAucun, encodeBASE64)
    auth = Remplace(auth, CRLF, "")
     
    header est une chaîne = "Authorization: Basic " + auth
    sparam est une chaîne = "grant_type=client_credentials"
     
    SI HTTPRequête("https://api.sandbox.paypal.com/v1/oauth2/token", "", header, sparam) ALORS
    res est une chaîne = HTTPDonneRésultat(httpRésultat)
    POUR TOUTE CHAINE sSousChaine DE res SEPAREE PAR ","
    Trace(sSousChaine)
    SI ExtraitChaîne(sSousChaine,1,":",DepuisDébut) = """access_token""" ALORS
    SAI_AccessToken = ExtraitChaîne(sSousChaine,1,":",DepuisFin)
    FIN
    FIN
     
    FIN
    maintenant je bloque sur (curl -vhttps://api.sandbox.paypal.com/v1/payments/payment> \)

    Donc avis aux personnes intéressés pour aider. Je continuerai a publier mes avancements fonctionnels.

    Cordialement

    Christophe M.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut windev paypal
    Re,

    Voici donc la méthode par champ html pour faire un paiement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    // ex pour 9 euros
    sai_montant = 9
     
    // Le code ci dessous est obtenu depuis la création d'un bouton paypal, mais le prix, la quantité et le nom de l'objet est fixé par défaut et non modifiable.
    // Afin de pouvoir les paramétrés, lors de l'étape 2 de création, il faut décocher "Enregistrer le bouton auprès de Paypal"
    // Et cliquer au dessus du code du bouton "Supprimer la protection de code"
     
    sContenu est une chaîne = [
    <CENTER>
    <form Action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <Input Type="hidden" name="cmd" value="_xclick">
    <Input Type="hidden" name="business" value="Identifiant de votre compte marchand">
    <Input Type="hidden" name="lc" value="FR">
    <Input Type="hidden" name="item_name" value="Video_123456">
    <Input Type="hidden" name="item_number" value="1">
    <Input Type="hidden" name="amount" value="6.70">
    <Input Type="hidden" name="currency_code" value="EUR">
    <Input Type="hidden" name="button_subtype" value="services">
    <Input Type="hidden" name="no_note" value="0">
    <Input Type="hidden" name="cn" value="Ajouter des instructions particulières pour le vendeur :">
    <Input Type="hidden" name="no_shipping" value="1">
    <Input Type="hidden" name="shipping" value="0.00">
    <Input Type="hidden" name="return" value="http://127.0.0.0/paiementok.html">
    <Input Type="hidden" name="cancel_return" value="http://127.0.0.0/paiementrefuse.html">
    <Input Type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted">
    <Input Type="image" src="https://www.paypalobjects.com/fr_FR/FR/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal, le réflexe sécurité pour payer en ligne">
    <img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
    </form>
     
    // changement du prix
    sContenu = Remplace(sContenu ,"<input type=""hidden"" name=""amount"" value=""6.70"">","<input type=""hidden"" name=""amount"" value="""+sai_montant +""">")
     
    // Idem pour la quantité et le nom.
     
    // intégration au champ html
    HTM_SansNom1 = sContenu
    // 2 Problèmes encore en cours :
    - si mon logiciel n'est pas redémarré, le bouton paypal ré-ouvre automatiquement le dernier compte logué. (malgré suppression des fichiers temporaires)
    - je suis obligé de renvoyer les pages ruturn_value et cancel_return_value pour contrôler que mon paiement est ok, et d'ajouter un bouton qui va controler le contenu de mon champ html afin de faire les traitements voulus.

    Christophe M.

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 855
    Points : 5 400
    Points
    5 400
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    ChaineConstruit te permettrait une meilleure portabilité de ton code.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    sContenu est une chaîne //éventuellement déclarée en constante
    sPaiementOkTest est chaine //même remarque
    sPaiementRefuséTest est chaine //même remarque
     
    sPaiementOk est chaine  //%4
    sPaiementRefusé est chaine //%5
     
    moPrix est Monétaire     //%3
    nQté est entier            //%2
    sDésignation est chaine //%1
     
    sPaiementOKTest="http://127.0.0.0/paiementok.html"
    sPaiementRefuséTest="http://127.0.0.0/paiementrefuse.html"
    sContenu= [
    <CENTER>
    <form Action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
    <Input Type="hidden" name="cmd" value="_xclick">
    <Input Type="hidden" name="business" value="Identifiant de votre compte marchand">
    <Input Type="hidden" name="lc" value="FR">
    <Input Type="hidden" name="item_name" value=%1>
    <Input Type="hidden" name="item_number" value=%2>
    <Input Type="hidden" name="amount" value=%3>
    <Input Type="hidden" name="currency_code" value="EUR">
    <Input Type="hidden" name="button_subtype" value="services">
    <Input Type="hidden" name="no_note" value="0">
    <Input Type="hidden" name="cn" value="Ajouter des instructions particulières pour le vendeur :">
    <Input Type="hidden" name="no_shipping" value="1">
    <Input Type="hidden" name="shipping" value="0.00">
    <Input Type="hidden" name="return" value=%4>
    <Input Type="hidden" name="cancel_return" value=%5>
    <Input Type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHosted">
    <Input Type="image" src="https://www.paypalobjects.com/fr_FR/FR/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal, le réflexe sécurité pour payer en ligne">
    <img alt="" border="0" src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" width="1" height="1">
    </form>
    ]
     
    SI EnModeTest ALORS
       sContenu=ChaineConstruit(sContenu,sDésignation,nQté,moPrix,sPaiementOKTest,sPaiementRefuséTest)
    Sinon
       sContenu=ChaineConstruit(sContenu,sDésignation,nQté,moPrix,sPaiementOK,sPaiementRefusé)
    FIN

  7. #7
    Membre actif
    Homme Profil pro
    Développeur WEB - Admin Réseaux
    Inscrit en
    Décembre 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Développeur WEB - Admin Réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 153
    Points : 286
    Points
    286
    Par défaut
    Bonjour,

    je vais peut être dire une bêtise mais bon...

    Dans Webdev il y a un composant PCSoft nommé "PaiementSécurisé" qui contient, entre autre, le code du paiement PayPal, tu pourrais peut être t'en inspiré pour le porter sur Windev.

    Bon courage

  8. #8
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Windev Paypal
    Bonjour,

    Malheureusement, ce composent est spécifique web, pas réussi à en tirer grand chose.

    Christophe M.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Windev Paypal
    Voici pour le contrôle du retour paypal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    // pour page web de retour
    sTexteOk est une chaîne = "PAIEMENT REUSSI"
    sTexteNon est une chaîne = "PAIEMENT REFUSE"
     
    // Attention, il faut utiliser un timer et non un thread, qui fait planter l'appli : 
    Apres l'init du champ html : 
    Timer(Proc_Attend,150,1)
     
    // procedure timer : 
    bSuite est un booléen = 0
     
    sTexteTmp est une chaîne
     
    SAI_Texte = HTMLVersTexte(HTM_SansNom1..ValeurAffichée)
    sTexteTmp = SAI_Texte
     
    SI sTexteTmp = sTexteOk
    	bSuite = 1
    	bPaiementOk = 1
    FIN
     
     
    SI sTexteTmp = sTexteNon
    	bSuite = 1
    	bPaiementOk = 0
    FIN
     
     
    SI bSuite = 1
    	SI bPaiementOk = 1 ALORS
    		FinTimer(1)
    		// Paiement ok
    	SINON
    		// Paiement pas ok
    	FIN
    FIN
    Il ne reste plus qu'a trouver pourquoi paypal ne me renvois pas à la page de login a chaque ouverture, mais ré-ouvre le dernier compte.

    Christophe M.

    Hésitez pas à mettre des pouces ou compléter si le topic vous à été utile...

  10. #10
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 12
    Points : 11
    Points
    11
    Par défaut Windev Paypal
    Bon,

    Sur une session, l'ouverture de la bonne page est ok, mais pas dans une autre.
    Cela, malgré un vidage des dossiers temporaires et l’exécution du même programme...
    Incompréhensible

    Christophe M.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 91
    Points : 133
    Points
    133
    Par défaut
    Bonjour,

    Ce n'est qu'une idée, mais avec _xclick, tu peux rajouter des inputs avec quantity,first_name..et email.
    J'aurai essayé avec un champ email en plus. Comme il est sensé être différent, tu devrai avoir un formulaire différent.

  12. #12
    Membre éprouvé
    Inscrit en
    Avril 2008
    Messages
    1 129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 1 129
    Points : 1 283
    Points
    1 283
    Par défaut
    Citation Envoyé par sifirkas Voir le message
    Voici pour le contrôle du retour paypal :
    Il ne reste plus qu'a trouver pourquoi paypal ne me renvois pas à la page de login a chaque ouverture, mais ré-ouvre le dernier compte.
    Tout simplement parceque tu es toujours logué.
    Fais un httprequete de déconnection à la fermeture.

Discussions similaires

  1. Multicast et Windev
    Par eblaise dans le forum Développement
    Réponses: 2
    Dernier message: 08/06/2004, 09h31
  2. PB de tables créées sous Windev
    Par Reynald dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/04/2004, 10h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo