コード例 #1
0
    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 
        }
    }
コード例 #2
0
$aPaymentMethods = array();
// Laat de klant zelf een betaalmethode kiezen op de betaalpagina van de Rabo OmniKassa.
// $aPaymentMethods = array('IDEAL'); // Alleen iDEAL toestaan (keuzescherm wordt overgeslagen)
// $aPaymentMethods = array('IDEAL', 'MINITIX', 'VISA', 'MASTERCARD', 'MAESTRO'); // iDEAL, MiniTix, Visa, Mastercard of Maestro toestaan.
$oOmniKassa = new OmniKassa($aSettings['test_mode']);
$oOmniKassa->setMerchant($aSettings['merchant_id']);
$oOmniKassa->setSecurityKey($aSettings['security_key'], $aSettings['security_key_version']);
// Stel de return URL en report URL in (normalReturnUrl, automaticResponseUrl)
$oOmniKassa->setReportUrl($aSettings['website_url'] . $this->generateUrl('subscriber_frondend_confirmation', array('id' => $item->getId())));
// Mag geen additionele parameters bevatten
$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.