【问题标题】:Creating buttons with PayPal使用 PayPal 创建按钮
【发布时间】:2014-08-21 23:13:01
【问题描述】:

我正在使用 ASP.NET Web 应用程序,我正在尝试为 PayPal 付款创建简单的“立即付款”按钮。

所以我得到了这个链接,上面说我可以通过复制和粘贴代码来创建 JavaScript 按钮。

http://paypal.github.io/JavaScriptButtons/

所以我下载了 javascript 文件,将其包含在 ASPX 页面中并开始编写此代码:

这是 ASPX 页面中将显示动态创建表单代码的 div:

<div id="divPagamentoPaypal" runat="server" class="msgbox_container" style="text-align: left;">    
    <div class="msgbox_title">
        Pagamento de PayPal
    </div>               
    <div id="divPayPal" style="align-content:center;" runat="server">
        <asp:Label ID="lblPayPalButton" runat="server" Text="qewqeqweq"></asp:Label>
    </div>
</div>

这是代码隐藏:

    string form = "<form action='https://www.paypal.com/cgi-bin/webscr' method='post' target='_top'>";
    form += "<INPUT TYPE='hidden' NAME='return' value='" + BackUrl + "'>";
    form += "<input type='hidden' name='cmd' value='_s-xclick'>";

    form += "<script src='paypal-button.min.js?merchant=" + Settings.Current.MerchantID + "'" +
                    "data-button='buynow'" +
                    "data-name='" + AccaoParaConsulta.ObterAccao(this.DataSource, p.IdAccao).NomeAccao + "'" +
                    "data-amount='" + p.Valor.ToString("#.00") + "'" +
                    "async" +
                    "></script>";
    form += "<input type='image' src='https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif' border='0' name='submit' alt='PayPal - The safer, easier way to pay online!'/>";
    form += "</form>";
    lblPayPalButton.Text = form;

不用说这是行不通的。

我需要做的就是创建按钮,仅限立即付款,它们需要由来自 SQL 数据库的数据创建。

我真的认为我做错了,PayPal 网站看起来很混乱,到处都是东西,他们只是不清楚我们需要做什么。

任何帮助将不胜感激。

【问题讨论】:

标签: c# asp.net paypal


【解决方案1】:

传统的 ASP.Net 不允许多个表单标签。 这在 ASP.Net MVC 中不是问题。

您想用 Button 控件替换 Label,并使用查询字符串中的值重定向到 PayPal。

例如,

protected void BuyButton_Click(object sender, EventArgs e)
{
   string url = TestMode ? 
      "https://www.sandbox.paypal.com/us/cgi-bin/webscr" : 
      "https://www.paypal.com/us/cgi-bin/webscr";

   var builder = new StringBuilder();
   builder.Append(url);
   builder.AppendFormat("?cmd=_xclick&business={0}", HttpUtility.UrlEncode(Email));
   builder.Append("&lc=US&no_note=0&currency_code=USD");
   builder.AppendFormat("&item_name={0}", HttpUtility.UrlEncode(ItemName));
   builder.AppendFormat("&invoice={0}", TransactionId);
   builder.AppendFormat("&amount={0}", Amount);
   builder.AppendFormat("&return={0}", HttpUtility.UrlEncode(ReturnUrl));
   builder.AppendFormat("&cancel_return={0}", HttpUtility.UrlEncode(CancelUrl));
   builder.AppendFormat("&undefined_quantity={0}", Quantity);
   builder.AppendFormat("&item_number={0}", HttpUtility.UrlEncode(ItemNumber));

   Response.Redirect(builder.ToString());
}

【讨论】:

  • 是的,它有效,这是在 PayPal 文档中吗?呵呵,谢谢:)
猜你喜欢
  • 2017-06-24
  • 2017-01-04
  • 1970-01-01
  • 2020-06-23
  • 1970-01-01
  • 2011-02-10
  • 2012-01-02
  • 2016-03-28
  • 2012-07-21
相关资源
最近更新 更多