Problème avec l'API de PAYPAL
- Accueil
- Forum
- Programmation
- PHP
- Problème avec l'API de PAYPAL
Spyller Le 25 juin 2016 à 01:36 (Édité le 25 janvier 2019 à 17:51)
Quand je paie sur mon site (site pour m’entraîner) pour ajouter des points, le paiement se passe normalement avec paypal, il me dit que tout est OK, mais les points ne sont pas ajoutés
Le problème vient de l'IPN (la reception des données envoyées par Paypal) copié si dessous, merci d'avance si vous pouvez m'aider:
<?php
$email_account = "seller161@account.fr";
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = urlencode(stripslashes($value));
$req .= "&$key=$value";
}
$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 ('ssl://www.sandbox.paypal.com', 443, $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'];
parse_str($_POST['custom'],$custom);
if (!$fp) {
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// vérifier que payment_status a la valeur Completed
if ( $payment_status == "Completed") {
if ( $email_account == $receiver_email && $payment_currency=='EUR') {
$id = $custom['user_id'];
$bdd = new PDO('mysql:host=db613394505.db.1and1.com;dbname=db613394505', 'dbo613394505', 'mon mot de passe');
$req = $bdd->prepare('SELECT * FROM luck WHERE id = :id');
$req->execute(array('id'=>$id));
$resultat = $req->fetch();
$points = $resultat['points'];
if ($payment_amount == 0.01)
{
$points= $points + 50;
}
$req = $bdd->prepare('UPDATE luck SET points = :balance WHERE id = :id');
$req->execute(array(
'balance' => $points,
'id' => $id
));
}
}
else {
// Statut de paiement: Echec
}
exit();
}
else if (strcmp ($res, "INVALID") == 0) {
// Transaction invalide
}
}
fclose ($fp);
}
?>
Profil introuvable Le 23 février 2017 à 21:37 (Édité le 1 janvier 1970 à 01:00)
Spyller Le 24 février 2017 à 03:56 (Édité le 1 janvier 1970 à 01:00)
Quel est le problème ?
Profil introuvable Le 25 février 2017 à 04:12 (Édité le 25 février 2017 à 04:13)
'Spyller', quand tu avais poster ton code, tu n'avais pas utiliser la balise [CODE] (maintenant c'est fait, merci encore), c'est pour cela que je t'ai envoyé le lien des règles du forum que nous avons soigneusement rédiger à cause du manque de temps de Boris (PrimFX) et pour cela l'aider à faire vivre le forum.
'Blast0Kd' est aussi concerné, puisqu'il utilise des "up" qui sont interdits ! Cela est inutile puisque sur un forum, il faut être patient du temps de réponse des membres.
Profil introuvable Le 25 février 2017 à 04:14 (Édité le 25 février 2017 à 04:15)
Je ne prend pas en charge les personnes en PHP pour le moment, attend donc une réponse d'un membre sans "up" 😀 Tu peux poster des recherches de ton côté par exemple pour faire remonter ton topic au haut de liste.