Paypal的支付安全性

3

我想使用Paypal的服务,目前正在测试阶段并使用Sandbox,但困扰我的问题是,当用户从我的网站购买产品,并通过Paypal被重定向到我的“成功”页面时,我只能通过'Querystring'收到数据,然后才能读取数据。

我认为这是错误的,因为“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”参数的确切作用。在此,非常感谢尊敬的读者们提供任何反馈意见。
祝好,

不知道怎么回事,但我不知道如何检查用户!!! - Erfan pj
1个回答

4

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

首先,您应该使用PayPal生成的按钮(在您的PayPal账户中创建),这些按钮是加密的,可以防止用户在购买页面上更改参数。

其次,在交易进行时,PayPal IPN将会向您指定的Web服务器上的页面POST(通过SSL)。在此,您可以提取购买的详细信息。(C# PayPal IPN handler示例)在履行订单之前,您应该确保响应为已验证,验证接收者电子邮件地址为您的电子邮件地址,并且IPN处理程序中的交易金额正确。(更多代码示例请参见PayPal代码示例。)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接