1

I have an isssue with rabobank omni kassa. The below code redirects to the omnikassa page and if the user clicks the back button without making payment and returns to the same page to make payment results in "Transaction already processed  : code=94 message=DUPLICATED TRANSACTION " in test mode and in live version results in "contact your merchant" error.

 <?php

         $test_mode = TRUE;
         $Action = ($test_mode) ? 'https://payment-
         webinit.simu.omnikassa.rabobank.nl/paymentServlet' : 'https://payment-
         webinit.omnikassa.rabobank.nl/paymentServlet';
         $bedrag      = 100;  // 100 = 1,00 euro
         $merchantId  = '002020000000001';
         $return_url  = 'http://www.example.com/';
         $omschrijving    = '121212';
         $key_version     = '1';
         $secretKey       = '002020000000001_KEY1';
         // Maken van datastring voor OmniKassa
         $Data = 'amount='.$bedrag.'|currencyCode=978|merchantId='.$merchantId.'|normalReturnUrl='.$return_url.'|transactionReference='.$omschrijving.'|keyVersion='.$key_version;
         $Seal = hash('sha256', utf8_encode($Data.$secretKey));
?>

        <html>
        <body>
        DATA: <?php echo($Data); ?>
        <br /><br />
        SEAL: <?php echo($Seal); ?>
        <form method="POST" action="<?php echo $Action ?>">
        <input type="hidden" name="Data" value="<?php echo $Data ?>">
        <input type="hidden" name="InterfaceVersion" value="HP_1.0">
        <input type="hidden" name="Seal" value="<?php echo $Seal ?>">
        <input type="submit" value="Proceed to payment">
        </form>
        </body>
        </html>

Any solution on handling this situation would be greatly appreciated.I am stuck on this issue.

Programmer
  • 157
  • 1
  • 14

1 Answers1

0

This sort of thing is not uncommon. Frequently you will see redirect payments (such as PayPal) saying "do not click the back button while your payment is in progress". Perhaps a warning like that? It's also possible to inject some JS or similar to disable the back button.

delatbabel
  • 3,601
  • 24
  • 29