En poursuivant votre navigation, vous acceptez l’utilisation de cookies. Info Cookies .

Tuto d'installation module de paiement Stripe / Paypal

Ce tutoriel a pour but de vous fournir les détails d'installation et de réglages de notre module de paiement.



Mode de paiement:

- Compte Paypal (incontournable)
- Paiement par carte avec Stripe

C'est très simple à réaliser, nous avons cependant tenu à vous fournir un maximum d'informations, de sorte qu'au-delà de la mise en ligne du paiement sur votre site marchand, vous puissiez aussi rapidement appréhender le fonctionnement du module, en relation avec le menu du compte Paypal et du compte Stripe, pour le cas où vous souhaiteriez y apporter une touche perso.
Une fois ces réglages effectués, il vous suffira depuis l'emplacement souhaité sur votre site, d'appeler la page index du module de paiement, pour offrir à vos clients, les 2 meilleures solutions du marché:

Nous n'allons pas ici vous expliquer comment ouvrir un compte Paypal ou Stripe, il existe sur le net une quantité impressionnante de tutoriels sur le sujet, dont de nombreuses vidéos.
Nous allons cependant vous fournir les exemples détaillés, des différentes paramétrages à effectuer tant sur Stripe que sur Paypal, ainsi que l'emplacement des pages concernées sur ces plateformes.

> > Démo Module > > Acheter le Module


1. Chargement du module
sur le serveur

Décompressez le pack module-paiement.zip
Vous trouverez un répertoire intitulé public_html
Il contient 4 fichiers et 3 dossiers.

Les fichiers:

Ces 4 fichiers sont à placer à la racine de votre site.
- fichier "config.db.php" à compléter avec vos codes d'accès à votre base etc.. ( Exemple ci-contre )
- fichier "config.paiement.php" à compléter avec les paramètres de votre site.. ( Exemple ci-contre )
- fichier "commande-terminee-paypal.php"
Page test - Page de retour "remerciement après paiement Paypal".
- fichier "paiement.php"
Il va vous servir de page exemple pour effectuer vos tests.
- Sandbox pour Paypal
-Mode test pour Stripe

Il vous suffira d'appeler cette page de paiement, dans la barre d'adresse de votre navigateur, à la fin des réglages.

http://www.mon-site.com/paiement.php

Les dossiers:

- dossier "Paiement_Stripe"
Ce dossier est à placer à la racine de votre site.
- dossier "Paiement_Paypal"
Ce dossier est à placer à la racine de votre site. - dossier "Mail_HTML"
Ce dossier est à placer à la racine de votre site.

Note:

Dans le Pack que vous téléchargez, un modèle de fichier .htaccess vous est fourni, permettant de protéger l'accès aux fichiers sensibles situés à la racine du site.
Les fichiers sensibles des modules de paiement incluent déjà cette protection.

Le fichier config.db.php

/** identifiants BDD pour le site */
define('HOST',	'localhost'); // Votre Serveur
define('USER',	'XXXXXXXX');  // Utilisateur
define('MDP',	'XXXXXXXX');  // Mot de Passe
define('_MYDB',	'XXXXXXXX'); // Nom de otre Base de donnees  Selon votre hébergement: module_paiemen parfois extension_module_paiemen

