Php 如何覆盖PayPal托管按钮中的金额(定期付款)

Php 如何覆盖PayPal托管按钮中的金额(定期付款),php,paypal,Php,Paypal,我有一个客户,使用贝宝捕捉定期付款。他们以前的开发人员为用户从一系列3个下拉菜单中选择的每种订阅类型设置了一个托管按钮。有3种不同的订阅长度,每个都有自己的下拉菜单,有多种选择,但是当发送到paypal时,实际上只有3种不同的支付金额。我无法理解为什么要为每个可能的组合设置托管按钮,但这是我必须处理的问题 我的问题是,现在客户希望接受优惠券/折扣,并希望在用户在paypal上看到之前减去价格。这很容易动态完成,如果我生成按钮代码,他们将同时进行多个优惠券活动,但是我需要处理的只是一个字符串: h

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

我的问题是,现在客户希望接受优惠券/折扣,并希望在用户在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

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

无法动态更新/更改托管按钮中的金额,您需要登录www.paypal.com更新托管按钮信息或使用更新托管按钮。
要解决此问题,您可能需要使用未托管的明文按钮。

尝试使用按钮,而不是按钮,执行以下操作:

<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>

阅读更多

为“金额”再添加一个隐藏字段

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

问题是如何更新托管按钮。你的答案是使用一个明文按钮来克服这个问题,但实际上并没有回答这个问题。你能告诉我为什么它是荒谬的吗?谢谢你的回答@Evgeny。然而,我知道如何使表单数据和发送到贝宝只是一个正常的方式清晰的按钮。很抱歉,我的问题中没有具体说明这一点。在这个问题中,有126个托管按钮,我需要能够动态修改amount变量。我同意,在正常情况下,逻辑很容易被替换,就像你所说的,只是不是这种情况:。这是我害怕的。通过“利用API”,您是指更改订阅定期付款的价格,处理付款,然后将其更改回?是的,通过API调用更新价格。但是,我不确定您为什么要将其更改回。如果您要更新特定时间段的价格,那么是的,您需要将其更改回。是的,所有3个订阅都有固定的价格,但客户希望接受“优惠券”,从而根据成功登录降低sub的价格。在这种情况下,我只需要覆盖sub的价格。使用API将允许任何潜在用户同时注册以获得折扣价格,对吗?