php - PayPal не принимает «количество», я передаю его - PullRequest
1 голос
/ 19 апреля 2011

Впервые у меня возникла проблема с веб-сайтом, который я пишу на php. Я пытаюсь заставить Paypal принять один платеж, передав его значения, указанные ниже. Я использовал инструмент «Создать кнопку» и добавил несколько дополнительных полей. Поле $ 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>";

Большое спасибо заранее, Brett

Ответы [ 4 ]

2 голосов
/ 19 апреля 2011

Попробуйте изменить имя поля на AMT, а не количество.

Дайте мне знать, если это работает.

1 голос
/ 21 апреля 2011

Я решил, изменив кнопку на не размещенную кнопку - тогда вы можете передать столько переменных, сколько захотите ... Спасибо за совет, хотя

1 голос
/ 19 апреля 2011

У меня была похожая проблема, и я изменил

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

на

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

Работал для меня не раз.Надеюсь это поможет.Дайте мне знать, если это работает.

0 голосов
/ 20 апреля 2011

Осторожно переключайте значения кнопок - они делают разные вещи. Я полагаю, вы видели это, но если нет, проверьте эту переменную ссылку для Стандарт платежей через веб-сайт

Я бы подтвердил, что вы передаете число с точностью до двух десятичных знаков - если у вас целое число, оно должно быть х.00; если это более точно, вам нужно округлить значение до двух десятичных знаков (по крайней мере, для некоторых API PayPal: я не уверен конкретно об этом продукте, но я ожидаю, что это то же самое). Не помешает санация данных из строки, выберите также, чтобы убедиться, что это на самом деле число X.xx, а не что-то странное, например, $ X.xx, которое запутает API PayPal

@ Теодор Талов: AMT использует PayFlow и API NVP, но похоже, что «сумма» является правильной для платежей через веб-сайт Pro / Standard.

Таксономия продуктов, документации и API PayPal часто приводит в бешенство. Удачи =)

...