PHPascal.com

PHPAscal rouge2 (Version bleu)


Programmation web CSS HTML PHP Jquery Javascript Wordpresse RSS SQL SSH, serveur linux Outils
  PHPascal a 147 articles


Recherche


cheap nike nfl jerseysWholesale cheap nfl jerseyscheap jerseys online from chinacheap nfl jerseys free shippingwholesale nba jerseysWholesale cheap nhl jerseyscheap nhl jerseys onlinecheap nba basketball jerseys

Valid HTML 5

Programmation web / PHP / Installer IPN de paypal

Mettre en place la notification instantané avec Paypal

Voici comment faire pour obtenir la notification instantané avec Paypal. (IPN en anglais instant payment notification).

L'installation de l'IPN permet a un site marchand de savoir quand une commande est payé et permet de faire les étapes relative qui suit le payement d'une commande.

Il y a deux étapes pour mettre en place ce système de confirmation en temps réel des achat sur PayPal:

  1. Créé un script qui va être appeler par PayPal lors d'un achat
  2. Donner a paypal l'url du fichier a appeler sur votre site


Voici le code source d'un script qui permet la récupération des information sur un achat d'une commande:
<?php

// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-validate';

foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}

// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);

// assign posted variables to local variables
$item_name = $_POST['item_name'];
$item_number = $_POST['item_number']; // id commande
$payment_status = $_POST['payment_status']; // Completed,
$payment_amount = $_POST['mc_gross']; //0.01
$payment_currency = $_POST['mc_currency']; //CAD
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];

if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {

// check the payment_status is Completed
// check that txn_id has not been previously processed
// check that receiver_email is your Primary PayPal email
// check that payment_amount/payment_currency are correct
// process payment


if ($payment_status == "Completed")
    {
    // si le payment est accepter  traitement de l'information
   
   
    }


}
else if (strcmp ($res, "INVALID") == 0) {
// log for manual investigation
}
}
fclose ($fp);
}
?>


Vous n'avez qu'a rajouter votre programmation si la transaction est complété ("Completed")


Une fois ce fichier créé il ne reste plus qu'a indiquer son url à Paypal. Pour ce faire il existe 2 méthodes différentes a utiliser la façon simple ou la façon compliquer :

Installation IPN Version Simple

Pour indiquer à Paypal quel fichier a appeler à chaque transaction effectuer, il suffit de rajouter dans le formulaire du bouton Paypal l'url de votre script dans un champ cacher du nom de notify_url
Exemple :
<form action=https://www.paypal.com/cgi-bin/webscr method=post target=new>
<input type=hidden name=cmd value=_xclick>
<input type=hidden name=business value=votre@courriel.com>
<input type=hidden name=undefined_quantity value=1>
<input type=hidden name=item_name value='Nom du produit'>
<input type=hidden name=item_number value='204'><input type=hidden name=amount value=99.00>
<input type=hidden name=currency_code value=USD>
<input type=hidden name=shipping value=0.00>
<input type=hidden name=image_url value=http://www.images.jpg>
<input type=hidden name=return value=http://www.site-web.com>
<input type=hidden name=cancel_return value=http://www.site-web.com>
<input type=hidden name=no_note value=0>
<input type=hidden name=notify_url value=http://www.site-web.com/payment_paypal.php>
<input type=submit value="Paypal">
</form>

Cette méthode pour activer la notification instantané avec Paypal est rapide à mettre en place et pratique puisque l'on a pas besoin des accès au compte Paypals pour l'installer (si on ne peux pas l'avoir). Et permet aussi d'assigner différents fichiers de script à différentes sections de note site web au besoin.


Installation IPN Vesrsion compliquer


Voici la façon compliquer d'installer l'IPN (instant notification payment) mais qui a l'avantage d'être appeler a toutes les transaction de votre compte paypals puisque c'est configurer au niveau de votre compte paypal directement :
  • Ouvrer votre compte paypal et cliquer dans le menu du haut sur 'Solution e-commerce'
  • Cliquer dans le menu de côté sur 'Paiements sur site marchand' puis sur 'Liste de fonctions'
  • Dans cette page trouver 'Notification instantanée de paiement' puis cliquez sur configuration.

Par la suite: cocher la case, entrer l'url de votre page script et cliquer sur enregistrer.

L'installation est maintenant terminer et votre script va être automatiquement appeler à chaque transaction Paypal.

installation notification paypals



Choisir url INP paypal
Article écrit le 21 juillet 2008
Article modifié le 2 janvier 2009

Autres articles sous la même catégorie


Pascal Dubreuil | © PHPascal.com 2024
Temps d'exécution : 0.0083 sec
Imprimer le 19 April 2024 - 12:32:43
par Pascal Dubreuil organisateur du Marathon roller du Canada