envoi d'un fichier suite à paiement paypal ?
3 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
envoi d'un fichier suite à paiement paypal ?
Bonjour,
Je voudrais envoyer automatiquement un fichier suite à un paiement Paypal .
Je trouve quand même la doc par très explicite.
Bon j'ai fini par trouver comment envoyer un mail de notification suite au paiement.
J'ai renseigné le notify_url dans le formulaire de cette façon:
ensuite dans le fichier notification.php j'ai :
Je voudrais donc mettre le code pour envoyer le fichier en téléchargement à l'endroit ou j'ai mis ENVOI DU FICHIER en utilisant readfile . Mais il faudrait que je change le header qui a été déjà défini.
Je coince un peu la . Ou alors ce n'est pas comme ça que je dois procéder ?
Quelqu'un sait comment faire ?
Merci
Je voudrais envoyer automatiquement un fichier suite à un paiement Paypal .
Je trouve quand même la doc par très explicite.
Bon j'ai fini par trouver comment envoyer un mail de notification suite au paiement.
J'ai renseigné le notify_url dans le formulaire de cette façon:
- Code: Tout sélectionner
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="essai@yahoo.com">
<input name="custom" type="hidden" value="numerodeclient" />
<input type="hidden" name="item_name" value="document">
<input type="hidden" name="currency_code" value="EUR">
<input type="hidden" name="amount" value="0">
<input type="hidden" name="notify_url" value="notification.php">
<input type="image" src="https://www.paypal.com/fr_FR/FR/i/btn/btn_buynowCC_LG.gif" name="submit" alt="Effectuez vos paiements via PayPal : une solution rapide, gratuite et sécurisée">
</form>
ensuite dans le fichier notification.php j'ai :
- Code: Tout sélectionner
/* Script de notification de paiement par Paypal par mail */
$emailto = "destinataire@destinataire.com";
$emailfrom = "essai@essai.com";
$sujetprefix = "[PAYPAL]";
// lecture du post de PayPal et ajout de 'cmd'
$req = 'cmd=_notify-validate';
foreach ($_POST as $key => $value) {
$value = trim(urlencode(stripslashes($value)));
$req .= "&$key=$value";
}
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Host: www.paypal.com:80\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'];
$payment_date = $_POST['payment_date'];
$txn_id = $_POST['txn_id'];
$receiver_email = $_POST['receiver_email'];
$payer_email = $_POST['payer_email'];
$num_cart_items = $_POST['num_cart_items'];
$quantity = $_POST['quantity'];
$mc_fee = $_POST['mc_fee'];
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$address_street = $_POST['address_street'];
$address_zip = $_POST['address_zip'];
$address_city = $_POST['address_city'];
$address_state = $_POST['address_state'];
$address_country = $_POST['address_country'];
$address_country_code = $_POST['address_country_code'];
$payer_business_name = $_POST['payer_business_name'];
$payer_status = $_POST['payer_status'];
$memo = $_POST['memo'];
$invoice = $_POST['invoice'];
if (!$fp) {
} else {
fputs ($fp, $header . $req);
while (!feof($fp)) {
$res = fgets ($fp, 1024);
if (strcmp ($res, "VERIFIED") == 0) {
// *******ENVOI FICHIER ****************************
ENVOI DU FICHIER
// FIN ENVOI FICHIER *********************************
// Envoi du mail
$mail_From = "From: " . $emailfrom;
$mail_To = $emailto;
$mail_Subject = $sujetprefix . " Paiement PAYPAL valide et verifie";
$mail_Body = "Paypal vient de valider et recevoir un paiement par carte bancaire.";
$mail_Body .= "\n\n====================================================";
$mail_Body .= "\nVoici quelques informations sur la transaction:\n";
$mail_Body .= "\n" . "Transaction ID: " . $txn_id ;
$mail_Body .= "\n" . "Date de paiement: " . $payment_date;
$mail_Body .= "\n" . "Etat du paiement: " . $payment_status;
$mail_Body .= "\n====================================================";
$mail_Body .= "\n\n" . "Les informations ci-dessous peuvent etre incompletes. \nAllez sur votre compte Paypal pour verifier qu'il ne manque pas une ligne de l'adresse ou un objet en commande.";
$mail_Body .= "\n\n====================================================";
$mail_Body .= "\n" . "Nombre d'objets dans le panier: " . $num_cart_items;
$mail_Body .= "\n" . "Objet en commande: " . $item_name;
$mail_Body .= "\n" . "Numero de l'objet: " . $item_number;
$mail_Body .= "\n" . "Quantite: " . $quantity;
$mail_Body .= "\n\n" . "Montant: " . $payment_amount . " " .$payment_currency;
$mail_Body .= "\n" . "Frais Paypal: " . $mc_fee;
$mail_Body .= "\n" . "Facture numero: " . $invoice;
$mail_Body .= "\n\n" . "Nom: " . $first_name . " " .$last_name;
$mail_Body .= "\n" . "Rue: " . $address_street;
$mail_Body .= "\n" . "Code postal: " . $address_zip;
$mail_Body .= "\n" . "Ville: " . $address_city;
$mail_Body .= "\n" . "Etat et Pays: " . $address_state . " " .$address_country . " " .$address_country_code;
$mail_Body .= "\n" . "Adresse e-mail: " . $payer_email;
$mail_Body .= "\n" . "Nom de l'entreprise: " . $payer_business_name;
$mail_Body .= "\n\n" . "Message du client: " . $memo;
$mail_Body .= "\n\n" . "Statut Paypal du client: " . $payer_status;
$mail_Body .= "\n====================================================";
foreach ($_POST as $key => $value){
$emailtext .= $key . " = " .$value ."\n";
}
mail($mail_To, $mail_Subject, $mail_Body . "\n\nVoici les donnees brutes recues par Paypal: \n\n" . $emailtext, $mail_From);
}
else if (strcmp ($res, "INVALID") == 0) {
// Envoi d'un mail si invalide
$mail_From = "From: " . $emailfrom;
$mail_To = $emailto;
$mail_Subject = $sujetprefix . " Paiement PAYPAL NON VALIDE";
$mail_Body = "Un client a voulu payer par Paypal mais la transaction n'est pas valide. La commande est annulee. \nCe message est envoye pour information, il n'y a rien a faire. \nhttps://www.paypal.com/fr/ \nCi-dessous, les donnees brutes envoyees par Paypal.";
$mail_Body .= "\n\n====================================================";
$mail_Body .= "\n\n" . "Nombre d'objets dans le panier: " . $num_cart_items;
$mail_Body .= "\n" . "Objet en commande: " . $item_name;
$mail_Body .= "\n" . "Numero de l'objet: " . $item_number;
$mail_Body .= "\n" . "Quantite: " . $quantity;
$mail_Body .= "\n\n" . "Montant: " . $payment_amount . " " .$payment_currency;
$mail_Body .= "\n" . "Frais Paypal: " . $mc_fee;
$mail_Body .= "\n" . "Facture numero: " . $invoice;
$mail_Body .= "\n\n" . "Nom: " . $first_name . " " .$last_name;
$mail_Body .= "\n" . "Rue: " . $address_street;
$mail_Body .= "\n" . "Code postal: " . $address_zip;
$mail_Body .= "\n" . "Ville: " . $address_city;
$mail_Body .= "\n" . "Etat et Pays: " . $address_state . " " .$address_country . " " .$address_country_code;
$mail_Body .= "\n" . "Adresse e-mail: " . $payer_email;
$mail_Body .= "\n" . "Nom de l'entreprise: " . $payer_business_name;
$mail_Body .= "\n\n" . "Message du client: " . $memo;
$mail_Body .= "\n\n" . "Statut Paypal du client: " . $payer_status;
$mail_Body .= "\n====================================================";
foreach ($_POST as $key => $value){
$emailtext .= $key . " = " .$value ."\n";
}
mail($mail_To, $mail_Subject, $mail_Body . "\n\nVoici les donnees brutes recues par Paypal: \n\n" . $emailtext, $mail_From);
}
}
fclose ($fp);
}
Je voudrais donc mettre le code pour envoyer le fichier en téléchargement à l'endroit ou j'ai mis ENVOI DU FICHIER en utilisant readfile . Mais il faudrait que je change le header qui a été déjà défini.
Je coince un peu la . Ou alors ce n'est pas comme ça que je dois procéder ?
Quelqu'un sait comment faire ?
Merci
Merci pour ta suggestion, mais j'ai fait autrement.
Je m'en suis sorti en rajoutant l'url de retour apres le paiement
Je lance donc le téléchargement du fichier automatiquement en vérifiant dans ma BDD si le paiement a bien eu lieu. ( écriture dans la bdd qui s'est faite grâce au fichier notification.php )
Par contre un petit détail: sur la page de paiement apparait:
et
Est ce que l'on peut personnaliser et remplacer contact@mondomaine.fr par autre chose.
je suppose que cela doit être possible. Mais je ne vois pas comment faire ?
Merci
Je m'en suis sorti en rajoutant l'url de retour apres le paiement
- Code: Tout sélectionner
<input type="hidden" name="return" value="telechargement.php">
Je lance donc le téléchargement du fichier automatiquement en vérifiant dans ma BDD si le paiement a bien eu lieu. ( écriture dans la bdd qui s'est faite grâce au fichier notification.php )
Par contre un petit détail: sur la page de paiement apparait:
PayPal traite de manière sécurisée les paiements de contact@mondomaine.fr. Vous pouvez effectuer votre règlement en quelques clics.
et
Annuler et retourner sur contact@mondomaine.fr.
Est ce que l'on peut personnaliser et remplacer contact@mondomaine.fr par autre chose.
je suppose que cela doit être possible. Mais je ne vois pas comment faire ?
Merci
3 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Le blog officiel de Google Checkout
- Suite de l'article sur le fichier .htaccess : l'URL rewriting
- Article sur le fichier .htaccess
- Déclarer son fichier sitemap dans le fichier robots.txt
- Passage en euros des comptes Google AdSense
- Gérer l'entête HTTP en PHP
- Suite de l'interview avec Google
- Froogle renommé en Google Product Search
- Sortie de GoogleStats v2.01
- Contraintes d'emplacement du Sitemap
Consultez la description détaillée des produits ou services de Google suivants : Google Checkout
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum