Paiement Paypal

widi70 Messages postés 679 Statut Membre -  
widi70 Messages postés 679 Statut Membre -
Bonjour, je suis entrain d'installer un paiement paypal sur un site internet.... je suis ce tuto :
https://www.lafermeduweb.net

J'arrive à réaliser un paiement (Test), je rejoint bien la page de mon site apres la validation ou l'annulation de mon paiement enfin tout est ok côté site.

1. Mon problème est pour voir mon paiement sur l'environnement de test

Maintenant, vous pouvez vérifier que la transaction a bien été effectuée dans votre compte "seller". (Via le site sandbox > Tests Accounts)

Exemple:



 

Je n'arrive pas à accéder à cette partie donc je n'arrive pas à vraiment savoir si le paiement est ok ou pas....

2. Et j'ai quelques difficulté de compréhension à ce niveau la :

Il y'a quelques tests à effectuer au préalable:

Vérifier que payment_status soit bien égal à "Completed"
Vérifier que l'ID de transaction txn_id n'a pas déjà été traité
Vérifier que receiver_email est votre adresse email PayPal principale
Vérifier que payment_amount et payment_currency sont corrects dans le cas où le prix est fixe.



Si mon paiement est validé, pourquoi est ce que je devrai vérifier tout ça?



3. Une fois que je considère que c'est bon, je n'ai pas à changer les url, j'ai juste à réaliser un "réel" paiement?

4. Et dernière question n'est il pas possible que le client achete seulement avec sa carte bancaire sans être obligé d'avoir un compte paypal....

Merci de votre aide....


5 réponses

graffx Messages postés 7513 Statut Contributeur 1 975
 
1 - test le bouton comme si tu voulais acheter réellement, au pire tu paieras avec l'argent de ton compte....qui retournera sur ton compte, tu seras l' acheteur et le vendeur, donc tu ne perdras rien.

2 - si ton paiement est validé, la moindre des choses est d' en etre sur. Si tu te trompe et que ca marque paiement validé alors qu' il y a eu un probleme, ben tu vendras juste un objet sans avoir l 'argent.

3 - comprend pas.

4 - si tu veux un systeme de paiement via carte bleue, vois avec le script de ta banque qui se loue plus que cher, ca peut aller jusque dans les 800€...
0
widi70 Messages postés 679 Statut Membre 65
 
ok ok merci de ton aide...

3-
3 - comprend pas. ...


Pour le boulot j'ai deja mis un paiement cic sur un site, et les url de paiement et les url de test ne sont pas identique.
Les url qui sont dans le formulaire avant paiement
Sur ce même tuto partie 1 (https://www.lafermeduweb.net
il y a le formulaire pour envoyer les informations comme ci-dessous

<form action="https://www.sandbox.paypal.com/us/home" method="post">
<input type='hidden' value="Montant_Achat" name="amount" />
<input name="currency_code" type="hidden" value="EUR" />
<input name="shipping" type="hidden" value="0.00" />
<input name="tax" type="hidden" value="0.00" />
<input name="return" type="hidden" value="http://votredomaine/paiementValide.php" />
<input name="cancel_return" type="hidden" value="http://votredomaine/paiementAnnule.php" />
<input name="notify_url" type="hidden" value="http://votredomaine/validationPaiement.php" />
<input name="cmd" type="hidden" value="_xclick" />
<input name="business" type="hidden" value="votre_emailtest_biz@domaine" />
<input name="item_name" type="hidden" value="Nom de votre produit" />
<input name="no_note" type="hidden" value="1" />
<input name="lc" type="hidden" value="FR" />
<input name="bn" type="hidden" value="PP-BuyNowBF" />
<input name="custom" type="hidden" value="ID_ACHETEUR" />
<input alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée" name="submit" src="https://www.paypalobjects.com/fr_FR/FR/i/btn/btn_buynow_LG.gif" type="image" /><img src="https://www.paypalobjects.com/fr_FR/i/scr/pixel.gif" border="0" alt="" width="1" height="1" />
</form>


Et ce formulaire est envoyé ici https://www.sandbox.paypal.com/us/home mais sandbox est bien l'environnement de test de paypal non?

1- J'aurais aimé le voir sur l'environnement de test avant comme expliqué dans le tuto,.... pour le principe si qqn à une idée
2- Je vais faire le nécessaire alors.... :)
4-J'ai peur de perdre des clients avec ça.... mais bon je n'ai pas les moyens de ....

Merci bcp
0
widi70 Messages postés 679 Statut Membre 65
 
Please question 1 et 3....

Merci
0
widi70 Messages postés 679 Statut Membre 65
 
alors...
Question 1. J'ai trouvé ..!!!! il faut aller dans Paypal Sandbox -> Test Email et pis voilou....

Question 3 .....Toujours besoin d'un eclairage....

Question 2 : Je récapitule ....

Je prend toutes les valeurs POST
$numbon
$item_name
$item_number
$payment_status
$payment_amount
$payment_currency
$txn_id
$receiver_email
$payer_email
$id_user


Je les inscrit dans ma bdd
Question 2-1 : Y'a t'il autre chose à mettre dans la bdd?


Je vérifie les valeurs grâce à ce formulaire
// lire le formulaire provenant du système PayPal et ajouter 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
// renvoyer au système PayPal pour validation
$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.sandbox.paypal.com', 80, $errno, $errstr, 30);

$item_name = $_POST['item_name'];
$item_number = $_POST['item_number'];
$payment_status = $_POST['payment_status'];
$payment_amount = $_POST['mc_gross'];
$payment_currency = $_POST['mc_currency'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];
$id_user = $_POST['custom'];
if (!$fp) {
// ERREUR HTTP
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// transaction valide
}
else if (strcmp ($res, "INVALID") == 0) {
// Transaction invalide               
}
}
fclose ($fp);
}

// vérifier que payment_status a la valeur Completed
if ( $payment_status == "Completed") {
// vérifier que txn_id n'a pas été précédemment traité: Créez une fonction qui va interroger votre base de données
if (VerifIXNID($txn_id) == 0) {
// vérifier que receiver_email est votre adresse email PayPal principale
if ( "votreEmailSeller" == $receiver_email) {
// vérifier que payment_amount et payment_currency sont corrects
// traiter le paiement
}
else {
// Mauvaise adresse email paypal
}
}
else {
// ID de transaction déjà utilisé
}
}
else {
// Statut de paiement: Echec
}




Question 2-2 : votreEmailSeller correspond bien à mon adresse mail avec lequel j'ai crée mon compte paypal?

Question 2-3 : Si le paiement n'est pas valide, je m'envoi un email, et je prévient le client et c'est tout?


Merci pour votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
widi70 Messages postés 679 Statut Membre 65
 
Question 3 ..... J'ai trouvé c'etait tout simplement écrit dans le tuto :
Nous ouvrons ensuite une connexion avec le serveur sandbox paypal (A remplacer par www.paypal.com en production).



Mais toujours les même pb de compréhension pour la RÉCUPÉRATION DES DONNÉES DE L'IPN, de plus sur la page http://votredomaine/validationPaiement.php j'ai integrer l'envoi d'un email et l'ajout des données dans une BDD, mais je reçoit rien et rien ne s'inscrit dans la BDD

<input name="notify_url" type="hidden" value="http://votredomaine/validationPaiement.php" />



Pensez vous que ce tuto est toujours à jour?

Merci de me répondre
-1