Puis-je envoyer une variable à paypal, et de le publier de nouveau à moi lorsque le paiement est effectué?
Ive été d'utiliser express checkout API pour convertir les gens des comptes sur mon site pour les comptes premium après le paiement. Le seul problème c'est qu'il ne veut pas envoyer l'utilisateur vers le site jusqu'à ce qu'ils cliquez sur le bouton de retour, et il met à jour leur autorisation lorsque cela se produit. Environ 40% des utilisateurs ne semblent pas le faire.... de sorte que leurs comptes ne jamais crédité après le paiement.
Bien que paypal un instant de post-retour sur le succès de paiement, je n'ai jamais été en mesure de le faire réellement mise à jour le compte de l'utilisateur tout de suite, puisque je ne peux pas l'obtenir à envoyer certains de tri de l'information qui permettrait d'identifier l'utilisateur qui vient de compléter le paiement. Je ne pouvais le faire que lorsque vous êtes renvoyé vers le site qui envoie l'ID de transaction, que je me suis connecté avec un post-retour. Il le cherche, et accorde l'autorisation si il a été trouvé, il int DB.
Est-il un moyen de soumettre un type d'une variable à paypal, qu'il publiera ensuite de nouveau à moi? Quelque chose comme &user_id=123, ce qui serait très pratique pour mettre à jour l'autorisation de l'utilisateur.
Vous devez vous connecter pour publier un commentaire.
Oui, si vous envoyez
item_number
, le IPN de notification comprendra que lorsqu'il l'envoie vers vous. - Je enregistrer un ID unique dans la base de données lorsque l'utilisateur démarre le processus de paiement, et de l'inclure lors de l'envoi à PayPal. Lorsque l'IPN arrive, que ID unique correspond à l'enregistrement dans la base de données, de me donner toutes les infos dont j'ai besoin.Modifier Re votre commentaire:
Je m'attends il y a un exemple de code quelque part sur le site lié ci-dessus, mais en gros, dans mon cas, je suis à l'aide d'un formulaire que je POSTE à https://www.paypal.com/cgi-bin/webscr. Au sein de ce formulaire sont différents champs cachés documenté dans l'IPN trucs (
cmd
pour que la commande à effectuer,business
pour spécifier votre entreprise ID,item_name
pour une belle description dans le PayPal de l'INTERFACE utilisateur,item_number
pour le nombre d'article que j'ai mentionné ci-dessus, etc., etc.). Lors de l'IPN postes de retour à votre IPN adresse, il comprend divers domaines (tels quepayment_status
— type de important! &mdash et laitem_number
vous nourris lors de la publication d'entre eux).item_number
était exactement la bonne chose. YMMV, mais ce n'en est pas ma conception de la "inapproprié".Iten_number
variable cachée ne fonctionnent pas dans mon application. Mais j'ai trouvé quecustom
champ caché fonctionne très bien. Il suffit d'ajouter ce champ dans le formulaire, généré par paypal:<input type="hidden" name="custom" value="YOUR VALUE FROM DB"/>
. Après, vous pouvez lire cette valeur pour identifier, par exemple, ce produit a été acheté. (Code Java):String custom = request.getParameter("custom");
$_POST['custom']
à partir de votre script ipn.custom
:<input type="hidden" name="my_id" value="YOUR VALUE FROM DB"/>
, mais rien n'est arrivé à l'IPN avec$_POST['my_id']
🙁 Donc probablementname="custom"
est le seul nom qui fonctionne.Juste pour ajouter à cette vieille question...
Il y a l'option paramètres qui sont couramment utilisés pour personnaliser l'envoi des données par le biais de paypal.
Ces balises d'option sont on0, on1, ou on2 pour le champ personnalisé, les noms et les os0, os1, et os2 pour les valeurs de champ personnalisé.
Je voudrais envoyer on0 avec une valeur de "nom d'utilisateur" et os0 l'identification réelle.
Ces valeurs seront représentées dans l'IPN comme suit:
os0 est représenté comme option_selection1
os1 est représenté comme option_selection2
os2 est représenté comme option_selection3
on0 est représenté comme option_name1
on1 est représenté comme option_name2
on2 est représenté comme option_name3
Voici l'info sur PayPal HTML de paramètres
Selon HTML Variables pour les Paiements par PayPal Standard vous pouvez envoyer tous les "Pass-through" variables:
et
Tous ces pass-through variables sont envoyées par l'IPN dans la réponse du paiement d'info.
Vous avez juste à rendre votre modèle HTML côté serveur et écrire les champs dans le code HTML comme
Techniquement le champ "custom" peut être une chaîne encodée JSON si vous souhaitez gérer plus de données comme
J'ai enfin reçu cette réponse, je veux partager avec vous tous look:
sur votre formulaire HTML, mettez ce code (c'est Paypal sandbox):
Sur votre PHP après le Paypal de redirection vers votre page de succès: l'utilisation de la
cm
OBTENIR de variable:J'espère cette URL résout votre problème. Comme il a résolu la mienne. Ajouter une variable personnalisée à votre formulaire et de le récupérer sur votre succès de la page de paiement.
Exemple :
<input type='hidden' name='custom' value='<?php echo $email; ?>'/>
et ensuite le récupérer comme :
Réponse de paypal serait
[option_name1] => Ajay Gadhavana
[option_name1] => my_phone_number
[option_name1] => my_third_extra_field