define('MODULE_PAYMENT_MONETA_TEXT_CONFIRMATION_ERROR', 'Potrditev naročila ni uspela.'); define('MODULE_PAYMENT_MONETA_TEXT_WAITING', 'Čakam na potrditev naročila...'); define('MODULE_PAYMENT_MONETA_TEXT_ERROR', 'Napaka pri potrjevanju naročila.'); define('MODULE_PAYMENT_MONETA_TEXT_SUCCED', 'Naročilo uspešno potrjeno s strani Monete.'); define('MODULE_PAYMENT_MONETA_TEXT_THANKYOU', '<h4>Zahvaljujemo se vam za nakup.</h4>'); define('MODULE_PAYMENT_MONETA_TEXT_MONETA', 'Moneta'); define('MODULE_PAYMENT_MONETA_TEXT_PURCHASE_STATUS', 'Status nakupa:'); $sMyName = 'http://' . GetServerVariable('HTTP_HOST') . GetServerVariable('SCRIPT_NAME'); $sConfirmationID = ""; $sStatus = ""; $sData = ""; $sOrderXML = ""; $sConfirmationID = RequestString("ConfirmationID", 32); $sQuery = "select refreshcounter, purchasestatus, orderxml, redirectok, redirectfail from " . MODULE_PAYMENT_MONETA_TABLE_NAME . " where confirmationid='" . $sConfirmationID . "'"; $lRows = -1; $query_line = moneta_getrow($sQuery); if (!empty($query_line)) { $nRefreshCounter = $query_line['refreshcounter']; $sPurchaseState = $query_line['purchasestatus']; $sOrderXML = $query_line['orderxml']; $sRedirectOK = $query_line['redirectok']; $sRedirectFail = $query_line['redirectfail']; $lRows = 1; } if ($lRows == -1) { $sStatus = MODULE_PAYMENT_MONETA_TEXT_NO_CONFIRMATIONID; } else { if ($nRefreshCounter > 30) { $sStatus = MODULE_PAYMENT_MONETA_TEXT_CONFIRMATION_ERROR; } else { if ($sPurchaseState == "vobdelavi") {
function moneta_link($params) { # Gateway Specific Variables // $gatewayusername = $params['username']; // $gatewaytestmode = $params['testmode']; // $returnurl = $params['returnurl']; # Invoice Variables $invoiceid = $params['invoiceid']; $description = $params["description"]; $amount = $params['amount']; # Format: ##.## $currency = $params['currency']; # Currency Code # Client Variables $firstname = $params['clientdetails']['firstname']; $lastname = $params['clientdetails']['lastname']; $email = $params['clientdetails']['email']; $address1 = $params['clientdetails']['address1']; $address2 = $params['clientdetails']['address2']; $city = $params['clientdetails']['city']; $state = $params['clientdetails']['state']; $postcode = $params['clientdetails']['postcode']; $country = $params['clientdetails']['country']; $phone = $params['clientdetails']['phonenumber']; # System Variables $companyname = $params['companyname']; $systemurl = $params['systemurl']; $currency = $params['currency']; # Enter your code submit to the gateway... // Create Moneta XML $sXMLDataX = moneta_MakeOrderLine($description, $amount, 0, 1, 'kos', $invoiceid); $sXMLData = moneta_MakeOrderHead('', $firstname, $lastname, $companyname, $address1, '', $postcode, $city, $country, $phone, $email, $amount, $invoiceid); $sXMLData = $sXMLData . $sXMLDataX; $sXMLData = $sXMLData . moneta_MakeOrderEnd(); $callbackUrl = MONETA_CALLBACK_URL . "?confirmationId=" . $invoiceid; // fetch moneta user url from database $monetaUserUrl = moneta_getrow("SELECT * FROM tblpaymentgateways where gateway = 'moneta' AND setting = 'userMonetaUrl'"); $monetaUserUrl = $monetaUserUrl["value"]; // check if order not already in db $row = moneta_getrow("SELECT confirmationid from moneta where confirmationid = '" . $invoiceid . "'"); if (empty($row['confirmationid'])) { moneta_query("INSERT INTO moneta (confirmationid, startdate, purchasestatus, refreshcounter, orderxml, redirectok, redirectfail, amount, fee) values\r\n ('" . $invoiceid . "', NOW(), 'vobdelavi', 0, '" . mysql_escape_string($sXMLData) . "', '" . $callbackUrl . "', '" . $callbackUrl . "', '" . $amount . "', 0)"); } $code = '<input type="button" onclick="location.href = \'' . $monetaUserUrl . '&ConfirmationID=' . $invoiceid . '\'" value="' . MONETA_BUTTON_CAPTION . '" />'; return $code; }
# Required File Includes require dirname(__FILE__) . "/moneta.php"; include MONETA_PATH_WHMCS . "/dbconnect.php"; include MONETA_PATH_WHMCS . "/includes/functions.php"; include MONETA_PATH_WHMCS . "/includes/gatewayfunctions.php"; include MONETA_PATH_WHMCS . "/includes/invoicefunctions.php"; $gatewaymodule = "moneta"; # Enter your gateway module name here replacing template $GATEWAY = getGatewayVariables($gatewaymodule); if (!$GATEWAY["type"]) { die("Module Not Activated"); } # Checks gateway module is active before accepting callback # Get Returned Variables - Adjust for Post Variable Names from your Gateway's Documentation $confirmationId = RequestString("confirmationId", 32); $orderRow = moneta_getrow("SELECT * FROM moneta where confirmationid ='" . $confirmationId . "'"); $invoiceid = $confirmationId; // confirmation id is same as invoice ID $transid = $invoiceid; //could be any unique value, we choose invoiceid... $invoiceid = checkCbInvoiceID($invoiceid, $GATEWAY["name"]); # Checks invoice ID is a valid invoice number or ends processing checkCbTransID($transid); # Checks transaction number isn't already in the database and ends processing if it does if ($orderRow['purchasestatus'] == "prikazano") { # Successful addInvoicePayment($invoiceid, $transid, $orderRow['amount'], 0, $gatewaymodule); # Apply Payment to Invoice: invoiceid, transactionid, amount paid, fees, modulename logTransaction($GATEWAY["name"], $_POST, "Successful"); # Save to Gateway Log: name, data array, status } else {