ASP.NET 电子商务网站

Posted

技术标签:

【中文标题】ASP.NET 电子商务网站【英文标题】:ASP.NET Eccommerce Website 【发布时间】:2011-06-11 20:46:13 【问题描述】:

我正在为某人开发一个电子商务网站,我只需要有关使用 ASP.NET 2.0 的最佳支付网关方法的信息?

第二个问题很重要,因为它的电子商务需要在网站上实施支付控制,以便用户使用信用卡或借记卡付款,我想问的是该网站需要https。我在 EUKHost 上查看了一个网络主机,他们以 39.99 英镑的价格购买 Windows 铜质服务器,但 https 的价格为 89.99 英镑。现在我的客户问我应该怎么做,因为他认为这很贵,需要看看他的预算。所以我只想问HTTPS还是不HTTPS?

我会建议他使用 HTTPS,因为如果用户想要购买商品并发现网站上没有安全支付,那么它可能会阻止用户在网站上购买商品。

如果您能提供反馈,我将不胜感激。

谢谢

【问题讨论】:

【参考方案1】:

我肯定会使用 HTTPS....我知道没有它我不会在网站上在线购物。至于支付网关,我开发了几个 ASP.Net 电子商务应用程序并使用 Authorize.Net。他们从来没有遇到过任何问题。

【讨论】:

感谢 Cognitronic 的反馈,是的,我已经研究了 Authorize.Net,并将进一步研究它,也许会试一试。 89.99 英镑购买带有 HTTPS 的托管包是否太多或合理? 嗯,我不确定这个包是什么,但听起来是对的。我只是货比三家。【参考方案2】:

是的,使用 SSL (https)

我使用 USA ePay,他们有一个很好的 .Net DLL,他们也有 SOAP Webservices。

http://wiki.usaepay.com/developer/dotnet?DokuWiki=3f16f463e33e18844c91a7665ab80ada

使用它就像...一样简单

private void RunSale()

    USAePayAPI.USAePay usaepay = new USAePayAPI.USAePay();
    usaepay.SourceKey = "dgb8otyulg26vm2hYiF8b2q6P7091681";
    usaepay.Pin = "ABA123";
    usaepay.Amount = 2.23;
    usaepay.Description = "A test transaction";
    usaepay.CardHolder = "Joe Schmoe";
    usaepay.CardNumber = "4444555566667779";
    usaepay.CardExp = "0909";

    //For Sandbox accounts set to true
    usaepay.UseSandbox = "false"


    try 
    
        usaepay.Sale();
        if(usaepay.ResultCode == "A")
        
            lblStatus.Text = "Transaction approved\n" +
                "Auth Code: " + usaepay.AuthCode + "\n" +
                "Ref Num: " + usaepay.ResultRefNum + "\n" +
                "AVS: " + usaepay.AvsResult + "\n" +
                "CVV: " + usaepay.Cvv2Result;
         
        else if(usaepay.ResultCode == "D")
        
            lblStatus.Text = "Transaction Declined\n" +
                "Ref Num: " + usaepay.ResultRefNum;
         else 
            lblStatus.Text="Transaction Error\n" +
                "Ref Num: " + usaepay.ResultRefNum + "\n" +
                "Error: " + usaepay.ErrorMesg + "\n" +
                "Error Code: " + usaepay.ErrorCode;
        


    
    catch(Exception x) 
    
        lblStatus.Text="ERROR: " + x.Message;
    

你可以得到一个账号Newtek

【讨论】:

谢谢aron,感谢花时间给我一个例子,我会看看。【参考方案3】:

是的,您非常需要 https。至于支付网关,有时您的客户会与会推荐一个的银行打交道,或者他们甚至会有自己的。我发现大多数互联网商家帐户提供商都有自己的 API 和文档。

我不知道为什么Https服务器的价格这么高,我猜他们有他们的原因。但是,如果您货比三家,您可能会找到更便宜的东西。通常您必须从证书提供商处购买证书,然后将其安装在您的服务器上。托管公司可能会收取少量启用https的费用,但上面的价格差异似乎有点大,也许他们也在提供证书?

我过去曾使用这些人来获得证书:http://www.rapidssl.com/ 我发现他们在定价方面很有竞争力。

【讨论】:

【参考方案4】:

我很惊讶托管选项每月更多,因为它提供了 SSL 证书。大多数托管服务提供商收取相同的每月托管费用。您可以自行购买 SSL 证书并将其应用到您的网站,这很容易做到。我会考虑其他托管选项,除非您使用的是托管电子商务网站。在这种情况下,您会受到他们的托管费率的限制。如果您正在购买和部署电子商务包,那么您可以部署到您希望的任何服务器/托管服务提供商。从您所说的来看,听起来您正在开发解决方案,因此您应该具有一定的托管灵活性。

最好的支付网关应该由其他因素决定,而不是它们与 ASP.NET 集成的难易程度,因为它们都非常容易与 .NET 集成。为了确定哪些网关是最好的,需要考虑的其他因素是:您将在哪些国家/地区接受信用卡付款,在线支付的商家费率是多少,您的客户是否已经拥有信用卡商家帐户,他们使用哪些信用卡想支持,是否支持在线支付等。

【讨论】:

SSL 证书通常需要专用 IP。房东每月要花费 1-2 美元。所以这会导致计划更加昂贵 您可以为单个网站使用相同的IP地址并将其绑定到HTTP和HTTPS。我认为,如果您需要多个站点在同一台服务器上运行 SSL,则需要额外的 IP 地址才会发挥作用。无论如何,关键是托管公司似乎对相同的计划收取了两倍以上的费用,但只是包含 SSL,这似乎是在哄抬物价。

以上是关于ASP.NET 电子商务网站的主要内容,如果未能解决你的问题,请参考以下文章

无法在 asp.net vb 网站中发送电子邮件

asp.net程序加密数据库中的密码

防止在 ASP.Net Web 窗体中从外部源触发电子邮件

ASP.Net 代码隐藏 - 获取谷歌付费广告信息

注册新帐户时如何要求 asp.net forms 身份验证发送验证电子邮件?

在 ASP.NET 中异步发送电子邮件的正确方法...(我做得对吗?)