PHP Code:
function before_process() {
global $order, $db;
global $sales_id,$tranid,$refapproved,$refforwarded,$errcode,$errinfo,$errlevel,$r_code,$rec_type,$x_amount,$x_tax,$x_total, $remise_cc_job_code;
global $HTTP_POST_VARS;
$sales_id=$_POST['X-S_TORIHIKI_NO'];
$tranid=$_POST['X-TRANID'];
$refapproved=$_POST['X-REFAPPROVED'];
$refforwarded=$_POST['X-REFFORWARDED'];
$errcode=$_POST['X-ERRCODE'];
$errinfo=$_POST['X-ERRINFO'];
$errlevel=$_POST['X-ERRLEVEL'];
$r_code=$_POST['X-R_CODE'];
$rec_type=$_POST['REC_TYPE'];
$x_amount=$_POST['X-AMOUNT'];
$x_tax=$_POST['X-TAX'];
$x_total=$_POST['X-TOTAL'];
//$today = date('Y-m-d H:i:s');
if( MODULE_PAYMENT_REMISE_RET == "ON" ){
$sql = "select * from " . TABLE_REMISE_RESULT . " where tranid='" . $tranid . "' and rec_type='RET' limit 1";
$remise_query = $db->Execute($sql);
if ($remise_query->RecordCount() > 0) {
$remise_values = $remise_query->fields;
if(
$sales_id != $remise_values['sales_id'] ||
$tranid != $remise_values['tranid'] ||
$refapproved != $remise_values['refapproved'] ||
$refforwarded != $remise_values['refforwarded'] ||
$errinfo != $remise_values['errinfo'] ||
$errlevel != $remise_values['errlevel'] ||
$r_code != $remise_values['r_code'] ||
$rec_type != "END" ||
$x_amount != $remise_values['x_amount'] ||
$x_tax != $remise_values['x_tax'] ||
$x_total != $remise_values['x_total'] ||
$errlevel > 0 ||
strlen($errlevel) == 0
){
if( MODULE_PAYMENT_REMISE_RET == "ON" )
$db->Execute("INSERT INTO " . TABLE_REMISE_RESULT . " VALUES('','$sales_id','$tranid','$refapproved','$refforwarded','$errcode','$errinfo','$errlevel','$r_code','$rec_type','$x_amount','$x_tax','$x_total','failed:0','','',now())");
zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, zen_session_name() . '=' . $HTTP_POST_VARS[zen_session_name()] . '&payment_error=' . $this->code, 'SSL', false, false));
}
}else{
if( MODULE_PAYMENT_REMISE_RET == "ON" )
$db->Execute("INSERT INTO " . TABLE_REMISE_RESULT . " VALUES('','$sales_id','$tranid','$refapproved','$refforwarded','$errcode','$errinfo','$errlevel','$r_code','$rec_type','$x_amount','$x_tax','$x_total','failed:1','" . $_SERVER['REMOTE_ADDR'] . "','" . $_SERVER['REQUEST_METHOD'] . "',now())");
zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, zen_session_name() . '=' . $HTTP_POST_VARS[zen_session_name()] . '&payment_error=' . $this->code, 'SSL', false, false));
}
}else if ($errlevel > 0 || strlen($errlevel) == 0 ){
zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, zen_session_name() . '=' . $HTTP_POST_VARS[zen_session_name()] . '&payment_error=' . $this->code, 'SSL', false, false));
}
$card_info = $_POST['OPT'];
$remise_cc_job_code = strtok($card_info,"<>");
if(MODULE_PAYMENT_REMISE_CARD == "ON"){
$order->info['cc_type'] = strtok("<>");
$order->info['cc_owner'] = strtok("<>");
$order->info['cc_number'] = strtok("<>");
$order->info['cc_expires'] = strtok("<>");
}
if($remise_cc_job_code != MODULE_PAYMENT_REMISE_JOB_CODE){
$order_status = MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_FUTEIKAN;
$order->info['order_status'] = $order_status;
}
}
function after_process() {
global $insert_id, $order, $db;
global $sales_id,$tranid,$refapproved,$refforwarded,$errcode,$errinfo,$errlevel,$r_code,$rec_type,$x_amount,$x_tax,$x_total,$remise_cc_job_code;
if( strlen($order->info['comments']) > 0 ){ $newline = "\n\n"; }
else{ $newline = ""; }
if(strlen(MODULE_PAYMENT_REMISE_EXTURL)==0){
$order->info['comments'] .= $newline . "REMISE請求番号:" . $sales_id;
}elseif ( $remise_cc_job_code == "CAPTURE" && MODULE_PAYMENT_REMISE_CARD == "ON"){
$order->info['comments'] .= $newline . "売上処理済み-<a href=\"orders_remise.php?selected_box=customers&status=1&page=1&oID=" . $insert_id . "&action=edit&salesID=".$sales_id ."\"><b><font color=\"#009900\">返品・取消処理:" . $sales_id ."</font></b></a>";
}elseif ( $remise_cc_job_code == "CHECK" && MODULE_PAYMENT_REMISE_CARD == "ON"){
$order->info['comments'] .= $newline . "カードの有効性チェック済み-<a href=\"orders_remise.php?selected_box=customers&status=1&page=1&oID=" . $insert_id . "&action=edit&salesID=".$sales_id ."\"><b><font color=\"#009900\">売上処理:" . $sales_id ."</font></b></a>";
}elseif ( $remise_cc_job_code == "AUTH" && MODULE_PAYMENT_REMISE_CARD == "ON"){
$order->info['comments'] .= $newline . "仮売上処理済み-<a href=\"orders_remise.php?selected_box=customers&status=1&page=1&oID=" . $insert_id . "&action=edit&salesID=".$sales_id ."\"><b><font color=\"#009900\">実売上・返品・取消処理:" . $sales_id ."</font></b></a>";
}elseif ( $remise_cc_job_code == "SAUTH" && MODULE_PAYMENT_REMISE_CARD == "ON"){
$order->info['comments'] .= "与信枠確保済み-<a href=\"orders_remise.php?selected_box=customers&status=1&page=1&oID=" . $insert_id . "&action=edit&salesID=".$sales_id ."\"><b><font color=\"#009900\">返品・取消処理:" . $sales_id ."</font></b></a>";
}else{
$order->info['comments'] .= $newline . "REMISE請求番号:" . $sales_id;
}
$db->Execute("update " . TABLE_ORDERS_STATUS_HISTORY . " set comments='" . $order->info['comments'] . "' where orders_id='$insert_id'");
if( MODULE_PAYMENT_REMISE_RET == "ON" )
$db->Execute("INSERT INTO " . TABLE_REMISE_RESULT . " VALUES('','$sales_id','$tranid','$refapproved','$refforwarded','$errcode','$errinfo','$errlevel','$r_code','$rec_type','$x_amount','$x_tax','$x_total','success','$remise_cc_job_code','',now())");
}
function output_error() {
return false;
}
function get_error() {
global $HTTP_POST_VARS,$HTTP_GET_VARS;
if (isset($HTTP_GET_VARS['error']) && (strlen($HTTP_GET_VARS['error']) > 0)) {
$error_message = stripslashes(urldecode($HTTP_GET_VARS['error']));
}else{
$error_code = $_POST['X-ERRCODE'];
$error_info = $_POST['X-ERRINFO'];
//$error_r_code = $_POST['X-R_CODE'];
if($error_code == "H12" && $error_info == "310030000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H12_31003;
}elseif($error_code == "H12" && $error_info == "310050000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H12_31005;
}elseif($error_code == "H12" && $error_info == "320060000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H12_32006;
}elseif($error_code == "H97" && $error_info == "220010000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H97_22001;
}elseif($error_code == "H97" && $error_info == "421010000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H97_42101;
}elseif($error_code == "H97" && $error_info == "450030000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H97_45003;
}elseif($error_code == "H97" && $error_info == "450040000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H97_45004;
}elseif($error_code == "H97" && $error_info == "450050000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H97_45005;
}elseif($error_code == "S99" && $error_info == "42S991000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H97_45005;
}elseif($error_code == "S99" && $error_info == "42S994000"){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_H97_45005;
}elseif($error_code == 'C14'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_C14;
}elseif($error_code == 'G03'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G03;
}elseif($error_code == 'G12'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G12;
}elseif($error_code == 'G30'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G30;
}elseif($error_code == 'G54'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G54;
}elseif($error_code == 'G55'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G55;
}elseif($error_code == 'G56'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G56;
}elseif($error_code == 'G60'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G60;
}elseif($error_code == 'G65'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G65;
}elseif($error_code == 'G78'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G78;
}elseif($error_code == 'G83'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G83;
}elseif($error_code == 'G97'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G97;
}elseif($error_code == 'G99'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_G99;
}elseif($error_code == 'P90'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_P90;
}elseif($error_code == 'S01'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_S01;
}elseif($error_code == 'X51'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_X51;
}elseif($error_code == 'X53'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_X53;
}elseif($error_code == 'X65'){
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_X65;
}else{
$error_message = MODULE_PAYMENT_REMISE_TEXT_ERROR_MESSAGE;
}
if( strlen($error_code) > 0 )
$error_message = $error_code . ':' . $error_message;
}
return array('title' => MODULE_PAYMENT_REMISE_TEXT_ERROR,
'error' => $error_message);
}
function check() {
global $db;
if (!isset($this->_check)) {
$check_query = $db->Execute("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_REMISE_STATUS'");
$this->_check = $check_query->RecordCount();
}
return $this->_check;
}
function install() {
global $db;
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable REMISE Module', 'MODULE_PAYMENT_REMISE_STATUS', 'True', 'ルミーズカード決済を有効にしますか?', '6', '0', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Remise Url', 'MODULE_PAYMENT_REMISE_URL', 'https://www.remise.jp/', '決済情報送信先URL', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Shop Code', 'MODULE_PAYMENT_REMISE_SHOP_CODE', '00000000', '加盟店コード', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Host Id', 'MODULE_PAYMENT_REMISE_HOST_ID', '00000000', 'ホスト番号', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Job Code', 'MODULE_PAYMENT_REMISE_JOB_CODE', 'AUTH', 'ジョブコード', '6', '0', 'zen_cfg_select_option(array(\'CHECK\', \'CAPTURE\', \'AUTH\', \'SAUTH\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('クレジットカード情報入力', 'MODULE_PAYMENT_REMISE_INPUT_MODE', 'Local', 'クレジットカード情報の入力をローカルで行うかリモート(REMISE)で行うか選択してください', '6', '5', 'zen_cfg_select_option(array(\'Local\', \'Remote\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('結果通知', 'MODULE_PAYMENT_REMISE_RET', 'OFF', '結果通知を行うか選択してください', '6', '5', 'zen_cfg_select_option(array(\'ON\', \'OFF\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('リボ払い', 'MODULE_PAYMENT_REMISE_REVO', 'OFF', 'リボルビング払いを使用する場合は、ONを選択してください。', '6', '5', 'zen_cfg_select_option(array(\'ON\', \'OFF\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('分割払い', 'MODULE_PAYMENT_REMISE_ESPAY', 'OFF', '分割払いを使用する場合は、ONを選択してください。分割払いは2回払いまでになります', '6', '5', 'zen_cfg_select_option(array(\'ON\', \'OFF\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('入力チェック', 'MODULE_PAYMENT_REMISE_CARD_CHECK', 'ON', 'osCommerce内でクレジットカードの入力チェックをする', '6', '5', 'zen_cfg_select_option(array(\'ON\', \'OFF\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('表示の順番', 'MODULE_PAYMENT_REMISE_SORT_ORDER', '0', '表示の順番を設定します。数値順に表示されます', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('適用地域', 'MODULE_PAYMENT_REMISE_ZONE', '0', '適用地域を選択すると、選択した地域のみで利用可能となります。', '6', '2', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('オーダーステータス', 'MODULE_PAYMENT_REMISE_ORDER_STATUS_ID', '0', 'クレジットカード決済成功時のオーダーステータスを設定してください', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Remise ExtUrl', 'MODULE_PAYMENT_REMISE_EXTURL', 'https://www.remise.jp/', '拡張セット送信先URL', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('クレジットカード情報保存', 'MODULE_PAYMENT_REMISE_CARD', 'OFF', 'クレジットカード情報を保存するか選択してください', '6', '5', 'zen_cfg_select_option(array(\'ON\', \'OFF\'), ', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('変動価格商品の型番', 'MODULE_PAYMENT_REMISE_MODEL', '', '商品の型番に指定の文字列が存在した場合カードの有効性チェックのみ行います。管理画面で後から任意の価格で売上処理を行います。', '6', '0', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('拡張セット売上オーダーステータス', 'MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_CAPTURE', '0', 'クレジットカード決済売上時のオーダーステータスを設定してください', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('拡張セット返品オーダーステータス', 'MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_RETURN', '0', 'クレジットカード決済返品時のオーダーステータスを設定してください', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('拡張セット取消オーダーステータス', 'MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_VOID', '0', 'クレジットカード決済取消時のオーダーステータスを設定してください', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('変動価格商品オーダーステータス', 'MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_FUTEIKAN', '0', '変動価格商品購入時のオーダーステータスを設定してください', '6', '0', 'zen_cfg_pull_down_order_statuses(', 'zen_get_order_status_name', now())");
}
function remove() {
global $db;
$db->Execute("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
}
function keys() {
if( file_exists(DIR_FS_ADMIN."orders_remise.php")){
return array('MODULE_PAYMENT_REMISE_STATUS', 'MODULE_PAYMENT_REMISE_URL', 'MODULE_PAYMENT_REMISE_EXTURL','MODULE_PAYMENT_REMISE_SHOP_CODE','MODULE_PAYMENT_REMISE_HOST_ID', 'MODULE_PAYMENT_REMISE_JOB_CODE', 'MODULE_PAYMENT_REMISE_INPUT_MODE', 'MODULE_PAYMENT_REMISE_RET', 'MODULE_PAYMENT_REMISE_CARD','MODULE_PAYMENT_REMISE_REVO','MODULE_PAYMENT_REMISE_ESPAY','MODULE_PAYMENT_REMISE_CARD_CHECK', 'MODULE_PAYMENT_REMISE_ORDER_STATUS_ID','MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_CAPTURE','MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_RETURN','MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_VOID', 'MODULE_PAYMENT_REMISE_ORDER_STATUS_ID_FUTEIKAN','MODULE_PAYMENT_REMISE_MODEL','MODULE_PAYMENT_REMISE_SORT_ORDER','MODULE_PAYMENT_REMISE_ZONE');
}else{
return array('MODULE_PAYMENT_REMISE_STATUS', 'MODULE_PAYMENT_REMISE_URL', 'MODULE_PAYMENT_REMISE_SHOP_CODE','MODULE_PAYMENT_REMISE_HOST_ID', 'MODULE_PAYMENT_REMISE_JOB_CODE', 'MODULE_PAYMENT_REMISE_INPUT_MODE','MODULE_PAYMENT_REMISE_RET', 'MODULE_PAYMENT_REMISE_REVO','MODULE_PAYMENT_REMISE_ESPAY','MODULE_PAYMENT_REMISE_CARD_CHECK', 'MODULE_PAYMENT_REMISE_ORDER_STATUS_ID', 'MODULE_PAYMENT_REMISE_SORT_ORDER','MODULE_PAYMENT_REMISE_ZONE');
}
}
}
?>
Bookmarks