2012-09-06 49 views
3

我想使用Paypal服务,我正在测试程序和使用沙盒,但令人困惑的问题是,当用户从我的网站购买产品,然后重定向到我的'成功'页面贝宝,我收到'Querystring'的数据,只有从那里我可以读取数据。 我相信这是错误的,因为'Querystring'可以很容易地改变和修改。我想知道我如何确定我收到的'Querystring'属于通过购买请求付款的用户。Paypal支付安全

 string redirecturl = ""; 
     redirecturl += "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_xclick&business=" + ConfigurationManager.AppSettings["paypalemail"].ToString();    
     redirecturl += "&first_name=erfanpj"; 
     redirecturl += "&city=stockholms"; 
     redirecturl += "&state=stockholms"; 
     redirecturl += "&item_name=" + l1.Text; 
     redirecturl += "&amount=" + l3.Text;   
     //redirecturl += "&[email protected]"; 
     redirecturl += "&shipping=5"; 
     redirecturl += "&handling=5"; 
     redirecturl += "&tax=5"; 
     redirecturl += "&quantity=1"; 
     redirecturl += "&currency=USD"; 
     redirecturl += "&return=" + ConfigurationManager.AppSettings["SuccessURL"].ToString(); 
       redirecturl += "&cancel_return=" + ConfigurationManager.AppSettings["FailedURL"].ToString(); 
     Response.Redirect(redirecturl); 
    } 

此外,我非常想知道'notify_url'和'paypal-ipn'参数究竟做了什么。任何来自这里尊敬的读者的反馈将受到高度赞赏。

问候,

+2

您是否检查过PayPal API文档? https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_api_reference – n8wrl

+0

Sommehow,但我不怎么能检查用户! –

回答

4

从你的问题我不知道你有贝宝购买过程中有很好的理解。

首先,你应该使用贝宝生成按钮(在您的PayPal账户作出的)是被加密并防止用户在购买页面上改变参数。

其次,在交易的贝宝IPN将发布(通过SSL)到您的网络服务器的网页,您已经指定。在这里你可以提取购买的细节。 (C# example on PayPal IPN handler)您应确保回复为VERIFIED,验证接收方电子邮件地址是您的电子邮件地址,并且在履行订单前IPN处理程序中的交易金额是正确的。 (更多代码示例在PayPal Code Samples。)