я настраиваю опцию пожертвования на веб-сайте, используя przelewy24.pl. У них есть этот стартовый шаблон для отправки значений методом $_GET на их веб-сайт.
Все работает нормально, кроме поля суммы. Przelewy24 нужна сумма gr (например, центы), и я хотел бы, чтобы жертвователь ввел целое число в полных злотых (например, $).
Если верхний не ясен - когда я набираю 100 в поле, он отправляет его przelewy24 как 100 гр, что будет 1 злотый. Мне нужно знать, как я могу отформатировать сумму, отправленную им, как в простом расчете - когда набирается 100, get отправляет 10000. (x * 100)
Используемая форма показана ниже. Краткое руководство доступно здесь, но только на польском языке.
<form method = "get" action = "https://sklep.przelewy24.pl/zakup.php">
<input type = "hidden" name = "z24_id_sprzedawcy" value = "TWOJ_ID">
<input type = "hidden" name = "z24_crc" value = "KLUCZ_ZAKUPU">
<input type = "hidden" name = "z24_return_url" value = "TWOJASTRONA.PL">
<input type = "hidden" name = "z24_language" value = "pl">
<table>
<tr>
<td align = "right">Nazwa produktu:</td>
<td>
<input type = "text" name = "z24_nazwa" value = "Opłata za rezerwację NR: 04/234/A3953">
</td>
</tr>
<tr>
<td align = "right">Dodatkowy opis:</td>
<td>
<textarea name = "z24_opis" style = "width:250px">Dodatkowe informacje...
</textarea>
</td>
</tr>
<tr>
<td align = "right">Do zapłaty:</td>
<td><input type = "text" name = "z24_kwota"></td><!--KWOTA W GROSZACH-->
</tr>
</table>
<input type = "submit" value = "zapłać z przelewy24.pl">
</form>
@Eineki przelewy24 является платежным провайдером, поэтому пользователь увидит правильную сумму денег и, возможно, получит смс с реквизитами из своего банка, прежде чем принять платеж.
Я не говорю, что это так, просто пользователь будет сбит с толку, увидев изменение суммы сразу после отправки формы. Скрытое поле, предложенное ниже, является для меня жизнеспособным решением.






Вы можете сделать это с помощью простого кода Javascript.
Вам нужно получить значение из ввода, преобразовать его и поместить значение в input hidden:
function formatMoney(e) {
document.getElementById('z24_kwota').value = (!isNaN(e.target.value) ? e.target.value : 0) * 100
// just to debug.. you can remove this line:
document.getElementById('final_value').innerHTML = document.getElementById('z24_kwota').value
}<form method = "get" action = "https://sklep.przelewy24.pl/zakup.php">
<input type = "hidden" name = "z24_id_sprzedawcy" value = "TWOJ_ID">
<input type = "hidden" name = "z24_crc" value = "KLUCZ_ZAKUPU">
<input type = "hidden" name = "z24_return_url" value = "TWOJASTRONA.PL">
<input type = "hidden" name = "z24_language" value = "pl">
<table>
<tr>
<td align = "right">Nazwa produktu:</td>
<td>
<input type = "text" name = "z24_nazwa" value = "Opłata za rezerwację NR: 04/234/A3953">
</td>
</tr>
<tr>
<td align = "right">Dodatkowy opis:</td>
<td>
<textarea name = "z24_opis" style = "width:250px">Dodatkowe informacje...
</textarea>
</td>
</tr>
<tr>
<td align = "right">Do zapłaty:</td>
<td>
<input type = "hidden" name = "z24_kwota" id = "z24_kwota">
<input type = "text" onkeyup = "formatMoney(event)"></td><!--KWOTA W GROSZACH-->
</tr>
</table>
<input type = "submit" value = "zapłać z przelewy24.pl">
</form>
<!-- you can remove this line: -->
Final Value: <span id = "final_value"></span>Попробуйте изменить значение перед отправкой формы, как показано ниже,
<form method = "get" id = "myform" action = "https://sklep.przelewy24.pl/zakup.php">
<input type = "hidden" name = "z24_id_sprzedawcy" value = "TWOJ_ID">
<input type = "hidden" name = "z24_crc" value = "KLUCZ_ZAKUPU">
<input type = "hidden" name = "z24_return_url" value = "TWOJASTRONA.PL">
<input type = "hidden" name = "z24_language" value = "pl">
<table>
<tr>
<td align = "right">Nazwa produktu:</td>
<td>
<input type = "text" name = "z24_nazwa" value = "Opłata za rezerwację NR: 04/234/A3953">
</td>
</tr>
<tr>
<td align = "right">Dodatkowy opis:</td>
<td>
<textarea name = "z24_opis" style = "width:250px">Dodatkowe informacje...
</textarea>
</td>
</tr>
<tr>
<td align = "right">Do zapłaty:</td>
<td><input type = "text" name = "z24_kwota"></td><!--KWOTA W GROSZACH-->
</tr>
</table>
<input type = "submit" value = "zapłać z przelewy24.pl">
</form>
<script
src = "http://code.jquery.com/jquery-3.3.1.min.js"
integrity = "sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8 = "
crossorigin = "anonymous"></script>
<script type = "text/javascript">
var firstSubmit = false;
$('#myform').on('submit',function(e){
if (!firstSubmit){
e.preventDefault();
firstSubmit = true;
var amount = parseInt($('input[name=z24_kwota]').val());
$('input[name=z24_kwota]').val(amount*100);
$('#myform').trigger('submit');
}
})
</script>
Примечание. Я указал идентификатор формы как моя форма.
Без какого-либо кода невозможно реально помочь вам. Всего пара советов: - из формы действия вы отправляете сбор данных непосредственно в przelewy24 -> настройка формата в php невозможна (с javascript вы можете легко умножить значение при отправке, но, как донор, я бы рассмотрел изменение пожертвованной суммы как мошенничество).