【问题标题】:Form with multiple products Paypal带有多种产品的表单 Paypal
【发布时间】:2015-02-15 19:32:15
【问题描述】:

我的表单应该包含多个产品,每个产品的 ID、名称和数量,但是当我将此表单发送到 Paypal Sandbox 时,它没有显示此信息,只有空白字段可以输入名称,你能告诉我应该怎么做吗?这种形式是什么样子的?

我的表格:

            <form method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr">
                      <input type="hidden" name="business" value="my@email.com">
                      <input type="hidden" name="cpp_header_image" value="https://mydomain.com/logo.jpg">
                      <input type="hidden" name="cmd" value="_cart">
                      <input type="hidden" name="upload" value="1">

                        <input type="hidden" name="item_number_1" value="6543">
                        <input type="hidden" name="item_name_1" value="Name of product 1">
                        <input type="hidden" name="quantity1" value="2">

                        <input type="hidden" name="item_number_2" value="1111">
                        <input type="hidden" name="item_name_2" value="Name of product 2">
                        <input type="hidden" name="quantity2" value="1">

                        <input type="hidden" name="item_number_3" value="2343">
                        <input type="hidden" name="item_name_3" value="Name of product 3">
                        <input type="hidden" name="quantity3" value="2">

                      <input type="hidden" name="invoice" value="Order ID: 1234">
                      <input type="hidden" name="amount" value="1000">                      
                      <input type="hidden" name="currency_code" value="GBP">
                      <input type="hidden" name="return" value="https://mydomain.com/">
                      <input type="hidden" name="rm" value="2">      
                      <input type="hidden" name="lc" value="EN">
                      <input type="hidden" name="bn" value="OK_BuyNow_EN">
                      <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/x-click-but6.gif" name="submit" alt="Pay with PayPal" title="Pay with PayPal">
            </form>

另外,我如何从 Paypal 获取付款成功与否的信息?

【问题讨论】:

    标签: html paypal


    【解决方案1】:

    我只在 vb.net 和 asp.net 中知道这一点,希望您可以将其转换为您需要的任何语言,但无论如何我都会发布它,希望它能帮助您。在您的贝宝按钮的 On_click 事件中使用类似的东西。

    这是我的 sql 查询,它通过搜索来获得我想要的产品,因为我有 1,000 种产品,这使我可以只提取一个并将需要发送到 paypal 的所有其余值分配给我

     Dim itemName As String
    
        Conn.Open()
        sql4.Parameters.AddWithValue("@Category", url)
        sql4.CommandText = "Select [Table] From SubCategory WHERE Category = @Category OR Type = @Category"
        sql4Str = sql4.ExecuteScalar.ToString
    
        sql3.Parameters.AddWithValue("@Order", testIndex)
        sql3.CommandText = ("Select * From " + sql4Str + " WHERE Order# = @Order")
        Dim cost As String
        Dim str1 As String
        Dim str2 As String       
        Dim reader As SqlDataReader = sql3.ExecuteReader
        While reader.Read()
            Str = reader.GetOrdinal("Category")
            If reader.IsDBNull(Str) Then
                Str = reader("Type")
    
            ElseIf Not reader.IsDBNull(Str) Then
                Str = reader("Category")
            End If
            cost = reader("Price")
            str2 = reader("Order#")
    
            itemName = Str
        End While
    

    现在 itemName 已分配给 ("Category") 的任何动态值,我可以将 itemName 的值与您想要使用的任何其他值一起传递给 paypal。

    Dim Item As String = "Test"
    Dim price As String = cost
    Dim business As String = "YourEmail@email.com"
    Dim itemNumber As String = str2
    Dim itemAmount As String = price
    Dim currencyCode As String = "USD"
    Dim addItem As Integer = 1
    
    Dim ppHref As StringBuilder = New StringBuilder()
    ppHref.Append("https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_cart")
    ppHref.Append("&business=" + business)
    ppHref.Append("&item_name=" + itemName)
    ppHref.Append("&item_number=" + itemNumber)
    ppHref.Append("&amount=" + itemAmount)
    ppHref.Append("&currency_code=" + currencyCode)
    ppHref.Append("&tax_rate=4")
    ppHref.Append("&add=" + addItem.ToString("#0"))
    Response.Redirect(ppHref.ToString(), True)
    Dim ReturnQaunity As String = itemAmount
    GetRouteUrl("/v1/payments/orders/<Order-Id>")
    

    你的贝宝按钮在你的标记中是这样的

    <asp:ImageButton ID="AddToCartBtn" runat="server" RowIndex='<%# Container.DisplayIndex %>'
       ImageUrl="~/Pictures/ShoppingCart.png"                                          
      OnClick="AddToCartBtn_Click" />
    

    【讨论】:

    • 我看到你用链接处理它。此代码一次还处理多个产品?对于单个产品,您将 "item_name=" 这对于第二个产品 "item_name_2=" 的外观如何?
    • 是的,我有数百种动态加载到其中的产品。我将稍微编辑一下上面的答案,但我基本上对选择的任何项目运行 sql 查询,然后将 item_Name 设置为等于该值,以便动态加载它们。您只需将可能的产品设置为等于上面列出的变量。
    • 我可能会使用类似 for 循环或 if 语句来确定您要发送到贝宝的产品被选中,然后设置该值 = Item_name,这样您的所有产品都将被设置到 Item_name 变量,因此它将仅取决于您的 if 语句或 for 循环(但是您想区分选择了哪个产品),将哪个产品发送到 paypal。
    • 好的,所以问题不在于获取所有数据,而是我需要什么样的数据?我已经解决了这个问题,在我的表单中我没有单品的“amount_”,因为我认为我可以只将单品的名称,数量和数量以及所有产品的金额发送到paypal。现在我对总订单的运费有疑问。我发送到贝宝航运&lt;input type="hidden" name="shipping" value="20.00"&gt; 但贝宝似乎没有得到它。有什么建议吗?
    • 对运输不积极,实际上我出于某种原因还没有在我正在开发的网站上做任何事情。我很确定在您的在线贝宝帐户中(实际上是登录到他们的网站),在您的开发人员设置中的某处,您可以添加统一运费。如果您严格要求 20 美元的运费,您可以在那里完成。
    猜你喜欢
    • 1970-01-01
    • 2010-10-16
    • 2014-02-16
    • 2020-11-06
    • 2017-09-08
    • 2013-02-15
    • 2014-12-27
    • 1970-01-01
    相关资源
    最近更新 更多