Я создал не размещенную PayPal-Button с текстовым вводом, чтобы пользователи определяли сумму, которую нужно заплатить. Это кнопка подписки.
Теперь проблема в том, что должна быть минимальная сумма для оплаты, скажем 101 (CHF - швейцарские франки).
В соответствии с документами HTML-переменные PayPal у меня есть возможность добавить следующие скрытые входы в мою форму, чтобы заставить ее работать.
-
set_customer_limit
со значениемmax_limit_own
-
min_amount
со значением101
Работает set_customer_limit
, но не min_amount
. Любая сумма принимается.
Я открыл билет при технической поддержке, но до сих пор не ответил.
Здесь моя форма:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<!-- //... -->
<input type="hidden" name="cancel_return" value="mydomain.com/cancel">
<input type="hidden" name="return" value="mydomain.com/paid">
<input type="hidden" name="token" value="<?php echo $token; ?>">
<input type="hidden" name="src" value="1">
<input type="text" name="a3" value="101.00">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="Y">
<input type="hidden" name="currency_code" value="CHF">
<input type="hidden" name="bn" value="PP-SubscriptionsBF:btn_subscribeCC_LG.gif:NonHostedGuest">
<!-- the concerned inputs -->
<input type="hidden" name="set_customer_limit" value="max_limit_own">
<input type="hidden" name="min_amount" value="101">
<!-- ---- -->
<input type="image" src="https://www.paypalobjects.com/de_DE/CH/i/btn/btn_subscribeCC_LG.gif" border="0" name="submit" alt="Jetzt einfach, schnell und sicher online bezahlen – mit PayPal.">
<img alt="" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1">
</form>
На данный момент я просто проверяю минимальную сумму с помощью JavaScript, который не очень безопасен...
ИЗМЕНИТЬ
В качестве идеи я мог бы реализовать другую форму (отправить ее AJAX, onchange, onkeyup, что угодно), которая устанавливает минимальную сумму, указанную пользователем перед формой PayPal, и затем помещает ее в вход PayPal (устанавливается для скрытия снова):
<input type="hidden" name="a3" value="<?php echo $_POST['pre_min_amount'] ?>">
Таким образом, я могу проверить минимальную сумму с помощью PhP, прежде чем отправлять форму PayPal. Но это не кажется мне чистым способом. Действительно рад, если кто-нибудь может дать мне подсказку!