Payline - enregistrer une commande

Discussion dans 'e-commerce' créé par atomikado, 23 Mai 2012.

  1. atomikado
    atomikado WRInaute discret
    Inscrit:
    22 Septembre 2003
    Messages:
    165
    J'aime reçus:
    0
    Bonjour,

    je suis en train de mettre en place le système de paiement Payline sur un site web. La paiement fonctionne mais je ne parviens pas à enregistrer la commande en base de données une fois le paiement effectué.

    J'ai tenté de passer une variable en POST mais je n'arrive pas à récupérer son contenu...

    Quelle méthode dois-je utiliser ?

    Merci :)

    Mikaël
     
  2. T0ad
    T0ad Nouveau WRInaute
    Inscrit:
    24 Mai 2012
    Messages:
    5
    J'aime reçus:
    0
    Salutations,

    Est-ce la lecture du résultat du paiement qui te pose problème ou l'enregistrement de la commande à proprement parler ? Tu utilises une solution e-commerce particulière ?
     
  3. atomikado
    atomikado WRInaute discret
    Inscrit:
    22 Septembre 2003
    Messages:
    165
    J'aime reçus:
    0
    Mon problème vient du fait que je ne parviens pas à passer une variable dans le formulaire payline, je passe les infos de base (ref, amount...), mais quand je rajoute un champ caché (contenant les produits commandés), j'ai un message d'erreur.

    L'enregistrement de la commande à proprement parlé de devrait pas poser de souci : une fois la commande validée, j'appelle une page de mon site qui exécute une requète de test qui fonctionne (insert into tabletest set date=now())

    J'utilise une solution e-commerce que j'ai entièrement développée.

    Merci
     
  4. T0ad
    T0ad Nouveau WRInaute
    Inscrit:
    24 Mai 2012
    Messages:
    5
    J'aime reçus:
    0
    Si tu cherches à afficher le détail de ta commande sur la page web de paiement, il faut faire appel à l'option de personnalisation avancée de Payline (template dynamique).
    Pour ça il est nécessaire que tu héberges toi-même le template de ta page web de paiement en httpS. Son URL est alors passée en paramètre de doWebPayment, à ce moment tu peux rajouter ton détail de commande en GEt (c'est envoyé à Payline, ton client ne voit pas ça) pour les afficher dans ta page. Au final l'URL de la page web de paiement renvoyée par doWebPayment correspondra à ton template avec la mire de paiement insérée à la volée.
    Tu me suis ? Fais un mail au support Payline pour avoir des infos détaillées sur la personnalisation avancée de la page web de paiement.

    En revanche si tu veux simplement passer le détail de ta commande à payline pour retrouver les infos dans le détail de la transaction, ça se passe comme ça (je pars du principe que tu utilises le kit PHP de Payline, et que l'instance de ta classe paylineSDK s'appelle $payline) :
    Code:
    $produit = array();
    $produit ['ref'] 		= <ta référence produit>
    $produit ['price'] 		= <le prix en centimes>
    $produit ['quantity'] 		= <la quantité de ce produit dans la commande>
    $produit ['comment'] 		= <un commentaire libre...>
    $payline->setItem($produit);
    
    Tu peux ajouter jusqu'à 100 produits de cette façon.
     
  5. atomikado
    atomikado WRInaute discret
    Inscrit:
    22 Septembre 2003
    Messages:
    165
    J'aime reçus:
    0
    Bonjour,

    je cherche simplement à passer le détail de ma commande à payline.

    je dois avouer que je maîtrise moyennement le php objet.
    Pour faire simple, comment puis-je enregistrer la référence de la transaction (ref) que je passe dans le formulaire payline ?
    (si j'arrive à faire cela, ça devrait aller pour la suite!)

    Merci :)
     
  6. T0ad
    T0ad Nouveau WRInaute
    Inscrit:
    24 Mai 2012
    Messages:
    5
    J'aime reçus:
    0
    Pour passer ta référence commande à Payline c'est très simple :

    Code:
    $params = array();
    $payline = new paylineSDK(<tes paramètres si tu utilises le kit PHP 1.2>);
    ...
    $params['order']['ref'] = <ta référence commande>
    ...
    $result = $payline->doWebPayment($params);
     
  7. atomikado
    atomikado WRInaute discret
    Inscrit:
    22 Septembre 2003
    Messages:
    165
    J'aime reçus:
    0
    Désolé de te déranger à nouveau, mais je dois avouer que je quelque chose m'échappe !

    Voici le formulaire sur lequel clique le client pour saisir son numéro de carte bancaire :

    <form action="payline/examples/web/doWebPayment.php" method="post" class="payline-form">
    <input type="hidden" name="ref" id="ref" value="<? echo $codeCommande; ?>">
    <input type="hidden" name="amount" id="amount" value="<? echo round(119.6*$prixHT); ?>">
    <input name="currency" type="hidden" value="978" />
    <input name="submit" value="" src="images/cartesbancaires.png" type="image"/>
    </form>

    Une fois le paiement effectué, je voudrais simplement enregistrer la valeur "ref" en base de données, j'ai renseigné la variable "NOTIFICATION_URL" qui est correctement appelée (j'ai fait un test), mais ensuite je bloque...

    je ne vois pas ou placer le code que tu m'indique :(

    merci :)
     
  8. T0ad
    T0ad Nouveau WRInaute
    Inscrit:
    24 Mai 2012
    Messages:
    5
    J'aime reçus:
    0
    En fait le bout de code que j'ai indiqué correspond aux instructions du script doWebPayment.php qui est appelé lorsque tu postes ton formulaire.

    Tu as du voir qu'au même niveau que la déclaration de NOTIFICATION_URL tu as une variable RETURN_URL. Elle défini la cible du bouton "retour à la boutique" que tu as sur la page Payline en fin de paiement. Pour enregistrer ta commande après le paiement il faut :
    - renseigner RETURN_URL avec l'URL d'un script dans ta boutique
    - dans ce script tu implémentes l'appel au service getWebPaymentDetails (tu peux t'appuyer sur le script examples/web/getWebPaymentDetail.php du kit PHP de Payline).
    - dans la réponse du service getWebPaymentDetail, (disons que tu la stockes dans une variable $res) tu peux récupérer ta référence commande dans $res['order']['ref']
    - tu n'as plus qu'à enregsitrer ta commande en base avec cette référence, en lui associant le résultat du paiement que tu lis également dans la réponse de getWebPaymentDetail (donc dans $res ici)
     
Chargement...
Similar Threads - Payline enregistrer commande Forum Date
Payline- récupérer le détail du paiement e-commerce 15 Novembre 2012
Pré-enregistrer un domaine avec une extension qui n'existe pas encore ? Noms de domaine et référencement 30 Novembre 2017
Enregistrer les sous-domaines dans la search console? Référencement Google 21 Janvier 2016
importer un fichier excel et enregistrer son contenu dans ma base de données mysql Développement d'un site Web ou d'une appli mobile 15 Mars 2015
Récupérer et enregistrer une image à partir d'un lien Développement d'un site Web ou d'une appli mobile 8 Janvier 2015
Enregistrer proprement les données d'un formulaire ? Développement d'un site Web ou d'une appli mobile 29 Mars 2013
L'Historique Google+, pour enregistrer vos moments-clés sur Internet Google+ 17 Juillet 2012
Enregistrer une image quotidienne en Tache Cron Développement d'un site Web ou d'une appli mobile 14 Juin 2012
enregistrer vcard depuis un smartphone Développement d'un site Web ou d'une appli mobile 26 Janvier 2012
Enregistrer fichier sous IE sans validation utlisateur Développement d'un site Web ou d'une appli mobile 19 Janvier 2012