2010-04-29 3 views
4

Voici le code pour mon bouton Paypal:retour PayPal URL

<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="[email protected]"> 
    <input type="hidden" name="lc" value="GB"> 
    <input type="hidden" name="button_subtype" value="products"> 
    <input type="hidden" name="no_note" value="1"> 
    <input type="hidden" name="no_shipping" value="1"> 
    <input type="hidden" name="rm" value="0"> 
    <input type="hidden" name="return" value="http://www.example.com"> 
    <input type="hidden" name="item_name" value="My Item"> 
    <input type="hidden" name="amount" value="25.00"> 
    <input type="hidden" name="currency_code" value="GBP"> 
    <input type="hidden" name="bn" value="PP-BuyNowBF:proceed_btn.gif:NonHosted"> 
    <input type="hidden" name="item_number" value="4BD9569402CDE"> 
    <input type="image" src="http://www.example.com/image.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> 
    <img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1"> 
</form> 

Est-il possible d'ajouter le item_number à l'URL de retour?

Par exemple, après avoir terminé le paiement dans PayPal l'utilisateur est renvoyé à http://www.example.com?item_number=4BD9569402CDE

+1

Pourquoi ne pas ajouter simplement à l'URL de retour? –

+0

oublié de mentionner que: il obtient dépouillé et remplacé par 'http: //www.example.com merchant_return_link = Retour + à + Merchant' – Sam

Répondre

4

J'ai décidé de faire les choses différemment.

J'ai réalisé que vous pouvez demander à PayPal de renvoyer toutes ses requêtes via POST, donc je vais ajouter quelques vérifications POST à ​​mon PHP et cela devrait fonctionner correctement.

Merci pour les réponses.

+0

comment avez-vous dit à paypal quelle méthode utiliser? – CharlieMezak

+0

La variable 'rm' est responsable de cela. – m33lky

1

Pour autant que je sache, vous ne pouvez pas revenir vars dans le lien de retour paypal. Paypals plus grand inconvénient et je ne sais pas pourquoi ils ne vous le permettent pas.

J'ai toujours eu le tour en stockant vars dans les cookies - son absolument pas une solution idéale si.

Il peut y avoir plus d'option dans PayPal Pro si?

4

Je me souviens avoir lu dans leurs documents que vous pouvez ajouter un nouveau champ caché avec une valeur personnalisée, qui sera réaffectés pour vous.

Vous pouvez utiliser ce champ pour ce que vous voulez - je ne me souviens pas de la mémoire comment il a été appelé, cependant, désolé, mais si vous avez les documents à portée de main, vous le trouverez assez facilement.

+2

Good appel - assez drôle, je pense qu'il est appelé' custom'?! – Sam

2

Pourquoi ne pas simplement encoder dans le nom du fichier:

http://www.mysite.com/ppreturn/2938 

Et puis utilisez mod_rewrite pour la transformer en une chaîne de requête:

RewriteRule ^/ppreturn/([1-9]+[0-9]*) /ppreturn/myscript.php?prodid=$1 

Si ajoute paypal querystring données à votre URL (toujours) alors vous pouvez utiliser mod_rewrite pour l'ajouter à la fin.

Un tutoriel mod_rewrite complet est un peu hors de portée, mais les Interwebs sont pleins d'infos. Démarrer . Il y a aussi un comparable system for IIS.

modifier

Je commentais 2 ans plus tard, mais, ma réponse est BAD. La réponse acceptée est la meilleure. Les requêtes GET ne devraient pas, en théorie, muter l'état, surtout quand il s'agit de quelque chose comme les paiements.

+0

c'est une très bonne solution. J'utilise un MVC qui gère déjà le mapping d'url pour moi, donc faire quelque chose comme ça est vraiment simple. Merci beaucoup!:) – srchulo

+0

Je commente 2 ans plus tard mais, ma réponse est MAUVAISE. La réponse acceptée est la meilleure. Les requêtes GET ne devraient pas, en théorie, muter l'état, surtout quand il s'agit de quelque chose comme les paiements. –

4

Ajout

<input type="hidden" name="rm" value="2" /> 

fonctionne aussi