function prepareVariablesIdealOmnikassa() { //TODO - remove this - this is only to calculate exact amount $this->Reservation_Details_EMail = $this->getReservationDetails($this, false); $query = " \tSELECT *\r\n\t\t\t\t\t\tFROM #__hotelreservation_paymentprocessors \r\n\t\t\t\t\t\tWHERE is_available = 1 AND paymentprocessor_id = " . $this->payment_processor_sel_id . "\r\n\t\t\t\t\t\tORDER BY paymentprocessor_name\r\n\t\t\t\t\t\t"; $this->_db->setQuery($query); $configuration =& $this->_db->loadObject(); if ($configuration->paymentprocessor_type == PROCESSOR_IDEAL_OMNIKASSA) { $iDeal = new OmniKassa(); if ($configuration->paymentprocessor_mode == 'test') { $iDeal->setPaymentServerUrl($configuration->paymentprocessor_address_devel); } else { $iDeal->setPaymentServerUrl($configuration->paymentprocessor_address); } $iDeal->setMerchantId($configuration->paymentprocessor_username); $iDeal->setSecretKey($configuration->paymentprocessor_password); $iDeal->setKeyVersion(2); $iDeal->addPaymentMeanBrand("IDEAL,VISA,MASTERCARD,MAESTRO,MINITIX"); $iDeal->setCurrencyNumericCode(978); $iDeal->setNormalReturnUrl(JURI::base() . "index.php/component/jhotelreservation/omnikassaresponse"); $iDeal->setAutomaticResponseUrl(JURI::base() . "index.php/component/jhotelreservation/omnikassaautomaticresponse"); $iDeal->setAmount(my_round($this->total_cost > 0 ? $this->total_cost : $this->total - $this->total_payed, 2)); $iDeal->setTransactionReference($this->getStringIDConfirmation()); // $iDeal->setOrderId(1); $iDeal->setCustomerLanguage('nl'); ?> <form target='_self' name='form_<?php echo $configuration->paymentprocessor_type; ?> ' id= 'form_<?php echo $configuration->paymentprocessor_type; ?> ' method='post' action='<?php echo $iDeal->getPaymentServerUrl(); ?> '> <div class='div_redirect_paysite'> <?php echo JText::_('LNG_WAIT_TO_REDIRECT_PAY_SITE', true); ?> </div> <?php echo $iDeal->getHtmlFields(); ?> </form> <script> window.onload = function(){ //alert(document.forms['form_<?php echo $configuration->paymentprocessor_type; ?> ']); document.forms['form_<?php echo $configuration->paymentprocessor_type; ?> '].submit(); }; </script> <?php } }
$oOmniKassa->setReturnUrl($aSettings['website_url'] . $this->generateUrl('subscriber_frondend_confirmation', array('id' => $item->getId()))); // Mag geen additionele parameters bevatten // Stel order informatie in $oOmniKassa->setOrderId($sOrderId); // Unieke order referentie, tot 32 karakters ([a-zA-Z0-9]+) $oOmniKassa->setAmount($fOrderAmount); // Bedrag (in EURO's, tot 2 decimalen, gebruik een punt als scheidingsteken) // Stel de beschikbare betaalmethode(n) in voor de koper (indien ingesteld). if (isset($aPaymentMethods) && is_array($aPaymentMethods) && sizeof($aPaymentMethods)) { $oOmniKassa->setPaymentMethod($aPaymentMethods); } // Houd er rekening mee dat voor ELK BETAALVERZOEK een unieke referentie opgegeven moet worden. // In dit voorbeeld gebruiken we de tijd om de code uniek te maken, maar beter zou een pogingnummer o.i.d. zijn. $sTransactionReference = $sOrderId . 'x' . date('His'); // Unieke transactie referentie, tot 35 karakters ([a-zA-Z0-9]+) $oOmniKassa->setTransactionReference($sTransactionReference); // Customize submit button $oOmniKassa->setButton('Afrekenen'); // Zorg dat u de $sOrderId en de gegenereerde $sTransactionReference opslaat in bijv. de database zodat u bij de terugkoppeling de // order kunt terug vinden en de status kunt bijwerken. Houdt er rekening mee dat bij ייn $sOrderId mogelijk meerdere betaalverzoeken // worden ondernomen, waarbij steeds een nieuw (en uniek) $sTransactionReference moet worden opgegeven. // // ... maatwerk ... // Starten van de transactie opslaan in een log-bestand $sLogData = 'TRANSACTION STARTED ON ' . date('d-m-Y, H:i:s') . "\r\n"; $sLogData .= 'TRANSACTION_REFERENCE: ' . $sTransactionReference . "\r\n"; $sLogData .= 'ORDER_ID: ' . $sOrderId . "\r\n\r\n\r\n"; $sLogPath = dirname(__FILE__) . '/logs'; $sLogFile = $sLogPath . '/' . $sTransactionReference . '.start.' . time() . '.log'; if (is_dir($sLogPath) && is_writable($sLogPath)) { @file_put_contents($sLogFile, $sLogData);