Search code examples
phpgetpayment

Transform value of PHP form on submit


i'm setting up donate option on a website using przelewy24.pl. They have this startup template to send values by $_GET method to their website.

Everything works fine exept the amount field. Przelewy24 needs a gr amount (like cents) and i would like for the donor to type in integer in full zł (like $).

If the upper is not clear - when i type 100 in the field, it sends it to przelewy24 as 100 gr, whitch will be 1 zł. I need to know how could i format the amount sent to them as in simple calculation - when 100 is typed, get sends 10000. (x*100)

The form used is shown below. The quick-start guide is avaliable here, but only in polish

<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>

Solution

  • You can do it with a simple Javascript code. You need to capture the value from input, transform it, and put the value on 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>