Attention le plugin permet simplement de créer des formulaires de paiement. Il ne gère pas un panier, une boutique, .... C’est à vous d’implémenter les boucles requises.
Ce plugin a été concu par Matthieu Marcillaud, Les Développements Durables et touti. Merci à eux.
Installation et configuration
Une fois le plugin installé, aller dans le panneau de configuration pour régler les options suivantes
Type d’environnement | test ou production | est que les paiements sont réels ou simulés ? |
Compte | email de votre compte paypal | Le compte paypal (email) qui reçoit l’argent |
Devise | euro ou dollar |
Sur le site paypal, dans le compte du vendeur, il faut aussi :
- Définir la TVA dans vos préférences
- Penser à activer IPN (le retour de confirmation de transactions)
Utilisation rédacteur
Le plugin offre un modèle pour insérer un bouton d’une manière simplifiée
Bouton d’achat
- <paypal
- |titre=Tongues vertes
- |prix=15>
Affichera
Bouton de don
Pour les dons, le prix est facultatif (don libre)
- <paypal
- |type=donner
- |titre=Sauvons les écureuils>
Affichera
Utilisation développeur
Deux pages de démonstrations sont disponibles :
- http://monsite/?page=demo_paypal : un paiement simple
- http://monsite/?page=demo_paypal_details : un paiement complexe avec un panier comportant plusieurs articles
Le syntaxe générale du formulaire est :
- [(#FORMULAIRE_PAYPAL{#ARRAY{
- prix,30,
- libelle,T-Shirt Pomme,
- redirect_ok,[(#URL_PAGE{paiement_ok})],
- }})]
Voici les paramètres principaux du tableau #ARRAY
à fournir
Pour connaitre l’intégralité des paramètres, éditer le fichier formulaires/paypal.html
Paramètres liés à la commande
Paramètres | explications | Valeur par défaut |
---|---|---|
prix | prix de l’objet | |
libelle | description courte de l’objet | |
redirect_url | adresse de retour, une fois le paiement effectué | |
shipping | frais de port | 0 |
type | (vide) : acheter abonnement : abonnement donner : faire un don |
(vide) |
no_shipping | 0 : on demande, mais pas obligatoire 1 : pas demandé 2 : obligatoire. |
1 |
Paramètres liés l’acheteur
Il est aussi possible de passer les coordonnées de l’acheteur pour pré-remplir son adresse
Paramètres | explications |
---|---|
first_name | Prénom |
last_name | Nom |
address1 | Voie |
address2 | Complément |
city | Ville |
zip | Code postal |
country | Code du pays (2 lettres, idem plugin « pays ») |
night_phone_b | Numéro de téléphone |
Exemple de syntaxe avancée
Voici un usage avancé du formulaire issu du code du squelette zcommerce qui permet d’afficher le détail d’une commande avec plusieurs articles dans l’interface Paypal.
- [(#FORMULAIRE_PAYPAL{#ARRAY{
- custom,payer_commande,
- libelle,Commande #ID_COMMANDE,
- identifiant,#REFERENCE,
- redirect_ok, #URL_ACTION_AUTEUR{
- supprimer_panier_encours,
- "",
- #URL_PAGE{
- z-commerce,
- appel=paiement,
- reference=#REFERENCE}},
- details,#GET{details},
- }})]
On appelle le formulaire avec un tableau #ARRAY contenant :
Paramètres | explications |
---|---|
custom, libelle, identifiant | la commande de l’internaute |
redirect_ok | page de retour (dans l’exemple, une URL d’action qui vide le panier) |
details | détails de la commande (un tableau) |
IPN
L’IPN est le mécanisme technique de Paypal pour informer au site vendeur si une transaction a été validé ou non. Pensez à bien activer l’option dans le compte paypal du vendeur.
Le plugin gère ce retour IPN et si la transaction est bonne, il l’envoie au pipeline traitement_paypal.
Pour avoir un exemple d’utilisation de ce pipeline, on pourra consulter le plugin Commandes Paypal.
Alternatives
Il existe d’autres plugins qui gèrent le paiement avec paypal
Vos commentaires
# Le 9 février à 16:41, par Ras Rubenxela
En réponse à : Paypal
Bonjour
commandes_paypal n’est plus nécessaire pour SPIP 3.2 ?
# Le 9 février à 18:07, par Ras Rubenxela
En réponse à : Paypal
En fait j’ai un gros doute. Je teste mes paiements via la sandbox et à aucun moment le statut de la commande est changé dans ma BDD après paiement validé.
Je n’ai bien entendu pas « commande paypal » qui n’est pas valide SPIP 3.2, d’où ma question précédente.
Répondre à ce message
# Le 11 avril 2016 à 05:50, par Julie B
En réponse à : Paypal
Bonjour ,
Après passage de Spip 2.1 à Spip 3.1 , la validation ipn de la commande par Paypal (paypal_ipn.php) ne fonctionne plus chez moi.
Pour exactement le même type de transaction sur Spip 2.1
le retour de recuperer_page dans paypal_ipn.php est VERIFIED ou INVALID
par contre sous Spip 3.1 le retour est vide.
(Les squelettes sont identiques)
Ceci alors que l’url de soumission a Paypal est la même (pour test)
https://www.sandbox.paypal.com/cgi-bin/webscr
(J’ai vérifié par des traces que les datas transmises a Paypal sont aussi identiques.)
Je suis à court d’idée.
Quelqu’un aurait peut-être une piste ?
Merci
Julie
Répondre à ce message
# Le 31 mars 2016 à 01:51, par Delorimier
En réponse à : Paypal
Je cherche à configurer pour dollars canadiens (CAD), est-ce possible ?
Répondre à ce message
# Le 6 mars 2016 à 22:21, par Philippe Robin
En réponse à : Paypal
bonjour
le bouton simple :
ne fonctionne pas.
sous spip 3.1
Répondre à ce message
# Le 30 octobre 2015 à 10:40, par GIL
En réponse à : Paypal
Bonjour,
Pour l’environnement de test, il ne veut pas enegistrer l’email.
Seulement pour l’environnement production.
Avez-vous déhj)à rencontré ce problème ?
Gil
Répondre à ce message
# Le 12 janvier 2015 à 10:37, par Bernard Blazin
En réponse à : Paypal
Bonjour,
Voilà un plugin qui rencontre un certain succès ces temps ci ! Bravo !
il y a cependant un petit hic, je trouve. de plus en plus de concepteurs de sites vendent des produits via le panier. pas obligatoirement 1 produit mais plusieurs. C’est pour cela qu’il existe le tableau detail bien pratique. mais si l’on veut faire passer une référence de produit pour chaque produit mis en vente c’est impossible car inc-paypal-details ne le permet pas.
<BOUCLE_details(POUR){tableau #ENV{details}}>
#SET{numero,#COMPTEUR_BOUCLE}
<input type="hidden" name="item_number_#GET{numero}" value="#GET{numero}" />
j’ai donc été obligé de surcharger celui ci afin de passer le libelle dans l’array detail et modifier le fichier ainsi :
<BOUCLE_detail(POUR){tableau #VALEUR}>
[(#REM) #CLE=>#VALEUR<br />]
[(#CLE|=={libelle}|oui)
<input type="hidden" name="item_number_#GET{numero}" value="#VALEUR" />
]
Il s’agit bien entendu d’une suggestion mais serait il possible d’avoir cette modification directement sur le plugin ?
Merci !
Répondre à ce message
# Le 11 décembre 2014 à 13:52, par Ysabeau
En réponse à : Paypal
Bonjour, bonsoir, ce que vous voudrez,
On est bien d’accord, le plugin ne crée rien de visible sur le site immédiatement ?
Il faut aller dans le squelette pour ajouter les trucs machins qui permettent l’affichage sur le site en partie publique.
Cela dit c’est (potentiellement en ce qui me concerne pour l’instant étant donné que je ne l’ai pas encore implanté) un plugin extrêmement utile.
Par ailleurs, soit je suis stupide soit il y a quelque chose qui cloche. Quand je lis « Deux pages de démonstrations sont disponibles », je m’attends à ce que les liens :
http://monsite/?page=demo_paypal : un paiement simple
http://monsite/?page=demo_paypal_details : un paiement complexe avec un panier comportant plusieurs articles
aboutissent à des pages d’exemple mais en fait on tombe sur une grande entreprise qui, visiblement, ne se fait pas payer en paypal et n’en a rien à battre.
Si ces pages de démonstration sont disponibles, où peut-on les trouver ? Si elles ne le sont pas, peut-on supprimer cette mention qui est source de confusion ?
Merci beaucoup.
# Le 11 décembre 2014 à 14:46, par erational
En réponse à : Paypal
merci de bien lire la doc. rien n’est visible directement
le plugin permet d’ajouter formulaires paypal soit en modifiant vos squelettes ou alors en ajoutant le raccourci
<paypal>
.pour les adresses, elles sont bonnes, il faut remplacer « monsite » par l’adresse de votre site de développement.
# Le 11 décembre 2014 à 14:51, par Ysabeau
En réponse à : Paypal
Merci quand même.
Ben j’ai lu justement et ce n’est pas clair, c’est pourquoi je pense qu’une phrase explicite serait bienvenue. D’ailleurs pour moi même le réglage à faire n’est pas claire quant aux effets de l’un ou l’autre choix.
Pour les adresses exemple il serait judicieux d’être plus précis. Nous ne sommes pas tous des développeurs et on peut penser littéralement, comme moi, que ça ouvre vers une vraie adresse exemple et pas sur un site qui n’a rien à voir (et pourquoi ce site d’ailleurs ?).
Répondre à ce message
# Le 25 juin 2014 à 18:14, par ???
En réponse à : Paypal
Bonjour,
Si on a calculé les frais de port à partir de notre compte paypal, comment peut on faire pour l’afficher dans le tableau récapitulatif..? je suis allé dans le fichier formulaire/paypal.html j’ai vu un input hidden de shipping mais je ne sais pas comment l’appeler dans le boutton...Merci de votre aide. Les frais de port sont calcul dans mon compte paypal en fonction du prix du cady..MErci
Répondre à ce message
# Le 25 juin 2014 à 14:31, par mirobolus
En réponse à : Paypal
Voilà comment ce retour a fonctionné chez moi :
redirect_ok,[(#URL_PAGE{commande_paiement_valide}|url_absolue)]
, le paramètre |url_absolue semble avoir eu son importance.Voilà :-)
Répondre à ce message
# Le 13 juin 2014 à 19:06, par mirobolus
En réponse à : Paypal
J’ai testé : ça fonctionne parfaitement !
Juste un problème de retour vers ma page de confirmation.
Est-ce que vous confirmez que ceci fonctionne :
redirect_ok,[(#URL_PAGE{commande_paiement_valide})]
?Ou cela vient-il uniquement du retour IPN qui pourrait ne pas être réglé sur le compte de mon client (auquel je n’ai pas accès) ? Et dans ce cas, comment dois-je lui expliquer la procédure ?
Merci beaucoup.
# Le 13 juin 2014 à 19:17, par mirobolus
En réponse à : Paypal
J’ai trouvé cette explication (http://ralph.davidovits.net/internet/notification-paypal-ipn.html) mais j’ignore ce que mon client doit mettre dans l’url de notification (http://www.mondomaine.tld/paypal-ipn-mail.php). Merci encore.
# Le 18 juin 2014 à 11:46, par mirobolus
En réponse à : Paypal
Je confirme, après un test en vrai, que la redirection vers ma page commande_paiement_valide.html ne fonctionne pas à l’issue du paiement sur le site de Paypal (on tombe sur la page d’accueil de Paypal).
Mon client a entré comme adresse de retour (qui lui était demandée dans l’activation de l’IPN : http://www.mondomaine.fr/spip.php?page=commande_paiement_valide).
Merci pour votre aide.
Répondre à ce message