Intereting Posts
«Memcache» не найден в командной строке PHP-скрипт Неверное преобразование PHP strtotime проанализировать переменные js js для php, используя AJAX Mysql не может выполнять более одного запроса за раз Как запретить другим пользователям отправлять свои собственные данные на мою php-страницу? Laravel Создание таблицы базы данных userInfo при регистрации пользователей file_get_contents ( 'PHP: // ввод'); с приложением / x-www-form-urlencoded; Вставка значений флажка в базу данных MySQL с помощью PHP Создание динамического создания WordPress Заголовок не работает на моем сервере Ошибка при попытке запустить HipHop в «режиме 2 (компиляция HipHop во временном каталоге и запуск скомпилированной программы из командной строки») Как вызвать функцию контроллера кодового словаря из представления Как выполнить привязку LDAP SASL к Active Directory с использованием GSS-API в PHP из Windows? отображение результата запроса php mysql с отношением один к другому Получение вложений из gmail через python или php

Как отправить общую сумму, подлежащую выплате в PayPal

Я пытаюсь отправить общую сумму, которую должен заплатить клиент, с <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="http://img.ruphp.com/php/btn_buynowCC_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online."> <img alt="" border="0" src="http://img.ruphp.com/php/pixel.gif" width="1" height="1"> </form> 

Я тестирую его в localhost , это создает эту проблему?

Причина, по которой вы не можете переопределить сумму динамически, заключается в том, что у вас есть так называемая «кнопка размещения в 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. Eg BUYNOW BUTTONCODE=The type of code you want to get back. Eg HOSTED L_BUTTONVAR0=amount=The new amount with a period as separator L_BUTTONVAR1=item_name=Optional: a new item name if you wish 

Similary, вы также можете использовать API BMCreateButton для создания новой кнопки или использовать BMButtonSearch API для поиска по списку всех сохраненных размещенных кнопок (например, чтобы найти host_button_id вашей кнопки автоматически)

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

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} не пуст.

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

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

Исправленный,

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