function connectdb($bdd){
	mysql_connect(HOST,USER,MDP) or die(mysql_error());
	mysql_select_db($bdd);

Le fichier config.paiement.php

/******************************************************
************** 			 CONFIG du SITE 	*****************
*******************************************************/
define('NOM_SITE', 'mon-site.com');  // Le Nom du site ( Sans http )  Ex : mon-site.com
define('URL', 'http://www.mon-site.com/');  // Adresse du site Ex: http://www.mon-site.com
define('MODULE_STRIPE', URL.'Paiement_Stripe'); // Ne rien changer

// MAIL expédiés pendant commande

define('EXPEDITEUR', 'mon-mail@mon-site.com'); // Adresse email de votre site
/*******************************************************
 ************** 	CONFIG du MODULE de COMMANDE	 *******
 *******************************************************/

/*************************
 *	MODULE PAYPAL		 *
 * 	
 *************************/
                                                                 
		 $url_paypal_nip  = 'www.paypal.com'; // Ne pas changer
     $business 	= 'mon-mail-pour paypal@mon-site.com'; // L'adresse mail de votre compte Paypal     
     
define('MAIL_VENDEUR',		$business);

$notify_url = URL."Paiement_Paypal/commande_request/ipn.php"; // Ne pas changer

   ...  etc

2. commencer l'installation

DB Upload:

  • Le module est fourni avec une mini base de données:
    Il vous suffit d'uploader ses tables dans une nouvelle base de données, ou dans une base existante, pour faire fonctionner le module, que ce soit en mode test ou en mode production.
    Toutefois, les requêtes SQL du module, fonctionnent avec les champs de cette base. Si vous souhaitez ensuite travailler avec des noms de champs personnels, il vous faudra adapter les requêtes du module en fonction de vos propres variables.
    Il suffit, avec un éditeur de texte, de balayer le contenu des dossiers téléchargés, en effectuant une recherche du mot SELECT INSERT et UPDATE, pour isoler facilement chaque requête du module.
  • Chargez la base de données sur votre serveur
  • Dans notre pack, vous trouverez le fichier "base_module.sql" dans le dossier >> DOC >> ARCHIVES >> sql
  • Importez ce fichier dans votre base de données vierge MySQL ou dans une base existante, mais en faisant attention que vous n'ayez pas déjà des tables de même nom.
    Le fichier sql fourni contient 4 tables:
    - m_articles -- Contient 1 seul article, c'est très suffisant pour tester le module.
    _ m_commandes -- Va enregistrer les commandes, avec les infos client, id commande, nom, adresse ... N° de transaction etc...
    - paiement -- Contient les 2 modes de paiement du module: cb pour paiement par STRIPE et paypal pour paiement Paypal
    - pays_codes -- Pour afficher le choix du pays dans le formulaire commande.
    - La table m_mails_client -- qui contenait le code HTML des mails envoyés lors de l'enregistrement de la commande, lors du paiement accepté, refusé, ou remboursé, en fonction de la réponse renvoyée par STRIPE et Paypal via l'API, a été abandonnée au profit d'une gestion des mails par template html, plus facile à modifier pour le webmaster.




3. Le dossier STRIPE

Vos clés API:

Quelques réglages sont nécessaire, selon que vous souhaitez travailler en mode Production ou en mode Test.
Dans notre pack, vous trouverez le fichier "config-stripe.inc.php" dans le dossier >> Paiement_Stripe >> module_Stripe >> STRIPE
Commentez ou décommentez la ligne "testmode" selon votre mode de travail, comme dans l'exemple ci-dessous.

$params = array(
"testmode" => "on", // Ici on est en Mode TEST
// "testmode" => "off", // Mode Live
"private_live_key" => "sk_live_anVN0hxGvvvvvvv",
"public_live_key" => "pk_live_G05DX97Awwwwwww",
"private_test_key" => "sk_test_8HUsjDoxxxxxxxx",
"public_test_key" => "pk_test_D4Qzopyyyyyyyy"
);

Complétez avec vos propres "_keys"
Vous trouverez ces clés dans votre compte STRIPE
( Exemple ci-contre )

Menu:

Stripe API Menu

API Clés:

Stripe API key

Votre Webhook:

Pour que Stripe puisse vous renvoyer des informations qui vont permettre au module de paiement d'enregistrer dans votre base de données, les paiements acceptés, refusés, ou même les remboursements que vous pourriez effectuer depuis votre compte Stripe,
vous devez définir dans votre compte, l'adresse de la page du module, qui va recevoir ces infos de mise à jour, et déclencher en même temps, l'envoi du second mail au client: ( Paiement accepté )
Le module ayant déjà envoyé un premier mail, lors de l'enregistrement de la commande: ( Commande enregistrée )

-Cliquez sur Wiew test data pour créer votre Webhook de test.
-Cliquez sur API data pour créer votre Webhook Live.
Dans les 2 cas, complétez le popup qui souvre lorsque vous cliquez sur "+ Add endpoint" comme stipulé sur l'exemple ci contre.
Dans le champ "URL to be called" indiquez l'adresse de la page suivante en modifiant l'exemple ci-dessous avec votre propre nom de domaine:

http://www.mon-domaine.com/Paiement_Stripe/module_Stripe/STRIPE/hook_stripe.php

Menu:

Stripe Menu Webhook

Création Webhooks:

Stripe Add Webhook

Mails clients:

Afin de maîtriser les informations que vous renvoyez par mail, c'est le module qui va se charger de l'opération.
Par conséquent, la dernière opération va consister à désactiver l'envoi des mails au client par Stripe.
Vous continuerez cependant à recevoir de Stripe, les mails qu ils vous enverront lors d'un paiement.

Une fois dans la page "Email receipts settings" ne laissez cochée que la case Refunds et validez.

Profitez-en pour créer une première commande test depuis votre compte STRIPE sans quoi, vous risquez de ne pas pouvoir enregistrer vos tests.
- Menu gauche: Cliquez sur "View test data" le bouton se colore en orange.
A présent cliquez en haut du menu sur "Payments"
Dans le pavé de la page qui s'affiche cliquez sur le bouton "Create your first payment"
Une fois cette première commande test enregistrée, vous pouvez travailler depuis votre site en mode test.

Détails utiles:

- 1) Pour info, la gestion des mails que vous souhaitez recevoir ( en tant que vendeur ), se gère depuis votre profil.
Cliquez en haut de page, sur l'icône de votre profil, la dernière à droite.
- 2) Par défaut, le module affiche l'icône alpha site, il suffit de remplacer cette image par celle de votre logo, en gardant le même nom et la même extension.
dans le dossier
>> Paiement_Stripe >> module_Stripe >> images/logo.jpg

