无法在 ASP.NET 的单个页面上使用 PayPal 立即购买按钮

问题描述 投票:0回答:7

我承认我是 ASP.NET 和 Web 表单的菜鸟。我在单个页面上合并一些 PayPal 立即购买按钮时遇到问题。基本上,问题是无论单击哪个“立即购买”按钮,用户都会被带到 paypal 购买页面上最后一个按钮代表的产品。

我的第一个按钮的代码是这样的......

<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="ABC123">
<asp:ImageButton runat="server" id="PPImageButton1" PostBackUrl="https://www.paypal.com/cgi-bin/webscr" ImageUrl="https://www.paypal.com/en_US/i/btn/btn_buynow_SM.gif"/>

我的第二个按钮类似于...

<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="ABC456">
<asp:ImageButton runat="server" id="PPImageButton2" PostBackUrl="https://www.paypal.com/cgi-bin/webscr" ImageUrl="https://www.paypal.com/en_US/i/btn/btn_buynow_SM.gif"/>

如何让第一个按钮将值 ABC123 发送到 PayPal 服务而不是 ABC456?

提前致谢。

asp.net paypal
7个回答
1
投票

按钮的 POST 内容是提交按钮周围的 FORM 标记中的每个输入。因此,要让每个按钮提交一组单独的隐藏字段,您需要将按钮和所需的隐藏字段包装在单独的表单中:

<form ... >
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="ABC123">
<asp:ImageButton runat="server" id="PPImageButton1" PostBackUrl="https://www.paypal.com/cgi-bin/webscr" ImageUrl="https://www.paypal.com/en_US/i/btn/btn_buynow_SM.gif"/>
</form>

<form ... >
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="ABC456">
<asp:ImageButton runat="server" id="PPImageButton1" PostBackUrl="https://www.paypal.com/cgi-bin/webscr" ImageUrl="https://www.paypal.com/en_US/i/btn/btn_buynow_SM.gif"/>
</form>

1
投票

我的菜鸟解决方案是将每个“立即购买”按钮及其关联字段从 aspx 页面中删除,并将每组放在单独的 html 页面中。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>first button</title>
</head>

<body>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="paypal">
<input type="hidden" value="_s-xclick" name="cmd" /> <input type="hidden" value="???????" name="hosted_button_id" /> 
<table>
<tbody>
<tr>
<td><input type="hidden" value="Member name" name="on0" />Member name</td>

<td><input maxlength="60" size="30" name="os0" /></td></tr>
<tr>
<td><input type="hidden" value="Membership No. (if known)" name="on1" />Membership No. (if known)</td>
<td><input maxlength="60" size="6" name="os1" /></td></tr></tbody></table>
<input type="image" alt="PayPal - The safer, easier way to pay online." src="https://www.paypal.com/en_GB/i/btn/btn_cart_LG.gif"  name="submit" /> <img height="1" alt="" src="https://www.paypal.com/en_GB/i/scr/pixel.gif" width="1" border="0"/> </form>

</body>
</html>

在 aspx 页面中删除按钮和其他字段的位置,插入一个指向 html 页面的 iframe,如下所示:

<iframe width="600" height="" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="mybuttonpage1.htm"></iframe>

0
投票

发送值的不是您的按钮 - 而是其所在的表单和/或其背后的代码。 你可以吗:

  1. 发布表单代码?
  2. 发布此页面后面的代码?

0
投票

以下是在 ASP.NET 中使用 PayPal 时出现多种表单问题的解决方案:

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


0
投票

我讨论了将 PayPal 代码插入 ASP.NET 页面时出现问题的几种解决方法,并在我的文章中介绍了一种不同的方法,网址为 http://blackbeltcoder.com/Articles/ecommerce/quick-and-dirty-buy-now -asp-net 中的按钮

最后,您不需要使用表单,因为 PayPal 允许您使用常规锚链接。


0
投票

我能够通过从 jQuery 的 DOM 中删除所有其他按钮容器来使其工作。向您的容器添加一个类,然后向 ImageButton 添加一个 CssClass,“PayPalImageButtons”

<div>
    Buy This First Product Below
</div>
<div class="ManualPurchase PayPalButtons">
    <input type="hidden" name="cmd" value="_s-xclick" />
    <input type="hidden" name="hosted_button_id" value="ABC123" />
    <asp:ImageButton CssClass="PayPalImageButtons" runat="server" id="PPImageButton1" PostBackUrl="https://www.paypal.com/cgi-bin/webscr" ImageUrl="https://www.paypal.com/en_US/i/btn/btn_buynow_SM.gif" />
</div>

<div>
    Buy This Second Product Below
</div>
<div class="ManualPurchase PayPalButtons">
    <input type="hidden" name="cmd" value="_s-xclick" />
    <input type="hidden" name="hosted_button_id" value="ABC456" />
    <asp:ImageButton CssClass="PayPalImageButtons" runat="server" id="PPImageButton1" PostBackUrl="https://www.paypal.com/cgi-bin/webscr" ImageUrl="https://www.paypal.com/en_US/i/btn/btn_buynow_SM.gif" />
</div>

和 jQuery

<script type="text/javascript">
    function pageLoad() {
        $(".PayPalImageButtons").click(function (e) {
            $(this).parent().addClass("keep");
            $(".PayPalButtons").not(".keep").remove();
        });
    }
</script>

我的下一步是处理删除的元素高度,并且在加载 PayPal 页面时可能会出现“请稍候”对话框


0
投票

当我尝试购买贝宝“立即购买”按钮时。然后系统将我踢出。

我只是想知道你是否可以帮我购买我的贝宝按钮

我的 PayPal 用户名是 [电子邮件受保护]

按钮需要50ips,价格为50美元

希望您能帮助我,希望很快能收到您的来信。

您可以通过我的电子邮件与我联系:[电子邮件受保护]

© www.soinside.com 2019 - 2024. All rights reserved.