Как отправить общую сумму для оплаты в PayPal - PullRequest
0 голосов
/ 19 октября 2011

Я пытаюсь отправить общую сумму, подлежащую оплате клиентом, с помощью <input type="hidden" name="amount" value="{$total}">, где {$total} содержит общую сумму (smarty), но когда я нажимаю кнопку "Купить сейчас" на PayPal, она показывает сумму, подлежащую выплате, как 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 ]

3 голосов
/ 21 октября 2011

Причина, по которой вы не можете переопределить сумму динамически, заключается в том, что у вас есть так называемая «кнопка, размещенная в PayPal».
С помощью кнопки, размещенной на хосте, сумма сохраняется на стороне PayPal и не может быть перезаписанапеременная «сумма».Вы либо захотите использовать не размещенную кнопку (как в своем ответе использует Питер Шимковский), либо использовать API-вызов BMUpdateButton для динамического обновления суммы кнопки.

Примерзапрос на 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 вашей кнопки)

Причина использования размещенной кнопки в том, что она более безопасна.Не размещенная, незашифрованная кнопка в основном оставит суммы открытыми для манипуляций.Мошеннические транзакции, ожидающие выполнения.

0 голосов
/ 19 октября 2011

Просто попробуйте этот код

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

Исправлено

<input type="hidden" name="amount" value={$total}>
0 голосов
/ 19 октября 2011

ключ суммы 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} не пуст

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...