Avatar billede petermonielsen Nybegynder
16. maj 2009 - 00:53 Der er 4 kommentarer

betalingssystem

Jeg har lidt problemer med at sætte betalingssystemet op hos quickpay.dk og håber nogen kan hjælpe.

Problemet er at jeg efter endt betaling skal sikre at brugerid'et som sendes til bekræftigelsessiden reelt tilhører en bruger som har betalt - det er nødvendigt fordi jeg på denne side præsenterer brugeren for et brugernavn og et kodeord.

Deres support har foreslået at jeg bare skal sende ordrenummeret med i ok.php?ordrenr=123 (den side som vises når brugeren har gennemført betaling)

men problemet er at brugeren så efterfølgende jo bare kan ændre kaldet til ok.php?ordrenr=122 osv. og få koderne udleveret for denne post også.

håber på at nogen kan løse problemet.

$merchant = "12345678";
$okpage = "http://testfirma.dk/ok.php";
$errorpage = "http://testfirma.dk/error.php";
$resultpage = "http://testfirma.dk/result.php";
// Valgfri elementer
// $ccipage = "http://testfirma.dk/cci.php";
// $cardtype3ds = "";
// $cardtypelock = "";
// $customerEmail = "";
$md5secret = "md5KontrolOrd";
$md5check = md5($language.$autocapture.$ordernum.$amount.$currency.$merchant.$okpage.$errorpage.$resultpage.$ccipage.$md5secret);
?>

<form action="https://secure.quickpay.dk/quickpay.php" method="post" target="_blank">
      <input type="hidden" name="language" value="<?php echo $language ?>" />
      <input type="hidden" name="autocapture" value="<?php echo $autocapture ?>" />
      <input type="hidden" name="ordernum" value="<?php echo $ordernum ?>" />
      <input type="hidden" name="amount" value="<?php echo $amount ?>" />
      <input type="hidden" name="currency" value="<?php echo $currency ?>" />
      <input type="hidden" name="merchant" value="<?php echo $merchant ?>" />
      <input type="hidden" name="okpage" value="<?php echo $okpage ?>" />
      <input type="hidden" name="errorpage" value="<?php echo $errorpage ?>" />
      <input type="hidden" name="resultpage" value="<?php echo $resultpage ?>" />
      <!-- valgfrie elementer
      <input type="hidden" name="ccipage" value="<?php echo $ccipage ?>" />
      <input type="hidden" name="cardtype3ds" value="<?php echo $cardtype3ds ?>" />
      <input type="hidden" name="cardtypelock" value="<?php echo $cardtypelock ?>" />
      <input type="hidden" name="CUSTOM_Email" value="<?php echo $customerEmail ?>" />
      -->
      <input type="hidden" name="md5checkV2" value="<?php echo $md5check ?>" />
      <input type="submit" value="Gaa til betaling" />
</form>
Avatar billede repox Seniormester
16. maj 2009 - 14:52 #1
Det smarteste ville være at benytte sig af deres callback funktion. Den har kunden ikke nogen indflydelse på.

Callback funktionen sender relevante data tilbage til den side du angiver via $_POST.

Kunden vil aldrig se den side, det er quickpay der kalder den for dig.
Avatar billede petermonielsen Nybegynder
17. maj 2009 - 10:16 #2
Hej - tak for svaret.

Jeg benytter mig fatisk allerede af callback funktionen, men problemet er at selvom brugeren ikke ser callback siden, så er det muligt at lave en view source og se adressen på callback siden. Er man en gedigen programmør kan man jo så "bryde" ind i systemet ved at lave en form post til denne side med et ændret ordernummer.

Hvordan undgår jeg at det sker - skal jeg benytte md5 kryperingen for at sikre mig at intet er blevet ændret i form postet eller hvordan sikrer man sig typisk for den slags?
Avatar billede repox Seniormester
17. maj 2009 - 12:46 #3
Det er det du har md5 checksummen til. Med din md5 secret, som i forvejen er relativt svær at gætte sig frem til, er det jo umuligt at forfalske de data. Så en 'gedigen programmør' skal tilnærmelsesvis være synsk hvis du blot benytter din checksum.
Avatar billede madssch Nybegynder
27. maj 2009 - 11:48 #4
Hej,

Jeg tillader mig lige at stille et tillægsspørgsmål til denne tråd:

Hvordan definerer I callbackurl i formen?

Jeg synes ikke QuickPays dokumentation er specielt tydelig på dette punkt.

Hvad jeg har gjort er at tilføje at hidden-felt med name="callbackurl" og value="mydomain.dk/payment/callback.asp"

Jeg sætter selvfølgelig gerne point til rådighed!

På forhånd tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester