c# - 使用 PayPal 创建按钮

标签 c# asp.net paypal

我在 ASP.NET 网络应用程序中工作,我正在尝试为 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 网站看起来很困惑,到处都是东西,他们只是不清楚我们需要做什么。

如有任何帮助,我们将不胜感激。

最佳答案

传统的 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());
}

关于c# - 使用 PayPal 创建按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24509485/

相关文章:

ASP.NET - 莫名其妙的 404 错误的奇怪情况

paypal - 英国的可变每月定期付款

php - 我们无法验证您的信息。请再试一次

c# - Roslyn - 抛出构建错误

c# - 如何在 JavaScript 中将 ID 设置为动态创建的文本框

c# - 读取文件中的特定行

c# - 为什么使用硬编码字符串值正确呈现单选按钮?

c# - LINQ 与 BIT 列的联合导致指定的强制转换无效错误

paypal - Paypal 的用户名和密码错误

c# - RadPanelBarItem 中的垂直对齐文本和图像?