3

我想使用 Paypal 服务,我正在测试过程中并使用 Sandbox,但令人困惑的问题是,当用户从我的网站购买产品并随后被 Paypal 重定向到我的“成功”页面时,我收到的数据是'Querystring',只有从那里我才能读取数据。我认为这是错误的,因为“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 += "&currency=USD";
        redirecturl += "&return=" + ConfigurationManager.AppSettings["SuccessURL"].ToString();
                 redirecturl += "&cancel_return=" + ConfigurationManager.AppSettings["FailedURL"].ToString();
        Response.Redirect(redirecturl);
    }

此外,我很想知道“notify_url”和“paypal-ipn”参数的作用。来自尊敬的读者的任何反馈都将受到高度赞赏。

问候,

4

1 回答 1

4

根据您的问题,我不确定您是否对 PayPal 购买流程有很好的了解。

首先,您应该使用 PayPal 生成的按钮(在您的 PayPal 帐户中制作),这些按钮已加密并防止用户更改购买页面上的参数。

其次,在进行交易时,PayPal IPN 将(通过 SSL)发布到您指定的网络服务器上的页面。在这里您可以提取购买的详细信息。(关于 PayPal IPN 处理程序的 C# 示例)您应该确保响应是VERIFIED,验证接收方电子邮件地址是您的电子邮件地址,并且在执行订单之前,IPN 处理程序中的交易金额是正确的。(更多代码示例位于PayPal 代码示例。)

于 2012-09-06T17:31:51.353 回答