Menu:

Stripe Menu Email Receipts

Mails clients:

Stripe Email Receipts Settings

4. Le dossier Paypal

Retour API:

C'est un peu la même chose qu'avec Stripe, mais en plus rapide:
Notre module est conçu pour récupérer les infos renvoyées par l'API de la plateforme de paiement.
Il faut donc activer cette fonction chez Paypal.
Petite bizarrerie chez Paypal, pour pouvoir valider cette fonction, vous devez renseigner l'adresse de votre page qui va recevoir les informations.
En fait, vous pourriez bien mettre n'importe quelle URL, car c'est dans le script du formulaire de commande que l'on indique à Paypal, l'adresse de votre page vers laquelle il doit vous renvoyer les retours API !!
Tant qu'à faire on va quand même lui donner la bonne adresse ...

Connectez-vous à votre compte Paypal:
En haut à droite de la page du compte, cliquez sur l'icône setting (en forme d'engrenage), puis dans le popup qui s'ouvre sur "Paramètres du compte"
Dans le menu gauche de la page suivante, cliquez sur "Mes ventes"
Dans la page suivante, recherchez la ligne "Notifications instantanées de paiement" et cliquez sur "Mettre à jour"
Page suivante on est presque à destination ... cliquez sur "Choisir les paramètres IPN"
Il ne vous reste plus, comme sur l'exemple ci-contre qu'à indiquer l'URL de votre page, activer l'IPN, et enregistrer.

http://www.mon-domaine.com/Paiement_Paypal/commande_request/ipn.php

Menu:

Paypal paramètres du compte

Notifications instantanées de paiement:

Paypal Notifications instantanées de paiement

Le module de paiement sur votre Site

Votre module étant paramétré, voyons comment l'appeler depuis une page de votre site.
Imaginons que vous souhaitez intégrer le module dans une page qui a pour nom "paiement.php"
Il suffit de placer le code suivant dans la div souhaitée, disons pour l'exemple une div id module:


<div class="" id="module">
<?php include 'Paiement_Stripe/index.php'; ?>
</div>

Maintenant supposons que lorsqu'un article est cliqué, ajouté au panier etc.. vous renvoyez l'acheteur vers votre page paiement avec une variable "id de l'article"
Exemple:


<a href="https://mon-site.com/paiement.php?id=$id">Achetez maintenant</a>

Editez le fichier "Paiement_Stripe/commande.php" et modifier le code en haut de page, en fonction de vos propres variables.
Par défaut, le fichier est actuellement configuré pour aller chercher l'id_article de la table SQL "m_articles" qui vous est fournie à titre de tests.


