2009-05-27 28 views
0

J'ai un seul produit, un fichier qui est créé dynamiquement et j'ai besoin d'un paypal pour retourner un client après le paiement est fait à l'adresse du fichier. simple bouton Acheter maintenant est élégant mais si je metspaypal adresse de retour dynamique

<input type="hidden" name="return" value="http://www.mysite.com/x727x7e.dat"> 

dans du code d'un bouton simple navigateur Page - Afficher la source peut révéler l'adresse du fichier avant le paiement.

Voici un exemple de code de bouton:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> 
<input type="hidden" name="return" value="http://www.mysite.com/x727x7e.dat"> 
<input type="hidden" name="cancel_return" value="http://www.mysite.com/nothanx.html"> 
<input type="hidden" name="cmd" value="_s-xclick"> 
<input type="hidden" name="hosted_button_id" value="1111111111"> 
<input type="image" src="https://www.paypal.com/en_AU/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online."> 
<img alt="" border="0" src="https://www.paypal.com/en_AU/i/scr/pixel.gif" width="1" height="1"></form> 

Je suppose que la bonne façon serait d'utiliser PayPal api et pour générer le fichier après la transaction a été sucessfull mais depuis que je suis Noob à paypal et était Je me demande si cela peut être résolu d'une manière élégante? Puis-je créer un bouton (asp.net C#) qui rende la méthode post avec ces paramètres à paypal, afin que l'URL de retour ne soit pas visible par le client?

+0

voir aussi cette question http://stackoverflow.com/questions/638114/how-can-i-integrate-paypal-with-asp-net – devio

Répondre

0

Oui, créez une entrée masquée nommée return et insérez votre adresse de retour. Vous pouvez également définir une entrée masquée nommée cancel_return et insérer une adresse d'annulation-retour utilisée si l'utilisateur tente d'annuler la transaction. Enfin, vous pouvez ajouter un nommé notify_url qui recevra un POST de manière asynchrone après l'achat. L'adresse return recevra également un POST mais seulement si l'utilisateur clique pour revenir.

EDIT:

Je viens de remarquer que vous voulez cacher l'adresse. Un, comme je l'ai mentionné les informations de paiement est posté à cette adresse, qui comprend un code de validation, vous pouvez demander à paypal si le paiement est valide. Donc, cela signifie qu'il n'est pas essentiel de garder l'adresse secrète (en outre, après un paiement, un utilisateur peut voir où il est allé de toute façon). Deux, vous pouvez enregistrer une clé SSL avec paypal, puis crypter vos champs avec elle. S'il vous plaît voir leur documentation sur la façon de le faire. Le pire qu'un utilisateur peut faire est de compléter un paiement erroné via paypal - ils seraient encore facturés de l'argent, mais devrait, avec un visage impassible, prétendre que votre site Web l'a dit (quoi que vous vendiez) était seulement 0,01 USD au lieu de 10,00 USD.

Cela peut ou peut ne pas être une préoccupation en fonction de ce que vous vendez.

+0

pouvez-vous expliquer la dernière phrase. comment cela dépend du type de produit? thanx – Ivan

+0

Eh bien, si vous vendez un service, alors vous ne vous souciez pas vraiment du fait qu'ils manipulent le formulaire, parce qu'ils ne se feraient que se tirer une balle dans le pied. Vous recevrez un paiement valide de paypal mais pour le mauvais montant. Ils appelleraient et se plaindre, et vous rembourseriez le montant et ils essayeraient encore (cette fois-ci un bon client). Si vous vendez quelque chose dont le prix change fréquemment, vous souhaiterez peut-être protéger le formulaire en le chiffrant afin que vous puissiez avoir confiance que le montant payé correspond bien à ce que vous avez offert. C'est vraiment à quel point vous êtes paranoïaque à propos de vos clients. –