Formular med komma og X100

Tags:    php

Hej.
Jeg er ved at oprette en betalingsside med en løsning der hedder Quickpay. Det er en enkel formular, hvor man skal skrive et navn, et nummer og et beløb ind i og så betale med dankort.
MEN den accepterer ikke at man bruger komma i beløbet, og den tolker et angivet 100 beløb som 1,00.
-------
"$amount kommandoen" skal således tilpasses
- så den kan genkende komma tal F.ex 120,30 kr.
- og den skal gange beløbet med 100 da et indtastet tal bliver opfattet som ører . Feks 100 kr opfattes som 1,00 kr
...

Formularen er som følger:
<?php

$protocol='3';
$msgtype='authorize';
$merchant='xxnr';
$language='da';
$ordernumber ='';
$amount='';
$currency='DKK';
$CUSTOM_navn='';
$continueurl='http://rejsequip.dk/ok.php';
$cancelurl='http://rejsequip.dk/error.php';
$callbackurl='http://rejsequip.dk/callback.php';
$autocapture='0';
$cardtypelock='';
$md5secret ='1915';

$md5check = md5($protocol.$msgtype.$merchant.$language.$ordernumber.$amount.$currency.$CUSTOM_navn.$continueurl.$cancelurl.$callbackurl.$autocapture.$cardtypelock.$md5secret);
?>

<form action="betal2.php" method="post">
<input type="hidden" name="protocol" value="<?php echo $protocol ?>" />
<input type="hidden" name="msgtype" value="<?php echo $msgtype ?>" />
<input type="hidden" name="merchant" value="<?php echo $merchant ?>" />
<input type="hidden" name="language" value="<?php echo $language ?>" />
Betaling for varebestilling hos Rejsequip.<br>
Dit navn:
<br><input type="text" name="$CUSTOM_navn" value="" />
<br>
Reference nr:
<br><input type="text" name="ordernumber" value="" />
<br>
Angiv beløb fra ordrebekræftelsen:
<br><input type="text" name="amount" value="" />

<input type="hidden" name="currency" value="<?php echo $currency ?>" />
<input type="hidden" name="continueurl" value="<?php echo $continueurl ?>" />
<input type="hidden" name="cancelurl" value="<?php echo $cancelurl ?>" />
<input type="hidden" name="callbackurl" value="<?php echo $callbackurl ?>" />
<input type="hidden" name="autocapture" value="<?php echo $autocapture ?>" />
<input type="hidden" name="cardtypelock" value="<?php echo $cardtypelock ?>" />
<input type="hidden" name="md5check" value="<?php echo $md5check ?>" />
<br>
<input type="submit" value="Gå til betaling" />
</form>
...
Hvis nogen har bud på en løsning på disse problemer vil det være for super.
Siden kan ses her: http://rejsequip.dk/betal.php

Mvh Karsten






Indlæg senest redigeret d. 10.08.2010 17:29 af Bruger #16046
du skal bruge punktum i stedet for komma. Komma er en dansk standard, og bruges aldrig til andet end visning af tal (aldrig beregninger), når det kommer til systemudvikling.



Punktum accepterer den heller ikke...



Hej Karsten,

De fleste payment gateways modtager beløbet i øre. Du skal altså ikke bruger punktum eller komma i den forbindelse. Om du vælger at lave noget komma/punktum formatering af dit beløbsfelt er helt din egen sag, men når du skal sende det afsted bliver du nør til at trimme det for det hele og sende det afsted i øre.

Derudover vil jeg af sikkerhedsmæssige grunde ikke anbefale dig at give dit merchant ID ud da det er dit ID hos QuickPay. Jeg kunne i princippet ringe til en godtroende medarbejder og bede dem sætte jeres løsning på hold, eller andet.



Indlæg senest redigeret d. 10.08.2010 16:06 af Bruger #12245
Hej Frank.
Du har ret mht. sikkerhed. Tak for rådet.

Løsningen ved jeg ikke hvordan skal se ud, men jeg må få nogen til at kigge på det.
Mvh
Karsten



Mht. beløbsfeltet, vil en mulighed være at lave et lille javascript som på submit sætter værdien i et skjult input feldt til beløbet trimmet for punktum og komma, og ganget med 100, for at få beløbet i øre.

I skal ligeledes være opmærksomme på at der kan forekomme forskellig syntax hvis i har med brugere fra andre lande at gøre ligeledes.




Jah præcis, det lyder som en god måde.
Så et synligt skrivefelt bliver omdannet til det obligatoriske "amount" felt ved afsendelse.
ex:
<input type="text" name="beløb" value="" />
<input type="hidden" name="amount" value="" />

Men har du en ide om hvordan den java kan se ud?
:)







t