function submit($manual_euro) { global $db, $config; $payment_id = intval($manual_euro['payment_id']); if (!$payment_id) { fatal_error("payment id is empty"); } if (!($payment = $db->get_payment($payment_id))) { fatal_error("no such payment id"); } $member = $db->get_user($payment['member_id']); $manual_euro_config = $this->manual_euro_get_config(); $manual_euro["an"] = preg_replace('/\\D+/', '', $manual_euro["an"]); $manual_euro["bic"] = preg_replace('/\\D+/', '', $manual_euro["bic"]); $banktransfer_validation = new AccountCheck(); $banktransfer_result = $banktransfer_validation->CheckAccount($manual_euro["an"], $manual_euro["bic"]); if ($banktransfer_result != 0) { $manual_euro["error"][] = _PLUG_PAY_MANUAL_EURO_BANK_ERROR2; } $address_error = false; if ($this->config['required_address'] && ($manual_euro["street"] == '' || $manual_euro["city"] == '' || $manual_euro["zip"] == '' || $manual_euro["country"] == '' || $manual_euro_config['phone'] && $manual_euro["phone"] == '' || $manual_euro_config['state'] && $manual_euro["state"] == '')) { $manual_euro["error"][] = _PLUG_PAY_MANUAL_EURO_BANK_ERROR3; $address_error = true; } // check Account Holder Name if ($manual_euro['name'] == '') { $manual_euro["error"][] = _PLUG_PAY_MANUAL_EURO_BANK_ERROR5; $address_error = true; } if ($banktransfer_result == 0 && !$address_error) { $member['data']['bank_name'] = $manual_euro['name']; $member['data']['bank_an'] = $manual_euro['an']; $member['data']['bank_bic'] = $manual_euro['bic']; $member['data']['bank_bank_name'] = $banktransfer_validation->Bankname; if ($manual_euro_config['phone']) { $member['data']['bank_phone'] = $manual_euro['phone']; } $member['street'] = $manual_euro['street']; $member['city'] = $manual_euro['city']; if ($manual_euro_config['state']) { $member['state'] = $manual_euro['state']; } $member['zip'] = $manual_euro['zip']; $member['country'] = $manual_euro['country']; $db->update_user($member['member_id'], $member); $this->signup_moderator_mail($payment_id, $signup = true); $t =& new_smarty(); $t->assign(array("manual_euro" => $manual_euro, 'member' => $member, 'payment' => $payment, "product" => $db->get_product($payment['product_id']))); $t->display(dirname(__FILE__) . '/thanks.html'); } else { $manual_euro["error"] = array("Incorrect Account number or Bank Identifier Code"); $this->do_payment($payment_id, $member["member_id"], $payment['product_id'], $payment['amount'], $payment['begin_date'], $payment['expire_date'], $manual_euro); } }
function pre_confirmation_check() { global $banktransfer_number, $banktransfer_blz, $aLang; if ($_POST['banktransfer_fax'] == false) { include 'includes/classes/class_banktransfer_validation.php'; $banktransfer_validation = new AccountCheck(); $banktransfer_result = $banktransfer_validation->CheckAccount($banktransfer_number, $banktransfer_blz); if ($banktransfer_result > 0 || $_POST['banktransfer_owner'] == '') { if ($_POST['banktransfer_owner'] == '') { $error = 'Name des Kontoinhabers fehlt!'; $recheckok = ''; } else { switch ($banktransfer_result) { case 1: // number & blz not ok $error = $aLang['module_payment_banktransfer_text_bank_error_1']; $recheckok = '1'; break; case 5: // BLZ not found $error = $aLang['module_payment_banktransfer_text_bank_error_5']; $recheckok = '1'; break; case 8: // no blz entered $error = $aLang['module_payment_banktransfer_text_bank_error_8']; $recheckok = ''; break; case 9: // no number entered $error = $aLang['module_payment_banktransfer_text_bank_error_9']; $recheckok = ''; break; default: $error = $aLang['module_payment_banktransfer_text_bank_error_4']; $recheckok = '1'; break; } } if ($_POST['recheckok'] != '1') { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&banktransfer_owner=' . urlencode($_POST['banktransfer_owner']) . '&banktransfer_number=' . urlencode($_POST['banktransfer_number']) . '&banktransfer_blz=' . urlencode($_POST['banktransfer_blz']) . '&banktransfer_bankname=' . urlencode($_POST['banktransfer_bankname']) . '&recheckok=' . $recheckok; $aPages = oos_get_pages(); MyOOS_CoreApi::redirect(oos_href_link($aPages['checkout_payment'], $payment_error_return, 'SSL', true, false)); } } $this->banktransfer_owner = oos_prepare_input($_POST['banktransfer_owner']); $this->banktransfer_blz = oos_prepare_input($_POST['banktransfer_blz']); $this->banktransfer_number = oos_prepare_input($_POST['banktransfer_number']); $this->banktransfer_prz = $banktransfer_validation->PRZ; $this->banktransfer_status = $banktransfer_result; if ($banktransfer_validation->Bankname != '') { $this->banktransfer_bankname = $banktransfer_validation->Bankname; } else { $this->banktransfer_bankname = oos_prepare_input($_POST['banktransfer_bankname']); } } }
function pre_confirmation_check() { global $banktransfer_number, $banktransfer_blz; if ($_POST['banktransfer_fax'] == false) { if ($banktransfer_result > 0 || $_POST['banktransfer_owner'] == EMPTY_STRING) { if ($_POST['banktransfer_owner'] == EMPTY_STRING) { $error = 'Name des Kontoinhabers fehlt!'; $recheckok = EMPTY_STRING; } else { include_once DIR_WS_CLASSES . 'banktransfer_validation.php'; $banktransfer_validation = new AccountCheck(); $banktransfer_result = $banktransfer_validation->CheckAccount($banktransfer_number, $banktransfer_blz); switch ($banktransfer_result) { case 1: // number & blz not ok $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_1; $recheckok = TRUE_STRING_S; break; case 5: // BLZ not found $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_5; $recheckok = TRUE_STRING_S; break; case 8: // no blz entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_8; $recheckok = EMPTY_STRING; break; case 9: // no number entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_9; $recheckok = EMPTY_STRING; break; default: $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_4; $recheckok = TRUE_STRING_S; break; } } if (USE_AJAX) { ajax_error($error); } else { if ($_POST['recheckok'] != TRUE_STRING_S) { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&banktransfer_owner=' . urlencode($_POST['banktransfer_owner']) . '&banktransfer_number=' . urlencode($_POST['banktransfer_number']) . '&banktransfer_blz=' . urlencode($_POST['banktransfer_blz']) . '&banktransfer_bankname=' . urlencode($_POST['banktransfer_bankname']) . '&recheckok=' . $recheckok; olc_redirect(olc_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, SSL, true, false)); } } } } $this->banktransfer_owner = $_POST['banktransfer_owner']; $this->banktransfer_blz = $_POST['banktransfer_blz']; $this->banktransfer_number = $_POST['banktransfer_number']; $this->banktransfer_prz = $banktransfer_validation->PRZ; $this->banktransfer_status = $banktransfer_result; if ($banktransfer_validation->Bankname != EMPTY_STRING) { $this->banktransfer_bankname = $banktransfer_validation->Bankname; } else { $this->banktransfer_bankname = $_POST['banktransfer_bankname']; } //W. Kaiser - AJAX }
function pre_confirmation_check() { if (@$_POST['banktransfer_fax'] == false && @$_POST['recheckok'] != 'true') { include DIR_WS_CLASSES . 'banktransfer_validation.php'; // iban / classic? $number = preg_replace('/[^a-zA-Z0-9]/', '', $_POST['banktransfer_number']); if (ctype_digit($number) && MODULE_PAYMENT_BANKTRANSFER_IBAN_ONLY == 'false') { // classic $banktransfer_validation = new AccountCheck(); $banktransfer_result = $banktransfer_validation->CheckAccount($number, $_POST['banktransfer_blz']); // some error codes <> 0/OK pass as OK if ($banktransfer_validation->account_acceptable($banktransfer_result)) { $banktransfer_result = 0; } } else { // iban $banktransfer_validation = new IbanAccountCheck(); $banktransfer_result = $banktransfer_validation->IbanCheckAccount($number, $_POST['banktransfer_blz']); // some error codes <> 0/OK pass as OK if ($banktransfer_validation->account_acceptable($banktransfer_result)) { $banktransfer_result = 0; } // owner email ? if ($banktransfer_result == 0 && isset($_POST['banktransfer_owner_email'])) { require_once DIR_FS_INC . 'xtc_validate_email.inc.php'; if (!xtc_validate_email($_POST['banktransfer_owner_email'])) { $banktransfer_result = 13; } } // iban country allowed in payment zone? if ($banktransfer_result == 0 && (int) MODULE_PAYMENT_BANKTRANSFER_ZONE > 0) { $check_query = xtc_db_query("SELECT DISTINCT z.geo_zone_id \n FROM " . TABLE_ZONES_TO_GEO_ZONES . " z\n JOIN " . TABLE_COUNTRIES . " c on c.countries_id = z.zone_country_id\n WHERE z.geo_zone_id = " . MODULE_PAYMENT_BANKTRANSFER_ZONE . "\n AND c.countries_iso_code_2 = '" . $banktransfer_validation->IBAN_country . "'"); if (xtc_db_num_rows($check_query) == 0) { $banktransfer_result = 14; } } // map return codes. refine where necessary // iban not ok if (in_array($banktransfer_result, array(1000, 1010, 1020, 1030, 1040))) { $banktransfer_result = 12; } else { if (in_array($banktransfer_result, array(1050, 1060, 1070, 1080))) { $banktransfer_result = 11; } else { if ($banktransfer_result > 2000) { $banktransfer_result -= 2000; } } } } if (!empty($banktransfer_validation->Bankname)) { $this->banktransfer_bankname = $banktransfer_validation->Bankname; } else { $this->banktransfer_bankname = xtc_db_prepare_input($_POST['banktransfer_bankname']); } if (isset($_POST['banktransfer_owner']) && $_POST['banktransfer_owner'] == '') { $banktransfer_result = 10; } switch ($banktransfer_result) { case 0: // payment o.k. $error = 'O.K.'; $recheckok = 'false'; break; case 1: // number & blz not ok $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_1; $recheckok = 'false'; break; case 2: // account number has no calculation method $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_2; $recheckok = 'true'; break; case 3: // No calculation method implemented $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_3; $recheckok = 'true'; break; case 4: // Number cannot be checked $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_4; $recheckok = 'true'; break; case 5: // BLZ not found $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_5; $recheckok = 'false'; // Set "true" if you have not the latest BLZ table! break; case 8: // no BLZ entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_8; $recheckok = 'false'; break; case 9: // no number entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_9; $recheckok = 'false'; break; case 10: // no account holder entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_10; $recheckok = 'false'; break; case 11: // no bic entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_11; $recheckok = 'false'; break; case 12: // iban not o.k. $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_12; $recheckok = 'false'; break; case 13: // no account holder notification email entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_13; $recheckok = 'false'; break; case 14: // iban country not allowed in payment zone $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_14; $recheckok = 'false'; break; case 128: // Internal error $error = 'Internal error, please check again to process your payment'; $recheckok = 'true'; break; default: $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_4; $recheckok = 'true'; break; } if ($banktransfer_result > 0 && $_POST['recheckok'] != 'true') { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&banktransfer_owner=' . urlencode($_POST['banktransfer_owner']) . '&banktransfer_number=' . urlencode($_POST['banktransfer_number']) . '&banktransfer_blz=' . urlencode($_POST['banktransfer_blz']) . '&banktransfer_bankname=' . urlencode($_POST['banktransfer_bankname']) . '&banktransfer_owner_email=' . urlencode($_POST['banktransfer_owner_email']) . '&recheckok=' . $recheckok; xtc_redirect(xtc_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false)); } $this->iban_mode = $banktransfer_validation->checkmode == 'iban'; $this->banktransfer_owner = xtc_db_prepare_input($_POST['banktransfer_owner']); $this->banktransfer_owner_email = xtc_db_prepare_input($_POST['banktransfer_owner_email']); $this->banktransfer_iban = $banktransfer_validation->banktransfer_iban; $this->banktransfer_bic = $banktransfer_validation->banktransfer_bic; $this->banktransfer_number = $banktransfer_validation->banktransfer_number; $this->banktransfer_blz = $banktransfer_validation->banktransfer_blz; $this->banktransfer_prz = $banktransfer_validation->PRZ; $this->banktransfer_status = $banktransfer_result; } }
$vorwahl_delimiter = HASH . "vorwahl" . HASH; $add_on .= NEWLINE . $vorwahl_delimiter . $vorwahl . $vorwahl_delimiter; } break; case banktransfer_blz: //"banktransfer_bankname" $bank_delimiter = HASH . "bank" . HASH; $add_on = $bank_delimiter . $add_on . $bank_delimiter; break; case banktransfer_number: if ($bank_prz) { //Validate account-number // Include kontonummer-validation class require_once DIR_WS_CLASSES . 'banktransfer_validation.php'; $banktransfer_validation = new AccountCheck(); $banktransfer_result = $banktransfer_validation->CheckAccount($konto_nummer, $blz, $add_on, $bank_prz); if ($banktransfer_result > 0) { $current_value = $konto_nummer; $konto_nummer = "Kontonummer '" . $konto_nummer . "' "; $main_content = "Die " . $konto_nummer . "ist für die BLZ '" . $extra_parameter . "' (" . $add_on . ") nicht gültig!"; $caption = BLANK . $konto_nummer; $error_recoverable = true; //Recoverable, allow acceptance anyway! //$error_fatal=true; //Not recoverable, do not allow acceptance } else { //Valid #, just exit echo EMPTY_STRING; exit; } } else { //No check possible, just exit
function pre_confirmation_check() { if ($_POST['banktransfer_fax'] == false && $_POST['recheckok'] != 'true') { include DIR_WS_CLASSES . 'banktransfer_validation.php'; $banktransfer_validation = new AccountCheck(); $banktransfer_result = $banktransfer_validation->CheckAccount($_POST['banktransfer_number'], $_POST['banktransfer_blz']); if ($banktransfer_validation->Bankname != '') { $this->banktransfer_bankname = $banktransfer_validation->Bankname; } else { $this->banktransfer_bankname = vam_db_prepare_input($_POST['banktransfer_bankname']); } if ($_POST['banktransfer_owner'] == '') { $banktransfer_result = 10; } switch ($banktransfer_result) { case 0: // payment o.k. $error = 'O.K.'; $recheckok = 'false'; break; case 1: // number & blz not ok $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_1; $recheckok = 'false'; break; case 2: // account number has no calculation method $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_2; $recheckok = 'true'; break; case 3: // No calculation method implemented $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_3; $recheckok = 'true'; break; case 4: // Number cannot be checked $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_4; $recheckok = 'true'; break; case 5: // BLZ not found $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_5; $recheckok = 'false'; // Set "true" if you have not the latest BLZ table! break; case 8: // no BLZ entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_8; $recheckok = 'false'; break; case 9: // no number entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_9; $recheckok = 'false'; break; case 10: // no account holder entered $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_10; $recheckok = 'false'; break; case 128: // Internal error $error = 'Internal error, please check again to process your payment'; $recheckok = 'true'; break; default: $error = MODULE_PAYMENT_BANKTRANSFER_TEXT_BANK_ERROR_4; $recheckok = 'true'; break; } if ($banktransfer_result > 0 && $_POST['recheckok'] != 'true') { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&banktransfer_owner=' . urlencode($_POST['banktransfer_owner']) . '&banktransfer_number=' . urlencode($_POST['banktransfer_number']) . '&banktransfer_blz=' . urlencode($_POST['banktransfer_blz']) . '&banktransfer_bankname=' . urlencode($_POST['banktransfer_bankname']) . '&recheckok=' . $recheckok; vam_redirect(vam_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false)); } $this->banktransfer_owner = vam_db_prepare_input($_POST['banktransfer_owner']); $this->banktransfer_blz = vam_db_prepare_input($_POST['banktransfer_blz']); $this->banktransfer_number = vam_db_prepare_input($_POST['banktransfer_number']); $this->banktransfer_prz = $banktransfer_validation->PRZ; $this->banktransfer_status = $banktransfer_result; } }