Причина, по которой вы не можете переопределить сумму динамически, заключается в том, что у вас есть так называемая «кнопка, размещенная на 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 вашей кнопки автоматически, например)
Причина использования размещенной кнопки в том, что она более безопасна. Не размещенная, незашифрованная кнопка в основном оставит суммы открытыми для манипуляций. Мошеннические транзакции, ожидающие выполнения.