Paypal不接受'汇款'我通过了


paypal doesn't accept 'amount' I pass it

第一次在这里,我有一个问题,我在php写的网站。我试图让贝宝接受一个单一的支付传递它的值如下。我使用了他们的Create Button工具,并添加了一些额外的字段。$idTeacher字段通过paypal完美,但$MaxHourlyRate没有(他们都存在,但我可以回显他们)。如有任何建议,我将不胜感激:

echo "<table border='1' cellpadding='0' cellspacing='1'>";
echo "<tr><td>Passed #</td><td>#Contract</td><td>Language</td><td>Language Level</td><td>PLZ</td><td>Frequency</td><td>Max Hourly Rate</td><td>Reserve Contract</td></tr>";
while($row = mysql_fetch_array($pendingcontractsql)){
$idContract = $row['idContract'];
$Language = $row['Language'];
$LanguageLevel = $row['LanguageLevel'];
$PLZ = $row['PLZ'];
$Frequency = $row['Frequency'];
$MaxHourlyRate = $row['MaxHourlyRate'];

echo "<tr>";
echo "<td>$MaxHourlyRate</td><td>".$row['idContract']."<td>".$row['Language']."</td><td>".$row['LanguageLevel']."</td><td>".$row['PLZ']."</td><td>".$row['Frequency']."</td><td align='right'>".$row['MaxHourlyRate']."CHF</td><td align='center'>
<form action='https://www.paypal.com/cgi-bin/webscr' method='post'>
<input type='hidden' name='cmd' value='_s-xclick'>
<input type='hidden' name='business' value='brettstirling@gmail.com'>
<input type='hidden' name='quantity' value='1'>
<input type='hidden' name='no_note' value='1'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='currency_code' value='CHF'>
<input type='hidden' name='item_name' value='Payment for Contract #".$idContract."'>
<input type='hidden' name='item_number' value='$idContract'>
<input type='hidden' name='amount' value='$MaxHourlyRate'>
<input type='hidden' name='discount_rate' value='50'>
<input type='hidden' name='notify_url' value='http://www.findateacher.ch/paypalipn.php'>
<input type='hidden' name='return' value='http://www.findateacher.ch/availablecontract.php'>
<input type='hidden' name='rm' value='2'>
<input type='hidden' name='cbt' value='Return to Find A Teacher'>
<input type='hidden' name='hosted_button_id' value='LRABWTJVH7N36'>
<input type='submit' border='0' name='submit' value='Reserve Contract'>
</form>
</td>";
echo "</tr>";
}
echo "</table>";

提前感谢,布雷特

尝试将字段名称更改为AMT而不是amount。

我有一个类似的问题,并更改了

<input type='hidden' name='cmd' value='_s-xclick'>

<input type='hidden' name='cmd' value='_xclick'>

为我工作过不止一次。希望这对你有所帮助。

我通过将按钮更改为非托管按钮来解决-您可以传递尽可能多的变量,然后…谢谢你的建议

在切换按钮值时要小心——它们的作用不同。我想你已经看到了它,但如果没有,检查这个变量引用的网站支付标准

我要验证你传递的是一个精度为两个小数点的数字——如果你传递的是一个整数,那么它必须是x.00;如果它比这更精确,你需要将值四舍五入到小数点后两位(至少对于paypal的一些API,我不确定具体是关于这个产品,但我希望它是一样的)。对行选择中的数据进行清理也无妨,以确保它实际上是一个X.xx数字,而不是像$X这样奇怪的数字。xx会导致PayPal API出错

@Teodor Talov: AMT是PayFlow和NVP API的使用,但看起来"amount"对于Website Payments Pro/Standard是正确的。

贝宝产品的分类、文档和API常常让人恼火。祝你好运!