<?php
$id_article = $_GET['$id'];
$sql_article = mysql_query('SELECT * from m_articles WHERE id_article = '.$id_article.'') or die(mysql_error());
$com = mysql_fetch_object($sql_article);
$prix = $com->montant;
$reference = $com->ref_article;
$nom_article = $com->nom_article;
$image_article = $com->image_normale;
?>

On peut aussi faire plus propre au niveau de l'URL, pour autant que votre page paiement.php ( dans notre exemple )
soit inclue depuis votre page index ( racine de votre site ), avec un bout de code du style:
isset($_GET['page']) ? $page = $_GET['page'] : $page = 'index';
if ($page == "paiement") {
include("votre-dossier/paiement.php");
}

Dans ce cas, votre lien "Achetez maintenant" sera de type:

<a href="https://mon-site.com/paiement/$id">Achetez maintenant</a>

Et ajoutez dans votre fichier .htaccess


RewriteRule ^paiement/([0-9]+)$ index.php?page=paiement&id=$1 [L]

Votre URL:
https://www.mon-site.com/paiement.php?id=1
devient:
https://www.mon-site.com/paiement/1

Bonus: Un modèle complet de fichier .htaccess est joint au pack téléchargé.

Le problème ne se posera pas pour ce qui concerne toutes les pages du module, quel que soit le mode de paiement,
car elles sont toutes incluent dans l'index module, au fur et à mesure du traitement, avec des variables transmises par session.
Ainsi, tout le traitement reste sur votre page:
https://www.mon-site.com/paiement/1 ( dans cet exemple )
y compris l'encart "confirmation et remerciement" après le paiement.



Denier point:
La page de remerciement après paiement Stripe est automatisée dans le module, car on reste sur la même page durant tout le traitement.
Par contre, chez Paypal, on envoie l'acheteur sur une URL externe,
Il faut donc créer cette page de remerciement, la page de retour sur site après paiement est requise par Paypal.
Vous allez procéder comme pour la page paiement.php
- Première option: Vous travaillez avec des extensions classiques d'URL, du style "http://www.mon-site.com/ma-page.php"
Dans ce cas nommez cette nouvelle page "commande-terminee-paypal.php"
et à l'emplacement souhaité dans cette page:


<div class="" id="paiement-paypal">
<?php include 'Paiement_Paypal/commande_terminee_paypal.php'; ?>
</div>


- Deuxiemme option: Vous travaillez avec des URL propres, du style "http://www.mon-site.com/ma-page" grâce à un include sous conditions depuis votre index racine.
Dans ce cas, votre script d'inclusion ressemblera à quelque chose comme ceci:
sous la condition: if ($page == "paiement") {
include("votre-dossier/paiement.php");
}
( voir notre exemple précédent )
rajoutez:
if ($page == "commande-terminee-paypal") {
include("votre-dossier/paiement.php");
}


Eh oui ! dans ce cas, pas besoin de créer de nouvelle page, on appelle la même, car elle va chercher l'index du module qui est configuré pour repérer un retour Paypal et afficher un pavé remerciement qui va récupérer l'id de commande transmise par l'IPN Paypal.

Vous pouvez maintenant tester le module





5. Tester Le module

Formulaire de paiement:

Si vous êtes en extension d'URL classique "ma-page.php" affichez le module avec:

https://www.votre-site.com/paiement.php

Si vous êtes en extension d'URL propre "ma-page" affichez le module avec:

https://www.votre-site.com/paiement

Le paiement carte en mode TEST
- Une adresse mail valide en tant qu'acheteur test
- N° de carte fictif: 4242 4242 4242 4242
- Date de validité: mm/aa peu importe du moment que mois et année soient supérieurs à la date actuelle.
- Code CVV: 123 ou 456 peu importe
- Code postal; peu importe.

Le paiement Paypal en mode TEST
- Pour tester depuis votre site, vous aurez besoin, si vous n'en avez pas encore, de créer un compte SANDBOX.
Vous devez déjà avoir un compte Paypal pour créer un compte de test, et il vous faudra créer sur la SANDBOX:
- Un Compte Vendeur
- Un Compte Acheteur
Voir : Doc Paypal

Mode Test:

Stripe paiement testmode

Mode Live:

Stripe paiement livemode

note


Tuto Stripe - Paypal
Note: 4.7 / 5 sur 37 avis.

> > Démo Module > > Acheter le Module