【问题标题】:How to override amount in PayPal hosted button (recurring payments)如何覆盖 PayPal 托管按钮中的金额(定期付款)
【发布时间】:2014-11-19 22:57:24
【问题描述】:

我有一个客户使用贝宝来获取定期付款。他们以前的开发人员为每种订阅类型设置了一个托管按钮,用户可以从一系列 3 个下拉菜单中选择该按钮。有 3 种不同的订阅长度,每种都有自己的下拉菜单和多项选择,但是当发送到贝宝时,实际上只有 3 种不同的付款金额。为什么要为每个 POSSIBLE 组合设置托管按钮是我无法理解的,但这是我必须使用的。

我的问题现在客户想要接受优惠券/折扣,并希望在用户在 paypal 上看到之前减去价格。这很容易动态完成(他们将同时进行多个优惠券活动),如果我正在生成按钮代码,但我所要做的只是一个字符串:

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2FSZJAH95MJL4

或类似的...确切地说是 126 个。我试过在查询字符串中简单地传递新的金额,但它被忽略了。

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2FSZJAH95MJL4&amount=9.99

我不是要密集,这是我第一次发帖,但我想知道这个问题的答案。如何使用这样的托管按钮向贝宝发送新金额?

【问题讨论】:

    标签: php paypal


    【解决方案1】:

    无法动态更新/更改托管按钮中的金额,您需要登录 www.paypal.com 更新托管按钮信息或使用API 更新托管按钮。 要克服这个问题,您可能需要使用清除文本按钮(未托管)。

    【讨论】:

    • 这就是我害怕的。您所说的“使用 API”是指更改订阅价格(定期付款)、处理付款,然后再改回来?
    • 是的,通过 API 调用更新价格。但是,我不确定你为什么要改回来。如果你想更新特定时间段的价格,那么是的,你需要改回来。
    • 是的,所有 3 个订阅都有固定价格,但客户希望接受“优惠券”,从而根据成功进入降低订阅价格。我只需要覆盖该实例的子价格。使用 API 将允许任何用户同时注册以获得折扣价,对吗?
    【解决方案2】:

    尝试代替按钮,这样做:

    <form name="_xclick" action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_xclick-subscriptions">
    <input type="hidden" name="business" value="me@mybusiness.com">
    <input type="hidden" name="currency_code" value="USD">
    <input type="hidden" name="no_shipping" value="1">
    <input type="image" src="http://www.paypal.com/en_US/i/btn/btn_subscribe_LG.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
    <input type="hidden" name="a3" value="5.00">
    <input type="hidden" name="p3" value="1">
    <input type="hidden" name="t3" value="M">
    <input type="hidden" name="src" value="1">
    <input type="hidden" name="sra" value="1">
    </form>
    

    阅读更多here

    【讨论】:

    • 问题是如何更新托管按钮。您的答案是使用明文按钮来克服这个问题,但实际上并不能解决问题
    • 你能告诉我为什么这很荒谬吗?
    • 感谢@Evgeny 的回复。但是,我确实了解如何制作表单数据并以正常方式将其发送到贝宝(清除按钮)。很抱歉没有在我的问题中说明这一点。在这个问题中,我需要能够动态修改数量变量的 126 个托管按钮。我同意,在正常情况下,逻辑很容易像你所说的那样被替换,只是不是这种情况:(。
    【解决方案3】:

    为金额添加一个隐藏字段

    <input type="hidden" name="amount" value="<?php echo $total; ?>">
    

    【讨论】:

      猜你喜欢
      • 2020-05-12
      • 2015-02-26
      • 2017-03-24
      • 2017-02-07
      • 2020-09-02
      • 2013-01-05
      • 2014-02-18
      • 2017-09-18
      • 2013-09-27
      相关资源
      最近更新 更多