【问题标题】:Generating a POST request for PayPal button in C# ASP.net在 C# ASP.net 中为 PayPal 按钮生成 POST 请求
【发布时间】:2011-01-01 20:40:29
【问题描述】:

我正在尝试让网络表单使用 PayPal 现在购买。 The relevant page is here.

根据用户选择的单选按钮,取决于他们“重定向”到的贝宝按钮。 订阅很简单——它们只是一个简单的重定向。

最后一个选项,要求用户选择一个场地。 为此,我需要使用以下表格:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="10956105">
<table>
<tr><td><input type="hidden" name="on0" value="Venue">Venue</td></tr><tr><td>
<input type="text" name="os0" maxlength="60"></td></tr>
</table>
<input type="image" src="https://www.paypal.com/en_US/GB/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>

当然,我想不使用那种形式。

到目前为止我所拥有的是:

 if (singleOneOff.Checked)
            {
                paypalForm.Text = getPaypalForm(venueSelect.SelectedItem.Text);
                var strJS = getPayPalPostJS("_xclick");
                paypalJs.Text = strJS;
                var xxx = "dd";
            }

这决定了该特定单选按钮是否被勾选。

getPaypalForm

private String getPaypalForm(string venue)
{
    StringBuilder strForm = new StringBuilder();
    strForm.Append(@"<form action=""https://www.paypal.com/cgi-bin/webscr"" name=""_xclick"" method=""post"">");
    strForm.Append(@"<input type=""hidden"" name=""cmd"" value=""_s-xclick"">");
    strForm.Append(@"<input type=""hidden"" name=""hosted_button_id"" value=""10956105"">");
    strForm.Append(@"<input type=""hidden"" name=""on0"" value=""Venue"">");
    strForm.Append(@"<input type=""text"" name=""os0"" value=""{0}"" maxlength=""60"">");
    strForm.Append("</form>");

    return String.Format(strForm.ToString(), venue);
}

获取PayPalPostJS

private String getPayPalPostJS(string strFormId)
{
    StringBuilder strScript = new StringBuilder();
    strScript.Append("<script language='javascript'>");
    strScript.Append("var paypalForm = document.forms.namedItem('{0}');");
    strScript.Append("paypalForm.submit();");
    strScript.Append("</script>");
    return String.Format(strScript.ToString(), strFormId);
}

但是,如果我选择单选按钮和场地,然后按下按钮,什么也不会发生......

任何想法我哪里出错了?

我遵循了这个指南:http://www.netomatix.com/development/postrequestform.aspx

【问题讨论】:

标签: c# asp.net paypal


【解决方案1】:

下面是针对 ASP.NET/PayPal 单一表单问题的更简洁的服务器端解决方案:

http://codersbarn.com/post/2008/03/08/Solution-to-ASPNET-Form-PayPal-Problem.aspx

【讨论】:

    【解决方案2】:

    问题的根源在于 ASP.Net Web 表单将页面上的所有内容都包含在一个大的 &lt;form&gt; 标记内。您的 paypal 代码正在呈现嵌套表单,这不起作用。

    Read this question for more information.

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 1970-01-01
      • 2013-01-02
      • 2015-11-17
      • 1970-01-01
      • 2021-11-28
      • 1970-01-01
      • 2018-04-27
      • 2013-09-23
      相关资源
      最近更新 更多