将多个商品添加到PayPal购物车

时间:2012-08-02 22:15:49

标签: c# paypal

我为PayPal创建了一个类,它非常适合添加单个项目,但我现在正试图将其作为购物车使用,这样我就可以添加多个产品并使用我的徽标自定义页面。

任何人都可以提供我如何做这个的例子吗?我浏览过很多网站,但似乎没有一个网站能够很好地解释。根据我的理解,我正在使用PayPal标准。

public static class PayPal
{

    public static string _URLRedirect;
    public static void ProcessPayment(int Amount, string ItemName)
    {

        const string Server_URL = "https://www.sandbox.paypal.com/cgi-bin/webscr?";
        const string return_URL = "https://www.paypal.com/xclick/Sample@gmail.com";
        const string cancelreturn_URL = "http://www.PageWhenCancel.com/cc.fail.aspx";

        //Assigning Cmd Path as Statically to Parameter
        string cmd = "_xclick";

        //Assigning business Id as Statically to Parameter
        string business = "payments@xxx.xx.xx";// Enter your business account here

        //Assigning item name as Statically to Parameter
        string item_name = ItemName.ToString();

        //Passing Amount as Statically to parameter 
        int amount = Amount;

        //Passing Currency as Statically to parameter
        string currency_code = "GBP";

        string redirect = "";

        //Pass your Server_Url,cmd,business,item_name,amount,currency_code variable.        
        redirect += Server_URL;
        redirect += "cmd=" + cmd;
        redirect += "&business=" + business;
        redirect += "&item_name=" + item_name;
        redirect += "&amount=" + amount;
        redirect += "&currency_code=" + currency_code;


        redirect += "&return=" + return_URL;
        redirect += "&cancel_return" + cancelreturn_URL;


        //Redirect to the payment page
        _URLRedirect = redirect.ToString();
    }
}

2 个答案:

答案 0 :(得分:1)

您好我正面临类似的问题,直到我意识到asp.net转发器可以帮我解决这个问题。

例如,在您的应用程序界面上,它必须包含此ff。默认情况下的代码行(以防您希望项目列表是动态的):

<form id="Paypal" name="Paypal" action="https://www.sandbox.paypal.com/cgi-bin/webscr">
method="post">
<input type="hidden" name="cmd" value="_cart" />
<input type="hidden" name="upload" value="1" />
<input type="hidden" name="business" value="<%=System.Web.Configuration.WebConfigurationManager.AppSettings[" paypalemail="] %>" />
<asp:repeater id="rptItems" runat="server" xmlns:asp="#unknown">
<itemtemplate>
    <input type="hidden" name="item_name_<%# Eval("itemCount") %>" value="<%# Eval("itemValue") %>" />
    <input type="hidden" name="quantity_<%# Eval("itemCount") %>" value="<%# Eval("quantityValue") %>" />
    <input type="hidden" name="amount_<%# Eval("itemCount") %>" value="<%# Eval("amountValue") %>" />
</itemtemplate>
</asp:repeater>
<input type="hidden" name="shipping_1" value="5" />
<input type="hidden" name="handling_1" value="5" />
<input type="hidden" name="tax_1" value="5" /> 
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="return" value="<%=System.Web.Configuration.WebConfigurationManager.AppSettings[" successurl="] %>" />
<input type="hidden" name="cancel_return" value="<%=System.Web.Configuration.WebConfigurationManager.AppSettings[" failedurl="] %>" />
<input type="hidden" name="lc" value="test lc country" />
<input type="submit" value="Submit" />

</form>

,而:

必需的第三方购物车变量 您的HTML代码至少需要以下隐藏的HTML变量。有关变量的完整列表,请参阅附录A“网站付款标准的HTML变量”。 表4.1

必需的第三方购物车变量 名称

描述 item_name1 - 单个项目的名称

amount_1 - 单个商品的价格或购物车中所有商品的总价

quantity_1 - 单个项目的数量

业务 -
您的PayPal帐户的电子邮件地址

item_name_1 - 项目名称或整个购物车的名称

上传 - 表示使用第三方购物车 有两种方法可以将您的第三方购物车与PayPal和网站付款标准集成:

传递单个项目的详细信息。

传递购物车总付款的总金额,而不是单个商品详情。

在您的代码背后,您可以执行以下操作:

if (!Page.IsPostBack)
    {
        DataTable dtItems = new DataTable();
        dtItems.Columns.Add("itemCount");
        dtItems.Columns.Add("itemValue");
        dtItems.Columns.Add("quantityValue");
        dtItems.Columns.Add("amountValue");
        dtItems.Rows.Add("1","Cellphone", "10", "200.00");
        dtItems.Rows.Add("2", "Bag", "2", "250.00");
        dtItems.Rows.Add("3", "Mouse", "10", "3500.00");
        dtItems.Rows.Add("4", "Keyboard", "5", "200.00");

        rptItems.DataSource = dtItems;
        rptItems.DataBind();
   }

和霍拉!当您重定向到沙箱时,您将获得此结果:      Paypal_capture

希望这篇文章能回答你的疑虑。 :):)

答案 1 :(得分:0)

我过去也遇到过同样的问题。我必须做的是独立于Paypal创建我自己的购物车。然后,当客户准备结账时,我将它们转发给Paypal。而不是发送多个项目和价格,我将所有内容组合在一起用于Paypal。

例如,如果客户订购3件不同的商品,每件5美元,我的网站将显示3件商品和3件价格。但是,如果转移到Paypal,客户会看到一个项目(即“我的公司订单”)和一个价格(即15美元)。但是当返回我的网站时,客户会再次看到订购了3件商品。

如果您正在寻找一个好的购物车系统,那么有数百种可用的支持Paypal和这种方法。