我想使用 Paypal 服务,我正在测试过程中并使用 Sandbox,但令人困惑的问题是,当用户从我的网站购买产品并随后被 Paypal 重定向到我的“成功”页面时,我收到带有“查询字符串”的数据,只有从那里我才能读取数据。 我认为这是错误的,因为可以很容易地更改和修改“Querystring”。我想知道如何确定我收到的“查询字符串”属于通过购买请求付款的用户。
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 += "&business=erfanpj@ymail.com";
redirecturl += "&shipping=5";
redirecturl += "&handling=5";
redirecturl += "&tax=5";
redirecturl += "&quantity=1";
redirecturl += "¤cy=USD";
redirecturl += "&return=" + ConfigurationManager.AppSettings["SuccessURL"].ToString();
redirecturl += "&cancel_return=" + ConfigurationManager.AppSettings["FailedURL"].ToString();
Response.Redirect(redirecturl);
}
此外,我非常想知道“notify_url”和“paypal-ipn”参数到底做了什么。非常感谢这里尊敬的读者的任何反馈。
问候,
最佳答案
根据您的问题,我不确定您是否充分了解 PayPal 购买流程。
首先,您应该使用加密的 PayPal 生成按钮(在您的 PayPal 帐户中制作),并防止用户更改购买页面上的参数。
其次,在交易发生后,PayPal IPN 将 POST(通过 SSL)到您指定的网络服务器上的页面。在这里您可以提取购买的详细信息。 ( C# example on PayPal IPN handler ) 在完成订单之前,您应该确保响应是 VERIFIED
,验证收件人电子邮件地址是您的电子邮件地址,并且 IPN 处理程序中的交易金额是正确的。 (更多代码示例位于 PayPal Code Samples。)
关于asp.net - Paypal支付安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12302649/