如何发送支付给paypal的总金额

时间:2011-10-19 17:49:02

标签: php paypal

我正在尝试使用<input type="hidden" name="amount" value="{$total}">向客户支付总金额,其中{$total}持有总金额(聪明)但是当我点击立即购买按钮时,它显示金额为支付0.00。怎么了?我的代码是:

Total :
{$total}

<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="SVXVEBF9CH4YU">

<input type="hidden" name="amount" value="{$total}">

<input type="image" src="https://www.paypalobjects.com/en_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.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>

我正在localhost进行测试,这会产生这个问题吗?

3 个答案:

答案 0 :(得分:3)

您无法动态覆盖金额的原因是因为您有一个所谓的“PayPal托管按钮”。
使用托管按钮,金额存储在PayPal一侧,不能用'amount'变量覆盖。 您要么使用非托管按钮(正如Peter Szymkowski在他的回答中使用的那样),要么使用BMUpdateButton API调用来动态更新按钮的数量。

BMUpdateButton的示例请求如下所示:

USER=Your API username
PWD=Your API password
SIGNATURE=Your API signature
VERSION=82.0
HOSTEDUBTTONID=The value of <input type="hidden" name="hosted_button_id" value="">
BUTTONTYPE=The type of button. E.g. BUYNOW
BUTTONCODE=The type of code you want to get back. E.g. HOSTED
L_BUTTONVAR0=amount=The new amount with a period as separator
L_BUTTONVAR1=item_name=Optional: a new item name if you wish

同样,您也可以使用BMCreateButton API创建新按钮,或使用BMButtonSearch API搜索所有已存储托管按钮的列表(以查找按钮的hosted_button_id)自动,例如)

使用托管按钮的原因是因为它更安全。非托管的,未加密的按钮基本上会使金额处于操纵状态。欺诈性交易等待发生。

答案 1 :(得分:0)

paypal金额密钥为amount_1,而不是amount所以......

<input type="hidden" name="amount_1" value="{$total}">

编辑:

这对我来说非常适合。

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="platnosci">
    <input type="hidden" name="cmd" value="_cart">
    <input type="hidden" name="upload" value="1">
    <input type="hidden" name="business" value="arest@arest.pl">
    <input type="hidden" name="notify_url" value="http://www.google.pl/paypal.php">
    <input type="hidden" name="item_name_1" value="Item description">
    <input type="hidden" name="amount_1" value="34.00">
    <input type="hidden" name="currency_code" value="PLN">
    <input type="hidden" name="shopping_url" value="http://www.arest.pl">
    <input type="hidden" name="email" value="tester">
    <input type="submit">
</form>

确保{$ total}不为空

答案 2 :(得分:-1)

试试这段代码

<input name=AMT value="{$total}">

校正

<input type="hidden" name="amount" value={$total}>