이니시스 모듈 추가 및 모바일 결제 기능 개선
This commit is contained in:
795
shop/inicis/libs/INILib.php
Normal file
795
shop/inicis/libs/INILib.php
Normal file
@ -0,0 +1,795 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (C) 2007 INICIS Inc.
|
||||
*
|
||||
* <20>ش<EFBFBD> <20><><EFBFBD>̺귯<CCBA><EAB7AF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<C7BE><EEBCAD> <20>ȵ˴ϴ<CBB4>.
|
||||
* <20><><EFBFBD>Ƿ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ڵ忡 <20><><EFBFBD><EFBFBD> å<><C3A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>˷<EFBFBD><CBB7>帳<EFBFBD>ϴ<EFBFBD>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
require_once('INICls.php');
|
||||
require_once('INISoc.php');
|
||||
|
||||
class INIpay50
|
||||
{
|
||||
var $m_type; // <20>ŷ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
var $m_resulterrcode; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>
|
||||
var $m_connIP;
|
||||
var $m_cancelRC = 0;
|
||||
|
||||
var $m_Data;
|
||||
var $m_Log;
|
||||
var $m_Socket;
|
||||
var $m_Crypto;
|
||||
|
||||
var $m_REQUEST = array();
|
||||
var $m_REQUEST2 = array();
|
||||
var $m_RESULT = array();
|
||||
|
||||
function INIpay()
|
||||
{
|
||||
$this->UnsetField();
|
||||
}
|
||||
|
||||
function UnsetField()
|
||||
{
|
||||
unset($this->m_REQUEST);
|
||||
unset($this->m_RESULT);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* */
|
||||
/* <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> <20><>û<EFBFBD><C3BB> Set or Add */
|
||||
/* */
|
||||
/*--------------------------------------------------*/
|
||||
function SetField( $key, $val ) //Default Entity
|
||||
{
|
||||
$this->m_REQUEST[$key] = $val;
|
||||
}
|
||||
function SetXPath( $xpath, $val ) //User Defined Entity
|
||||
{
|
||||
$this->m_REQUEST2[$xpath] = $val;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* */
|
||||
/* <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> fetch */
|
||||
/* */
|
||||
/*--------------------------------------------------*/
|
||||
function GetResult( $name ) //Default Entity
|
||||
{
|
||||
$result = $this->m_RESULT[$name];
|
||||
if( $result == "" )
|
||||
$result = $this->m_Data->GetXMLData( $name );
|
||||
if( $result == "" )
|
||||
$result = $this->m_Data->m_RESULT[$name];
|
||||
return $result;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* */
|
||||
/* <20><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD> ó<><C3B3> <20><><EFBFBD><EFBFBD> */
|
||||
/* */
|
||||
/*--------------------------------------------------*/
|
||||
function startAction()
|
||||
{
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* Overhead Operation */
|
||||
/*--------------------------------------------------*/
|
||||
$this->m_Data = new INIData( $this->m_REQUEST, $this->m_REQUEST2 );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* Log Start */
|
||||
/*--------------------------------------------------*/
|
||||
$this->m_Log = new INILog( $this->m_REQUEST );
|
||||
if(!$this->m_Log->StartLog())
|
||||
{
|
||||
$this->MakeTXErrMsg( LOG_OPEN_ERR, "<EFBFBD>α<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.[".$this->m_REQUEST["inipayhome"]."]");
|
||||
return;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* Logging Request Parameter */
|
||||
/*--------------------------------------------------*/
|
||||
$this->m_Log->WriteLog( DEBUG, $this->m_REQUEST );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* Set Type */
|
||||
/*--------------------------------------------------*/
|
||||
$this->m_type = $this->m_REQUEST["type"];
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* Check Field */
|
||||
/*--------------------------------------------------*/
|
||||
if( !$this->m_Data->CheckField() )
|
||||
{
|
||||
$err_msg = "<EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>(".$this->m_Data->m_ErrMsg.")<29><> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE><EFBFBD><EFBFBD>ϴ<EFBFBD>.";
|
||||
$this->MakeTXErrMsg( $this->m_Data->m_ErrCode, $err_msg );
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "Check Field OK" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ű<><C5B0><EFBFBD><EFBFBD>. <20><><EFBFBD>⼭ <20><>!!
|
||||
/*--------------------------------------------------*/
|
||||
if( $this->m_type == TYPE_CHKFAKE )
|
||||
{
|
||||
return $this->MakeChkFake();
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//Generate TID
|
||||
/*--------------------------------------------------*/
|
||||
if( $this->m_type == TYPE_SECUREPAY || $this->m_type == TYPE_FORMPAY || $this->m_type == TYPE_OCBSAVE ||
|
||||
$this->m_type == TYPE_AUTHBILL || $this->m_type == TYPE_FORMAUTH || $this->m_type == TYPE_REQREALBILL ||
|
||||
$this->m_type == TYPE_REPAY || $this->m_type == TYPE_VACCTREPAY || $this->m_type == TYPE_RECEIPT || $this->m_type == TYPE_AUTH
|
||||
)
|
||||
{
|
||||
if(!$this->m_Data->MakeTID())
|
||||
{
|
||||
$err_msg = "TID<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD>ϴ<EFBFBD>.::".$this->m_Data->m_sTID;
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( MAKE_TID_ERR, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, 'Make TID OK '.$this->m_Data->m_sTID );
|
||||
}
|
||||
|
||||
$this->m_Crypto = new INICrypto( $this->m_REQUEST );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//PI<50><49><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
$this->m_Data->ParsePIEncrypted();
|
||||
$this->m_Log->WriteLog( INFO, "PI PUB KEY LOAD OK [".$this->m_Data->m_PIPGPubSN."]" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//PG<50><47><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Crypto->LoadPGPubKey( $pg_cert_SN )) != OK)
|
||||
{
|
||||
$err_msg = "PG<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
return;
|
||||
}
|
||||
$this->m_Data->m_TXPGPubSN = $pg_cert_SN;
|
||||
$this->m_Log->WriteLog( INFO, "PG PUB KEY LOAD OK [".$this->m_Data->m_TXPGPubSN."]" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Crypto->LoadMPrivKey()) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreePubKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "MERCHANT PRIV KEY LOAD OK" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD>(SN <20><> <20>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>!!)
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Crypto->LoadMPubKey( $m_cert_SN )) != OK)
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
return;
|
||||
}
|
||||
$this->m_Data->m_MPubSN = $m_cert_SN;
|
||||
$this->m_Log->WriteLog( INFO, "MERCHANT PUB KEY LOAD OK [".$this->m_Data->m_MPubSN."]" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȣȭ( formpay, cancel, repay, recept, inquiry, opensub)
|
||||
/*--------------------------------------------------*/
|
||||
if( $this->m_type == TYPE_CANCEL || $this->m_type == TYPE_REPAY || $this->m_type == TYPE_VACCTREPAY ||
|
||||
$this->m_type == TYPE_FORMPAY || $this->m_type == TYPE_RECEIPT ||
|
||||
$this->m_type == TYPE_CAPTURE || $this->m_type == TYPE_INQUIRY || $this->m_type == TYPE_OPENSUB ||
|
||||
($this->m_type == TYPE_ESCROW && $this->m_Data->m_EscrowType == TYPE_ESCROW_DLV ) ||
|
||||
($this->m_type == TYPE_ESCROW && $this->m_Data->m_EscrowType == TYPE_ESCROW_DNY_CNF ) ||
|
||||
$this->m_type == TYPE_REFUND
|
||||
)
|
||||
{
|
||||
if( ($rtv = $this->m_Data->MakeEncrypt( $this->m_Crypto )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD>ȣȭ <20><><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
return;
|
||||
}
|
||||
//$this->m_Log->WriteLog( DEBUG, "MAKE ENCRYPT OK" );
|
||||
$this->m_Log->WriteLog( DEBUG, "MAKE ENCRYPT OK[".$this->m_Data->m_EncBody."]" );
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Body)
|
||||
/*--------------------------------------------------*/
|
||||
$this->m_Data->MakeBody();
|
||||
$this->m_Log->WriteLog( INFO, "MAKE BODY OK" );
|
||||
//$this->m_Log->WriteLog( INFO, "MAKE BODY OK[".$this->m_Data->m_sBody."]" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD>(sign)
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Crypto->Sign( $this->m_Data->m_sBody, $sign )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Data->m_sTail = $sign;
|
||||
$this->m_Log->WriteLog( INFO, "SIGN OK" );
|
||||
//$this->m_Log->WriteLog( INFO, "SIGN OK[".$sign."]" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Head)
|
||||
/*--------------------------------------------------*/
|
||||
$this->m_Data->MakeHead();
|
||||
$this->m_Log->WriteLog( INFO, "MAKE HEAD OK" );
|
||||
//$this->m_Log->WriteLog( INFO, "MAKE HEAD OK[".$head."]" );
|
||||
|
||||
$this->m_Log->WriteLog( INFO, "MSG_TO_PG:[".$this->m_Data->m_sMsg."]" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
//DRPG <20><><EFBFBD><EFBFBD>, added 07.11.15
|
||||
//<2F><><EFBFBD>ҽ<EFBFBD>-PG<50><47><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>->IP), edited 10.09.09
|
||||
if( $this->m_type == TYPE_SECUREPAY )
|
||||
{
|
||||
if( $this->m_REQUEST["pgn"] == "" )
|
||||
$host = $this->m_Data->m_PG1;
|
||||
else
|
||||
$host = $this->m_REQUEST["pgn"];
|
||||
}
|
||||
else
|
||||
{
|
||||
if( $this->m_REQUEST["pgn"] == "" )
|
||||
{
|
||||
if( $this->m_cancelRC == 1 )
|
||||
$host = DRPG_IP;
|
||||
else
|
||||
$host = PG_IP;
|
||||
}
|
||||
else
|
||||
$host = $this->m_REQUEST["pgn"];
|
||||
}
|
||||
|
||||
$this->m_Socket = new INISocket($host);
|
||||
if( ($rtv = $this->m_Socket->DNSLookup()) != OK )
|
||||
{
|
||||
$err_msg = "[".$host."]DNS LOOKUP <20><><EFBFBD><EFBFBD>(MAIN)".$this->m_Socket->getErr();
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
if( $this->m_type == TYPE_SECUREPAY ) //PI<50>ϰ<EFBFBD><CFB0><EFBFBD>, PI<50><49> <20><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> pg1ip<69><70>!
|
||||
{
|
||||
$this->m_Socket->ip = $this->m_Data->m_PG1IP;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( $this->m_cancelRC == 1 )
|
||||
$this->m_Socket->ip = DRPG_IP;
|
||||
else
|
||||
$this->m_Socket->ip = PG_IP;
|
||||
}
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "DNS LOOKUP OK(".$this->m_Socket->host.":".$this->m_Socket->ip.":".$this->m_Socket->port.") laptime:".$this->m_Socket->dns_laptime );
|
||||
if( ($rtv = $this->m_Socket->open()) != OK )
|
||||
{
|
||||
$this->m_Socket->close();
|
||||
|
||||
//PG2<47><32> <20><>ȯ
|
||||
$err_msg = "[".$host."<EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(MAIN)::PG2<47><32> <20><>ȯ";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
if( $this->m_type == TYPE_SECUREPAY )
|
||||
{
|
||||
$host = $this->m_Data->m_PG2;
|
||||
}
|
||||
else
|
||||
{
|
||||
$host = DRPG_HOST;
|
||||
}
|
||||
$this->m_Socket = new INISocket($host);
|
||||
if( ($rtv = $this->m_Socket->DNSLookup()) != OK )
|
||||
{
|
||||
$err_msg = "[".$host."]DNS LOOKUP <20><><EFBFBD><EFBFBD>(MAIN)".$this->m_Socket->getErr();
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
if( $this->m_type == TYPE_SECUREPAY ) //PI<50>ϰ<EFBFBD><CFB0><EFBFBD>, PI<50><49> <20><><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD> pg2ip<69><70>!
|
||||
{
|
||||
$this->m_Socket->ip = $this->m_Data->m_PG2IP;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->m_Socket->ip = DRPG_IP;
|
||||
}
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "DNS LOOKUP OK(".$this->m_Socket->host.":".$this->m_Socket->ip.":".$this->m_Socket->port.") laptime:".$this->m_Socket->dns_laptime );
|
||||
if( ($rtv = $this->m_Socket->open()) != OK )
|
||||
{
|
||||
$err_msg = "[".$host."<EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(MAIN)::".$this->m_Socket->getErr();
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Socket->close();
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
}
|
||||
$this->m_connIP = $this->m_Socket->ip;
|
||||
$this->m_Log->WriteLog( INFO, "SOCKET CONNECT OK" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Socket->send($this->m_Data->m_sMsg)) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD>ϼ۽ſ<EFBFBD><EFBFBD><EFBFBD>(MAIN)::".$this->m_Socket->getErr();
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
$this->m_Socket->close();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "SEND OK" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Socket->recv($head, $body, $tail)) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD>ſ<EFBFBD><EFBFBD><EFBFBD>(MAIN)::".$this->m_Socket->getErr();
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
$this->NetCancel();
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "RECV OK" );
|
||||
$this->m_Log->WriteLog( INFO, "MSG_FROM_PG:[".$head.$body.$tail."]" );
|
||||
$this->m_Data->m_Body = $body;
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD>Ȯ<EFBFBD><C8AE>
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Crypto->Verify( $body, $tail )) != OK )
|
||||
{
|
||||
$err_msg = "VERIFY FAIL";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
$this->NetCancel();
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "VERIFY OK" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//Head <20>Ľ<EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Data->ParseHead( $head )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(HEAD) <20>Ľ<EFBFBD> <20><><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
$this->NetCancel();
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "PARSE HEAD OK" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//Body <20>Ľ<EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Data->ParseBody( $body, $encrypted, $sessionkey )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Body) <20>Ľ<EFBFBD> <20><><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
$this->NetCancel();
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "PARSE BODY OK" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><>ȣȭ
|
||||
/*--------------------------------------------------*/
|
||||
if( $this->m_type == TYPE_SECUREPAY || $this->m_type == TYPE_FORMPAY || $this->m_type == TYPE_OCBSAVE ||
|
||||
$this->m_type == TYPE_CANCEL || $this->m_type == TYPE_AUTHBILL || $this->m_type == TYPE_FORMAUTH ||
|
||||
$this->m_type == TYPE_REQREALBILL || $this->m_type == TYPE_REPAY || $this->m_type == TYPE_VACCTREPAY || $this->m_type == TYPE_RECEIPT ||
|
||||
$this->m_type == TYPE_AUTH || $this->m_type == TYPE_CAPTURE || $this->m_type == TYPE_ESCROW ||
|
||||
$this->m_type == TYPE_REFUND || $this->m_type == TYPE_INQUIRY || $this->m_type == TYPE_OPENSUB
|
||||
)
|
||||
{
|
||||
if( ($rtv = $this->m_Crypto->Decrypt( $sessionkey, $encrypted, $decrypted )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD>ȣȭ <20><><EFBFBD><EFBFBD>[".$this->GetResult(NM_RESULTMSG)."]";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
$this->NetCancel();
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "DECRYPT OK" );
|
||||
$this->m_Log->WriteLog( DEBUG, "DECRYPT MSG:[".$decrypted."]" );
|
||||
|
||||
//Parse Decrypt
|
||||
$this->m_Data->ParseDecrypt( $decrypted );
|
||||
$this->m_Log->WriteLog( INFO, "DECRYPT PARSE OK" );
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//Assign Interface Variables
|
||||
/*--------------------------------------------------*/
|
||||
$this->m_RESULT = $this->m_Data->m_RESULT;
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//ACK
|
||||
/*--------------------------------------------------*/
|
||||
//if( $this->GetResult(NM_RESULTCODE) == "00" &&
|
||||
if( (strcmp($this->GetResult(NM_RESULTCODE),"00") == 0) &&
|
||||
( $this->m_type == TYPE_SECUREPAY || $this->m_type == TYPE_OCBSAVE ||
|
||||
$this->m_type == TYPE_FORMPAY || $this->m_type == TYPE_RECEIPT
|
||||
)
|
||||
)
|
||||
{
|
||||
$this->m_Log->WriteLog( INFO, "WAIT ACK INVOKING" );
|
||||
if( ($rtv = $this->Ack()) != OK )
|
||||
{
|
||||
//ERROR
|
||||
$err_msg = "ACK <20><><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
$this->NetCancel();
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "SUCCESS ACK INVOKING" );
|
||||
}
|
||||
/*--------------------------------------------------*/
|
||||
//PG <20><><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20>ٲ<EFBFBD><D9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ű UPDATE
|
||||
/*--------------------------------------------------*/
|
||||
$pgpubkey = $this->m_Data->GetXMLData( NM_PGPUBKEY );
|
||||
if( $pgpubkey != "" )
|
||||
{
|
||||
if( ($rtv = $this->m_Crypto->UpdatePGPubKey( $pgpubkey )) != OK )
|
||||
{
|
||||
$err_msg = "PG<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->m_Data->GTHR( $rtv, $err_msg );
|
||||
}
|
||||
else
|
||||
$this->m_Log->WriteLog( INFO, "PGPubKey UPDATED!!" );
|
||||
}
|
||||
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
$this->m_Socket->close();
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD>ҽ<EFBFBD><D2BD><EFBFBD>-<2D><><EFBFBD>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD> DRPG<50><47> <20><><EFBFBD>õ<EFBFBD>
|
||||
//2008.04.01
|
||||
/*--------------------------------------------------*/
|
||||
if( $this->GetResult(NM_RESULTCODE) == "01" && ($this->m_type == TYPE_CANCEL || $this->m_type == TYPE_INQUIRY) && $this->m_cancelRC == 0 )
|
||||
{
|
||||
if( intval($this->GetResult(NM_ERRORCODE)) > 400000 && substr( $this->GetResult(NM_ERRORCODE), 3, 3 ) == "623" )
|
||||
{
|
||||
$this->m_cancelRC = 1;
|
||||
$this->startAction();
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
} // End of StartAction
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* */
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ÿ <20><><EFBFBD><EFBFBD> */
|
||||
/* */
|
||||
/*--------------------------------------------------*/
|
||||
function MakeChkFake()
|
||||
{
|
||||
$this->m_Crypto = new INICrypto( $this->m_REQUEST );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD>
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Crypto->LoadMPrivKey()) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreePubKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "MERCHANT PRIV KEY LOAD OK" );
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD>(SN <20><> <20>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>!!)
|
||||
/*--------------------------------------------------*/
|
||||
if( ($rtv = $this->m_Crypto->LoadMPubKey( $m_cert_SN )) != OK)
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű <20>ε<EFBFBD><CEB5><EFBFBD><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "MERCHANT PUB KEY LOAD OK [".$this->m_Data->m_MPubSN."]" );
|
||||
|
||||
foreach ($this->m_REQUEST as $key => $val)
|
||||
{
|
||||
if( $key == "inipayhome" || $key == "type" || $key == "debug" ||
|
||||
$key == "admin" || $key == "checkopt" || $key == "enctype" )
|
||||
continue;
|
||||
if( $key == "mid" )
|
||||
$temp1 .= $key."=".$val."&"; //msg
|
||||
else
|
||||
$temp2 .= $key."=".$val."&"; //hashmsg
|
||||
}
|
||||
//Make RN
|
||||
$this->m_RESULT["rn"] = $this->m_Data->MakeRN();
|
||||
$temp1 .= "rn=".$this->m_RESULT["rn"]."&";
|
||||
|
||||
$checkMsg = $temp1;
|
||||
$checkHashMsg = $temp2;
|
||||
|
||||
$retHashStr = Base64Encode(sha1( $checkHashMsg, TRUE ));
|
||||
$checkMsg .= "data=".$retHashStr;
|
||||
|
||||
$HashMid = Base64Encode(sha1( $this->m_REQUEST["mid"], TRUE ));
|
||||
|
||||
$this->m_Crypto->RSAMPrivEncrypt( $checkMsg, $RSATemp );
|
||||
$this->m_RESULT["encfield"] = "enc=".$RSATemp."&src=".Base64Encode($checkHashMsg);
|
||||
$this->m_RESULT["certid"] = $HashMid.$m_cert_SN;
|
||||
|
||||
$this->m_Log->WriteLog( INFO, "CHKFAKE KEY MAKE OK:".$this->m_RESULT["rn"] );
|
||||
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
$this->m_RESULT[NM_RESULTCODE] = "00";
|
||||
return;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* */
|
||||
/* <20><><EFBFBD><EFBFBD>ó<EFBFBD><C3B3> Ȯ<><C8AE> <20><EFBFBD><DEBC><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||
/* */
|
||||
/*--------------------------------------------------*/
|
||||
function Ack()
|
||||
{
|
||||
//ACK<43><4B> Data
|
||||
$this->m_Data->m_sBody = "";
|
||||
$this->m_Data->m_sTail = "";
|
||||
$this->m_Data->m_sCmd = CMD_REQ_ACK;
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Head)
|
||||
$this->m_Data->MakeHead();
|
||||
$this->m_Log->WriteLog( DEBUG, "MAKE HEAD OK" );
|
||||
//$this->m_Log->WriteLog( DEBUG, "MSG_TO_PG:[".$this->m_Data->m_sMsg."]" );
|
||||
|
||||
//Send
|
||||
if( ($rtv = $this->m_Socket->send($this->m_Data->m_sMsg)) != OK )
|
||||
{
|
||||
$err_msg = "ACK <20><><EFBFBD>ۿ<EFBFBD><DBBF><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
return ACK_CHECKSUM_ERR;
|
||||
}
|
||||
//$this->m_Log->WriteLog( DEBUG, "SEND OK" );
|
||||
|
||||
if( ($rtv = $this->m_Socket->recv($head, $body, $tail)) != OK )
|
||||
{
|
||||
$err_msg = "ACK <20><><EFBFBD>ſ<EFBFBD><C5BF><EFBFBD>(ACK)";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
return ACK_CHECKSUM_ERR;
|
||||
}
|
||||
//$this->m_Log->WriteLog( DEBUG, "RECV OK" );
|
||||
//$this->m_Log->WriteLog( INFO, "MSG_FROM_PG:[".$recv."]" );
|
||||
return OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* */
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><DEBC><EFBFBD> <20><><EFBFBD><EFBFBD> */
|
||||
/* */
|
||||
/*--------------------------------------------------*/
|
||||
function NetCancel()
|
||||
{
|
||||
$this->m_Log->WriteLog( INFO, "WAIT NETCANCEL INVOKING" );
|
||||
|
||||
if ( $this->m_type == TYPE_CANCEL || $this->m_type == TYPE_REPAY || $this->m_type == TYPE_VACCTREPAY || $this->m_type == TYPE_RECEIPT ||
|
||||
$this->m_type == TYPE_CONFIRM || $this->m_type == TYPE_OCBQUERY || $this->m_type == TYPE_ESCROW ||
|
||||
$this->m_type == TYPE_CAPTURE || $this->m_type == TYPE_AUTH || $this->m_type == TYPE_AUTHBILL ||
|
||||
($this->m_type == TYPE_ESCROW && $this->m_Data->m_EscrowType == TYPE_ESCROW_DNY_CNF ) ||
|
||||
$this->m_type == TYPE_NETCANCEL
|
||||
)
|
||||
{
|
||||
$this->m_Log->WriteLog( INFO, "DON'T NEED NETCANCEL" );
|
||||
return true;
|
||||
}
|
||||
|
||||
//NetCancel<65><6C> Data
|
||||
$this->m_Data->m_REQUEST["cancelmsg"] = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||
$body = "";
|
||||
$sign = "";
|
||||
|
||||
$this->m_Data->m_Type = TYPE_CANCEL; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD>..<2E><>~
|
||||
|
||||
//added escrow netcancel, 08.03.11
|
||||
if( $this->m_type == TYPE_ESCROW && $this->m_Data->m_EscrowType == TYPE_ESCROW_DLV )
|
||||
$this->m_Data->m_sCmd = CMD_REQ_DLV_NETC;
|
||||
else if($this->m_type == TYPE_ESCROW && $this->m_Data->m_EscrowType == TYPE_ESCROW_CNF )
|
||||
$this->m_Data->m_sCmd = CMD_REQ_CNF_NETC;
|
||||
else if($this->m_type == TYPE_ESCROW && $this->m_Data->m_EscrowType == TYPE_ESCROW_DNY )
|
||||
$this->m_Data->m_sCmd = CMD_REQ_DNY_NETC;
|
||||
else
|
||||
$this->m_Data->m_sCmd = CMD_REQ_NETC;
|
||||
|
||||
$this->m_Data->m_sCrypto = FLAG_CRYPTO_3DES;
|
||||
|
||||
//<2F><>ȣȭ
|
||||
if( ($rtv = $this->m_Data->MakeEncrypt( $this->m_Crypto )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD>ȣȭ <20><><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
//$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( DEBUG, "MAKE ENCRYPT OK[".$this->m_Data->m_EncBody."]" );
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Body)
|
||||
$this->m_Data->MakeBody();
|
||||
$this->m_Log->WriteLog( INFO, "MAKE BODY OK" );
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>(sign)
|
||||
if( ($rtv = $this->m_Crypto->Sign( $this->m_Data->m_sBody, $sign )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
//$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
return false;
|
||||
}
|
||||
$this->m_Data->m_sTail = $sign;
|
||||
$this->m_Log->WriteLog( INFO, "SIGN OK" );
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Head)
|
||||
$this->m_Data->MakeHead();
|
||||
$this->m_Log->WriteLog( INFO, "MAKE HEAD OK" );
|
||||
|
||||
$this->m_Log->WriteLog( DEBUG, "MSG_TO_PG:[".$this->m_Data->m_sMsg."]" );
|
||||
|
||||
//<2F><><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD>
|
||||
$this->m_Socket = new INISocket("");
|
||||
$this->m_Socket->ip = $this->m_connIP; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP <20><><EFBFBD><EFBFBD>, 08.03.12
|
||||
if( ($rtv = $this->m_Socket->open()) != OK )
|
||||
{
|
||||
$err_msg = "[".$this->m_Socket->ip."]<5D><><EFBFBD>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(NETC)::".$this->m_Socket->getErr();
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
//$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Log->CloseLog( $this->GetResult(NM_RESULTMSG) );
|
||||
$this->m_Socket->close();
|
||||
$this->m_Crypto->FreeAllKey();
|
||||
return;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "SOCKET CONNECT OK::".$this->m_Socket->ip );
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>۽<EFBFBD>
|
||||
if( ($rtv = $this->m_Socket->send($this->m_Data->m_sMsg)) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD>ϼ۽ſ<EFBFBD><EFBFBD><EFBFBD>(NETC)".$this->m_Socket->getErr();
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
//$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
return false;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "SEND OK" );
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if( ($rtv = $this->m_Socket->recv($head, $body, $tail)) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD>ſ<EFBFBD><EFBFBD><EFBFBD>(NETC)";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
//$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
return false;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "RECV OK" );
|
||||
$this->m_Log->WriteLog( DEBUG, "MSG_FROM_PG:[".$head.$body.$tail."]" );
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD>Ȯ<EFBFBD><C8AE>
|
||||
if( ($rtv = $this->m_Crypto->Verify( $body, $tail )) != OK )
|
||||
{
|
||||
$err_msg = "VERIFY FAIL";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
//$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
return false;
|
||||
}
|
||||
$this->m_Log->WriteLog( INFO, "VERIFY OK" );
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ľ<EFBFBD><C4BD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>!!!!
|
||||
//<2F>׳<EFBFBD> <20><><EFBFBD>⼭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ǰ<EFBFBD><C7B0>ϴ<EFBFBD>.-_-;;
|
||||
//Head <20>Ľ<EFBFBD>
|
||||
if( ($rtv = $this->m_Data->ParseHead( $head )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(HEAD) <20>Ľ<EFBFBD> <20><><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
//$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
return;
|
||||
}
|
||||
//Body <20>Ľ<EFBFBD>
|
||||
if( ($rtv = $this->m_Data->ParseBody( $body, $encrypted, $sessionkey )) != OK )
|
||||
{
|
||||
$err_msg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Body) <20>Ľ<EFBFBD> <20><><EFBFBD><EFBFBD>";
|
||||
$this->m_Log->WriteLog( ERROR, $err_msg );
|
||||
//$this->MakeTXErrMsg( $rtv, $err_msg );
|
||||
$this->m_Socket->close();
|
||||
return;
|
||||
}
|
||||
|
||||
//if( $this->GetResult(NM_RESULTCODE) == "00" )
|
||||
if(strcmp($this->GetResult(NM_RESULTCODE),"00") == 0)
|
||||
$this->m_Log->WriteLog( INFO, "SUCCESS NETCANCEL" );
|
||||
else
|
||||
$this->m_Log->WriteLog( ERROR, "ERROR NETCANCEL[".$this->GetResult(NM_RESULTMSG)."]" );
|
||||
return true;
|
||||
}
|
||||
|
||||
function MakeIMStr($s, $t)
|
||||
{
|
||||
$this->m_Crypto = new INICrypto( $this->m_REQUEST );
|
||||
if( $t == "H" )
|
||||
return $this->m_Crypto->MakeIMStr($s, base64_decode(IMHK));
|
||||
else if( $t == "J" )
|
||||
return $this->m_Crypto->MakeIMStr($s, base64_decode(IMJK));
|
||||
}
|
||||
|
||||
/*--------------------------------------------------*/
|
||||
/* */
|
||||
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEBC><EFBFBD> Make */
|
||||
/* */
|
||||
/*--------------------------------------------------*/
|
||||
function MakeTXErrMsg($err_code, $err_msg)
|
||||
{
|
||||
$this->m_RESULT[NM_RESULTCODE] = "01";
|
||||
$this->m_RESULT[NM_RESULTERRORCODE] = $err_code;
|
||||
$this->m_RESULT[NM_RESULTMSG] = "[".$err_code."|".$err_msg."]";
|
||||
$this->m_Data->GTHR( $err_code, $err_msg );
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user