Commit b43f4c5b authored by iWallet Dev's avatar iWallet Dev

Initial Commit

parents

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

This diff is collapsed.
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*)$ $1.php [L]
#ErrorDocument 503 https://secure.iwl.world/maintenance.html
#RewriteCond %{REQUEST_URI} !^/css/
#RewriteCond %{REQUEST_URI} !^/js/
#RewriteCond %{REQUEST_URI} !^/img/
#RewriteCond %{REQUEST_URI} !^/maintenance
##RewriteCond %{REMOTE_ADDR} !^(180\.167\.5\.38|121\.58\.255\.132|121\.58\.255\.29|211\.75\.187\.157|116\.228\.139\.34|116\.228\.133\.234)$
#RewriteCond %{REMOTE_ADDR} !^(180\.167\.5\.38|116\.228\.139\.34|116\.228\.133\.234|121\.58\.255\.132|11\.75\.187\.157|219\.90\.127\.39|219\.90\.127\.42|185\.147\.172\.132|185\.147\.174\.132)$
#RewriteRule ^.*$ - [R=503,L]
order allow,deny
allow from all
deny from 170.187.240.158
<?php
require_once('config.php');
class APICardBalance extends System {
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
function action() {
// 変数宣言部
$rtn = array(PARAM_RESULT => NO_COUNT);
$xml = NO_STRING;
$cardHolderId = $this -> getDataPost(PARAM_CARD_HOLDER_ID);
try {
if($cardHolderId == NO_STRING) {
throw new Exception(NO_STRING);
}
$xml = '<CardInquiry><Cardholderid>' . $cardHolderId . '</Cardholderid></CardInquiry>';
// $xml = '<CardInquiry><Cardholderid>400000542107</Cardholderid></CardInquiry>';
// 送信データの生成
$post = array('Username' => VAR_CARD_API_USER_NAME
, 'Password' => VAR_CARD_API_PASSWORD
, 'APISigniture' => 'CardInquiry'
, 'MessageID' => $this -> getSequenceNo(CARD_MESSAGE_ID)
, 'Data' => $xml
);
// ポスト送信
$url = VAR_CARD_API_URL;
$client = new SoapClient($url);
$result = $client -> Process($post);
$result = simplexml_load_string($result -> ProcessResult);
$result = get_object_vars($result);
// エラーがないか確認する
if($this -> getColumnData($result, 'ErrorCode') == '0000') { // 取得成功
$result = $this -> getColumnData($result, 'CardInquiry');
if(is_object($result)) {
$result = get_object_vars($result);
$result = $this -> getColumnData($result, 'cardinfo');
if(is_object($result)) {
$result = get_object_vars($result);
$result = $this -> getColumnData($result, 'AvailBal');
$rtn[PARAM_RESULT] = $this -> intToCurrency(intval($result), USD);
}
}
} else { // 取得失敗
}
} catch(Exception $e) {
return $rtn;
}
return $rtn;
}
}
?>
<?php
require_once('config.php');
class APICardDeposit extends System {
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
function action() {
// 変数宣言部
$rtn = array(PARAM_RESULT => array());
$xml = NO_STRING;
$cardHolderId = $this -> getDataPost(PARAM_CARD_HOLDER_ID);
$amount = $this -> getDataPost(PARAM_AMOUNT);
try {
// if($cardHolderId == NO_STRING) {
// throw new Exception(NO_STRING);
// }
$xml = '<DepositToCard><Cardholderid>' . $cardHolderId . '</Cardholderid><Amount>' . $amount . '</Amount><TransactionType>0</TransactionType><CurrencyCode>USD</CurrencyCode><SettlementAmount>0</SettlementAmount><SettlementCurrencyCode>USD</SettlementCurrencyCode><TransactionDescription>Deposit To Card API</TransactionDescription></DepositToCard>';
// $xml = '<DepositToCard><Cardholderid>400000542107</Cardholderid><Amount>1000</Amount><TransactionType>0</TransactionType><CurrencyCode>GBP</CurrencyCode><SettlementAmount>0</SettlementAmount><SettlementCurrencyCode>GBP</SettlementCurrencyCode><TransactionDescription>Deposit To Card API</TransactionDescription></DepositToCard>';
// 送信データの生成
$post = array('Username' => VAR_CARD_API_USER_NAME
, 'Password' => VAR_CARD_API_PASSWORD
, 'APISigniture' => 'DepositToCard'
, 'MessageID' => $this -> getSequenceNo(CARD_MESSAGE_ID)
, 'Data' => $xml
);
// ポスト送信
$url = VAR_CARD_API_URL;
$client = new SoapClient($url);
$result = $client -> Process($post);
$rtn[PARAM_DATA] = $result;
$result = simplexml_load_string($result -> ProcessResult);
$result = get_object_vars($result);
// エラーがないか確認する
if($this -> getColumnData($result, 'ErrorCode') == '0000') { // 取得成功
$rtn[PARAM_RESULT] = PARAM_SUCCESS;
$rtn[PARAM_CODE] = $this -> getColumnData($result, 'ErrorCode');
} else { // 取得失敗
$rtn[PARAM_RESULT] = PARAM_NG;
$rtn[PARAM_CODE] = $this -> getColumnData($result, 'ErrorCode');
}
} catch(Exception $e) {
$rtn[PARAM_RESULT] = PARAM_NG;
$rtn[PARAM_CODE] = '9999';
}
return $rtn;
}
}
?>
<?php
$rtn = array('test' => 'test');
echo json_encode($rtn);
?>
<?php
/*error_reporting(E_ALL);
ini_set('display_errors', '1');*/
date_default_timezone_set('Asia/Tokyo');
include_once('../system/lib/config.php');
$system = new System();
//根据内置方法取番号
$transaction_number = $system-> getTransactionNumberCommon(VAR_TRANSACTION_DEPOSIT);
//$transaction_number = trim(trim(date('YmdHis',time())).mt_rand(10000,99999));
$sqlObject = new mysql($system->getConfigValue(SECTION_DB,HOST_NAME),$system->getConfigValue(SECTION_DB,USER_NAME),$system->getConfigValue(SECTION_DB,LOGIN_PASS),$system->getConfigValue(SECTION_DB,TARGET_DB_NAME),'','UTF8');
//获取账号信息
$system -> account = $system -> getRowData($system -> getAccountCommon($system -> getUserData(PARAM_USER_ACCOUNT)));
$accountType = $system -> getColumnData($system -> account,'account_type');
//格式化要发送的数据
$system->gateway = $system -> getColumnData($CUP,'Merchant_gateWay');
$system->arrSysRegister['version'] = $system -> getColumnData($CUP['Post'],'version');
$system->arrSysRegister['action'] = $system -> getColumnData($CUP['Post'],'action');
$system->arrSysRegister['merch_id'] = $system -> getColumnData($CUP['Post'],'merch_id');
$system->arrSysRegister['term_id'] = $system -> getColumnData($CUP['Post'],'term_id');
$system->arrSysRegister['access_id'] = $system -> getColumnData($CUP['Post'],'access_id');
$system->arrSysRegister['locale'] = $system -> getColumnData($CUP['Post'],'locale');
$system->arrSysRegister['pay_type'] = $system -> getColumnData($CUP['Post'],'pay_type');
$system->arrSysRegister['currency'] = $system -> getColumnData($CUP['Post'],'currency');
$system->arrSysRegister['pay_item'] = $system -> getColumnData($CUP['Post'],'pay_item');
$system->arrSysRegister['bill_to_street'] = $system -> getColumnData($_SESSION['CUP_Data'],'address');
$system->arrSysRegister['bill_to_city'] = $system -> getColumnData($_SESSION['CUP_Data'],'city');
$system->arrSysRegister['bill_to_postal_code'] = $system -> getColumnData($_SESSION['CUP_Data'],'zip');
$system->arrSysRegister['bill_to_country_code'] = $system -> getColumnData($_SESSION['CUP_Data'],'Country');
$system->arrSysRegister['phone_no'] = $system -> getColumnData($_SESSION['CUP_Data'],'tel');
$system->arrSysRegister['return_url'] = str_replace('{lang}', $system -> getColumnData($_SESSION['CUP_Data'],'lang'), $CUP['ReturnURL']);
$system->arrSysRegister['amount'] = $system -> getColumnData($_SESSION['CUP_Data'],'Actual') * 100;
$system->arrSysRegister['merch_order_id'] = $transaction_number;
$system->arrSysRegister['bill_to_first_name'] = $system -> getColumnData($_SESSION['CUP_Data'],'firstName');
$system->arrSysRegister['bill_to_last_name'] = $system -> getColumnData($_SESSION['CUP_Data'],'lastName');
$system->arrSysRegister['bill_to_email_address'] = $system -> getColumnData($_SESSION['CUP_Data'],'mail');
$system->arrSysRegister['remark'] = $system -> getColumnData($_SESSION['CUP_Data'],'lang');
$system->arrSysRegister['pay_item'] = $system -> getColumnData($_SESSION['CUP_Data'],'lang');
error_log(date("[Y-m-d H:i:s]")."订单".$transaction_number."发送的request变量为\r\n" . print_r($system->arrSysRegister,true)."\r\n", 3, 'Logs'.DIRECTORY_SEPARATOR.'CUP'.DIRECTORY_SEPARATOR.'request'.DIRECTORY_SEPARATOR.'Log_'.date("Y-m-d").'.log');
/*echo $system->gateway;
echo "<br>";
foreach($system->arrSysRegister as $key=>$value){
echo $key."----".$value;
echo "<br>";
}
exit();*/
//模型化入数据库
$CUP['Model']['transaction_number'] = $transaction_number;
$CUP['Model']['user_account'] = $system -> getColumnData($_SESSION['CUP_Data'],'user_account');
$CUP['Model']['amount'] = $system -> getColumnData($_SESSION['CUP_Data'],'amount')*100;
$CUP['Model']['currency'] = $system -> getColumnData($_SESSION['CUP_Data'],'currency');
$CUP['Model']['method'] = $system -> getColumnData($_SESSION['CUP_Data'],'method');
$CUP['Model']['deposit_bank'] = $system -> getColumnData($_SESSION['CUP_Data'],'method');
$CUP['Model']['deposit_date'] = date("Y-m-d H:i:s");
$CUP['Model']['fee'] = '0';
$CUP['Model']['message'] = $system -> getColumnData($_SESSION['CUP_Data'],'message');
$CUP['Model']['comment'] = '';
$CUP['Model']['create_time'] = date("Y-m-d H:i:s");
$CUP['Model']['process_user'] = '9999';
$CUP['Model']['type'] = '0';
$CUP['Model']['err_flg'] = '0';
$sql = "insert into t_deposit_cup_temporary ";
//进deposit表的sql方法
$strsql = $sqlObject->Insertsql($CUP['Model']);
$sql .= $strsql;
$sqlObject->query($sql);
//echo $sql;
error_log(date("[Y-m-d H:i:s]")."订单".SITE_SHORT_NAME.$transaction_number."的数据库CUP临时表插入记录为\r\n" . "$sql\r\n", 3, 'Logs'.DIRECTORY_SEPARATOR.'CUP'.DIRECTORY_SEPARATOR.'DB'.DIRECTORY_SEPARATOR.'Log_'.date("Y-m-d").'.log');
$response = $system -> curl();
?>
<body onload='document.CUPForm.submit();'>
<?php echo $response; ?>
</body>
\ No newline at end of file
<?php
include_once('../system/lib/config.php');
$sys = new System();
// 変数宣言部
$rtn = array(PARAM_RESULT => array());
$xml = NO_STRING;
$cardHolderId = $sys -> getDataPost(PARAM_CARD_HOLDER_ID);
$startDate = $sys -> getDataPost(PARAM_FROM);
$endDate = $sys -> getDataPost(PARAM_TO);
try {
// if($cardHolderId == NO_STRING) {
// throw new Exception(NO_STRING);
// }
$xml = '<ViewStatement><Cardholderid>' . $cardHolderId . '</Cardholderid><StartDate>' . $startDate . '</StartDate><EndDate>' . $endDate . '</EndDate><ViewStyle>Y</ViewStyle>ss</ViewStatement>';
// $xml = '<ViewStatement><Cardholderid>400000542107</Cardholderid><StartDate>2015-07-01</StartDate><EndDate>2015-07-31</EndDate><ViewStyle>Y</ViewStyle>ss</ViewStatement>';
// 送信データの生成
$post = array('Username' => VAR_CARD_API_USER_NAME
, 'Password' => VAR_CARD_API_PASSWORD
, 'APISigniture' => 'ViewStatement'
, 'MessageID' => $sys -> getSequenceNo(CARD_MESSAGE_ID)
, 'Data' => $xml
);
// ポスト送信
$url = VAR_CARD_API_URL;
$client = new SoapClient($url);
$result = $client -> Process($post);
$result = simplexml_load_string($result -> ProcessResult);
$result = get_object_vars($result);
// エラーがないか確認する
if($sys -> getColumnData($result, 'ErrorCode') == '0000') { // 取得成功
$result = $sys -> getColumnData($result, 'ViewStatement');
if(is_object($result)) {
$result = get_object_vars($result);
$result = $sys -> getColumnData($result, 'cardholderstatementdetails');
if(is_object($result)) {
$result = get_object_vars($result);
$result = $sys -> getColumnData($result, 'cardpan');
if(is_object($result)) {
$result = get_object_vars($result);
$result = $sys -> getColumnData($result, 'cardaccount');
// データが存在する場合
if($sys -> isLoopData($result)) {
// データの数だけループ
foreach($result as $row) {
if(is_object($row)) {
$transaction = get_object_vars($row -> transactionlist -> transaction);
// print_r($transaction);
$rtn[PARAM_RESULT][] = array(PARAM_DATE => $transaction['date']
, 'description' => $transaction['description']
, PARAM_AMOUNT => $transaction['amount']
, PARAM_FEE => $transaction['fee']
, PARAM_BALANCE => $transaction['availablebalance']
, 'AuthNum' => $transaction['AuthNum']
, 'rspcode' => $transaction['rspcode']
, 'termcountry' => $transaction['termcountry']
, 'termnamelocation' => $transaction['termnamelocation']
, 'issuerfee' => $transaction['issuerfee']
);
}
}
}
}
}
}
} else { // 取得失敗
}
} catch(Exception $e) {
}
echo json_encode($rtn);
?>
<?php
require_once('config.php');
class CheckAccount extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'C' . $this -> account);
}
// エラーチェック
$this -> validate();
// 変数宣言部
$rs = $this -> getAccountCommon($this -> account);
if(!$this -> isLoopData($rs)) {
throw new Exception('E_ERROR_NOT_EXIST');
}
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
}
}
$api = new CheckAccount();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
require_once('CheckCardLoadBase.php');
class APICheckCardLoad extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// エラーチェック
$this -> validate();
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {}
}
try {
$api = new APICheckCardLoad();
$api -> action();
// チェックロジック
$api = new APICheckCardLoadBase();
$api -> action();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'digit' => $api -> getCardDigtCommon($api -> getDataPost(PARAM_CARD_HOLDER_ID))
, 'debit_currency' => $api -> getDebitCurrency()
, 'debit_amount' => $api -> getDebitAmount()
, 'rate' => $api -> getRateEx()
, 'fee_currency' => 'USD'
, 'fee_Amount' => $api -> getFeeEx()
, 'load_amount' => $api -> getToAmount()));
} catch (Exception $e) { // チェックエラー
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
?>
\ No newline at end of file
<?php
require_once('config.php');
class APICheckCardLoadBase extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $cardHolderId = NO_STRING;
private $amount = NO_STRING;
private $debitCurrency = NO_STRING;
private $debitAmount = NO_STRING;
private $toAmount = NO_STRING;
private $cards = NO_STRING;
private $balance = NO_STRING;
private $transferType = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> cardHolderId = $this -> getDataPost(PARAM_CARD_HOLDER_ID);
$this -> amount = $this -> getDataPost(PARAM_AMOUNT);
$this -> debitCurrency = strtoupper($this -> getDataPost(PARAM_DEBIT_CURRENCY));
$this -> debitAmount = $this -> getDataPost(PARAM_DEBIT_AMOUNT);
$this -> transferType = $this -> getDataPost(PARAM_TRANSFER_TYPE);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'C' . $this -> account);
}
// エラーチェック
$this -> validate();
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
// 口座ステータスチェック
if(!$this -> checkAccountStatus($this -> account, VAR_TRANSACTION_WITHDRAW)) {
throw new Exception(VAL_INT_99);
}
// カード所持確認
$this -> cards = $this -> getCardsCommon($this -> account);
if(!$this -> isLoopData($this -> cards)) {
throw new Exception('E_DONT_HOLD_CARD');
}
// 制限口座のチェック(出金確認時)
if(!$this -> checkWithdrawLimit($this -> account
, $this -> debitCurrency
, $this -> currencyToInt(floatval($this -> amount), $this -> debitCurrency))) {
throw new Exception('E_LIMIT_WITHDRAW');
}
// 金額のチェック
if(!$this -> checkNull($this -> amount)) {
throw new Exception('E_REQUIRED_VALUE');
}
// 必須項目
// debit口座のチェック
if(!$this -> checkNull($this -> debitCurrency)) {
throw new Exception('E_REQUIRED_VALUE');
}
// 金額の正規表現チェック
if(!$this -> checkStringNumber($this -> amount)) {
throw new Exception('E_ERROR_REGULAR_NUMBER');
}
// チェックが通ったら各種項目を設定する
// バランスの取得
$this -> balance = $this -> getBalanceCommon($this -> account, $this -> debitCurrency);
// 手数料の取得
$fee = $this -> getFeeCommon(VAR_CARD_DEPOSIT
, $this -> amount
, USD
, $this -> account);
$this -> setFeeEx($this -> getColumnData($fee, USD . VAL_INT_1));
// タイプによって変更パラメータ
if($this -> debitCurrency == USD) { // 通貨が一緒だった場合
$this -> debitAmount = $this -> amount;
$this -> toAmount = $this -> amount;
$this -> setRateEx(VAL_INT_1);
} else if($this -> transferType == NO_COUNT) { // 出金額指定
// 出金額の両替
$exchange = $this -> getExchangeCommon($this -> amount
, $this -> debitCurrency
, USD);
// 手数料の両替
$fee = $this -> getExchangeCommon($this -> getFeeEx()
, USD
, $this -> debitCurrency);
$this -> debitAmount = $this -> amount;
$this -> toAmount = $this -> getColumnData($exchange, PARAM_AMOUNT);
$this -> setRateEx($this -> getColumnData($exchange, PARAM_RATE));
$this -> setFeeEx($this -> getColumnData($fee, PARAM_AMOUNT));
} else { // 送金通貨指定
// 出金額の両替
$exchange = $this -> getExchangeCommon($this -> amount
, USD
, $this -> debitCurrency
, false
, true);
// 手数料の両替
$fee = $this -> getExchangeCommon($this -> getFeeEx()
, USD
, $this -> debitCurrency
, false
, true);
$this -> debitAmount = $this -> getColumnData($exchange, PARAM_AMOUNT);
$this -> toAmount = $this -> amount;
$this -> setRateEx($this -> getColumnData($exchange, PARAM_RATE));
$this -> setFeeEx($this -> getColumnData($fee, PARAM_AMOUNT));
}
// 金額リミットチェック
if(!$this -> checkRange($this -> toAmount, VAL_INT_1, (VAL_INT_500 * 10))) {
throw new Exception('E_ERROR_AMOUNT');
}
// 口座残高チェック
if($this -> balance < ($this -> debitAmount + $this -> getFeeEx())) {
throw new Exception('E_INSUFFICIENT_FUNDS');
}
}
/*-------------------------------------------------------------------------
* @function_name: 送金通貨の取得
* @parameter : なし
* @return : 送金通貨
-------------------------------------------------------------------------*/
public function getCurrency() {
return $this -> currency;
}
/*-------------------------------------------------------------------------
* @function_name: 送金金額の取得
* @parameter : なし
* @return : 送金金額
-------------------------------------------------------------------------*/
public function getAmount() {
return $this -> amount;
}
/*-------------------------------------------------------------------------
* @function_name: 送金金額の取得
* @parameter : なし
* @return : 送金金額
-------------------------------------------------------------------------*/
public function getToAmount() {
return $this -> toAmount;
}
/*-------------------------------------------------------------------------
* @function_name: 引き落とし通貨の取得
* @parameter : なし
* @return : 引き落とし通貨
-------------------------------------------------------------------------*/
public function getDebitCurrency() {
return $this -> debitCurrency;
}
/*-------------------------------------------------------------------------
* @function_name: 引き落とし金額の取得
* @parameter : なし
* @return : 引き落とし金額
-------------------------------------------------------------------------*/
public function getDebitAmount() {
return $this -> debitAmount;
}
/*-------------------------------------------------------------------------
* @function_name: 換金レートの取得
* @parameter : なし
* @return : 換金レート
-------------------------------------------------------------------------*/
public function getRate() {
return $this -> rate;
}
}
?>
\ No newline at end of file
<?php
require_once('config.php');
require_once('CheckExchangeBase.php');
class APICheckExchange extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'E' . $this -> account);
}
} catch (Exception $e) {
throw $e;
}
}
}
try {
$api = new APICheckExchange();
$api -> action();
// チェックロジック
$api = new APICheckExchangeBase();
$api -> action();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'rate' => $api -> getRate()
, 'from_amount' => $api -> currencyToInt($api -> getFromAmount(), $api -> getFromCurrency())
, 'to_amount' => $api -> currencyToInt($api -> getToAmount(), $api -> getToCurrency())
, 'from_balance' => $api -> currencyToInt($api -> getBalanceCommon($api -> getAccount(), $api -> getFromCurrency()), $api -> getFromCurrency())
, 'to_balance' => $api -> currencyToInt($api -> getBalanceCommon($api -> getAccount(), $api -> getToCurrency()), $api -> getToCurrency())
));
} catch (Exception $e) { // チェックエラー
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
?>
\ No newline at end of file
<?php
require_once('config.php');
class APICheckExchangeBase extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $amount = NO_STRING;
private $amountType = NO_STRING;
private $fromCurrency = NO_STRING;
private $toCurrency = NO_STRING;
private $exAmount = NO_STRING;
private $fromAmount = NO_STRING;
private $toAmount = NO_STRING;
private $rate = NO_STRING;
private $originalAmount = NO_STRING;
private $fromBalance = NO_STRING;
private $toBalance = NO_STRING;
private $exAmoun = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> amount = $this -> getDataPost(PARAM_AMOUNT);
$this -> amountType = $this -> getDataPost(PARAM_AMOUNT_TYPE);
$this -> fromCurrency = strtoupper($this -> getDataPost(PARAM_FROM));
$this -> toCurrency = strtoupper($this -> getDataPost(PARAM_TO));
// エラーチェック
$this -> validate();
return true;
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
$fromCurrency = NO_STRING;
$toCurrency = NO_STRING;
$divFlg = NO_STRING;
$check = NO_STRING;
$digit = NO_STRING;
try {
// 口座の存在確認
$account = $this -> getAccountCommon($this -> account);
if(count($account) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
// 口座ステータスチェック
if(!$this -> checkAccountStatus($this -> getUserData(PARAM_USER_ACCOUNT), VAR_TRANSACTION_EXCHANGE)) {
throw new Exception('E_INVALID_ACCOUNT_STATUS');
}
// 入力チェック
if(!$this -> checkNull($this -> amount)) {
throw new Exception('E_DO_NOT_INPUT');
}
// 通貨同一チェック
if($this -> toCurrency == $this -> fromCurrency) {
throw new Exception('E_ERROR_SAME_CURRENCY');
}
// 数値の正規表現
if(!$this -> checkStringNumber($this -> amount)) {
throw new Exception('E_ERROR_REGULAR_NUMBER');
}
// 数値のマイナスチェック
if($this -> amount <= NO_COUNT) {
throw new Exception('E_ERROR_VALUE');
}
// 変換通貨の取得
if($this -> amountType == NO_COUNT) {
$fromCurrency = $this -> fromCurrency;
$toCurrency = $this -> toCurrency;
} else {
$fromCurrency = $this -> toCurrency;
$toCurrency = $this -> fromCurrency;
$divFlg = true;
}
// 最低値と最高値の設定
if(!$this -> checkRangeCurrency($this -> amount
, $fromCurrency
, NO_COUNT
, 9999999)) {
throw new Exception('E_ERROR_AMOUNT');
}
// レートの取得
$exc = $this -> getExchangeCommon($this -> amount
, $fromCurrency
, $toCurrency
, true
, $divFlg);
// 変換後の金額
// チェック用のデータ
if($this -> amountType == NO_COUNT) { // 引き落とし口座
$check = $this -> amount;
$this -> exAmount = $exc[PARAM_AMOUNT];
$this -> fromAmount = $this -> amount;
$this -> toAmount = $exc[PARAM_AMOUNT];
} else { // 入金口座
$check = $exc[PARAM_AMOUNT];
$this -> exAmount = $this -> amount;
$this -> fromAmount = $exc[PARAM_AMOUNT];
$this -> toAmount = $this -> amount;
}
$this -> rate = $exc[PARAM_RATE];
$this -> originalAmount = $exc[PARAM_ORIGINAL_AMOUNT];
if($this -> amountType == NO_COUNT) { // 引き落とし口座
// IWalletが損しない為の処理
if($this -> toAmount > ($this -> fromAmount * $this -> rate)) {
$digit = $this -> getDigit($toCurrency);
$this -> toAmount -= (VAL_INT_1 / $digit);
}
} else { // 入金額指定の場合
// IWalletが損しない為の処理
if($this -> fromAmount < ($this -> toAmount / $this -> rate)) {
$digit = $this -> getDigit($this -> fromCurrency);
$this -> fromAmount += (VAL_INT_1 / $digit);
}
}
// 残高の取得
$this -> fromBalance = $this -> getBalanceCommon($this -> account, $this -> fromCurrency);
$this -> toBalance = $this -> getBalanceCommon($this -> account, $this -> toCurrency);
// 残高のチェック
if($this -> fromBalance < $check) {
throw new Exception('E_INSUFFICIENT_FUNDS');
}
if(count($msgs) > NO_COUNT) {
throw new Exception(implode(DELIMIT_COMMA, $msgs));
}
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: From通貨の取得
* @parameter : なし
* @return : 通貨
-------------------------------------------------------------------------*/
public function getAccount() {
return $this -> account;
}
/*-------------------------------------------------------------------------
* @function_name: From通貨の取得
* @parameter : なし
* @return : 通貨
-------------------------------------------------------------------------*/
public function getFromCurrency() {
return $this -> fromCurrency;
}
/*-------------------------------------------------------------------------
* @function_name: From金額の取得
* @parameter : なし
* @return : From金額
-------------------------------------------------------------------------*/
public function getFromAmount() {
return $this -> fromAmount;
}
/*-------------------------------------------------------------------------
* @function_name: To通貨の取得
* @parameter : なし
* @return : 通貨
-------------------------------------------------------------------------*/
public function getToCurrency() {
return $this -> toCurrency;
}
/*-------------------------------------------------------------------------
* @function_name: To金額の取得
* @parameter : なし
* @return : To金額
-------------------------------------------------------------------------*/
public function getToAmount() {
return $this -> toAmount;
}
/*-------------------------------------------------------------------------
* @function_name: 換金レートの取得
* @parameter : なし
* @return : 換金レート
-------------------------------------------------------------------------*/
public function getRate() {
return $this -> rate;
}
/*-------------------------------------------------------------------------
* @function_name: 通貨の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public function getOriginalAmount() {
return $this -> originalAmount;
}
}
?>
\ No newline at end of file
<?php
require_once('config.php');
require_once('CheckRequestBase.php');
class APICheckRequest extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $fromAccount = NO_STRING; // 送金元口座
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> fromAccount = $this -> getDataPost(PARAM_FROM); // 送金元口座
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'R' . $this -> account . $this -> fromAccount);
}
} catch (Exception $e) {
throw $e;
}
}
}
try {
$api = new APICheckRequest();
$api -> action();
// チェックロジック
$api = new APICheckRequestBase();
$api -> action();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'));
} catch (Exception $e) { // チェックエラー
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
?>
\ No newline at end of file
<?php
require_once('config.php');
class APICheckRequestBase extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $fromAccount = NO_STRING; // 送金元口座
private $currency = NO_STRING; // 通貨
private $amount = NO_STRING; // 金額
private $message = NO_STRING; // 送金メッセージ
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT); // 送金先口座
$this -> fromAccount = $this -> getDataPost(PARAM_FROM); // 送金元口座
$this -> currency = strtoupper($this -> getDataPost(PARAM_CURRENCY)); // 通貨
$this -> amount = $this -> getDataPost(PARAM_AMOUNT); // 金額
// エラーチェック
return $this -> validate();
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$rs = NO_COUNT;
try {
// 申請元口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
// 申請先口座の存在確認
$this -> user = $this -> getAccountCommon($this -> fromAccount);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
// 必須項目
// 金額のチェック
if(!$this -> checkNull($this -> amount)) {
throw new Exception('E_REQUIRED_VALUE');
}
// 数値の正規表現
if(!$this -> checkStringNumber($this -> amount)) {
throw new Exception('E_ERROR_REGULAR_NUMBER');
}
// 最低値と最高値の設定
if(!$this -> checkRangeCurrency($this -> amount
, $this -> currency
, NO_COUNT
, VAR_MAX_TRANSFER_LIMIT)) {
throw new Exception('E_ERROR_AMOUNT');
}
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: 出金金額の取得
* @parameter : なし
* @return : To金額
-------------------------------------------------------------------------*/
public function getDebitAmount() {
return $this -> debitAmount;
}
/*-------------------------------------------------------------------------
* @function_name: 換金レートの取得
* @parameter : なし
* @return : 換金レート
-------------------------------------------------------------------------*/
public function getRate() {
return $this -> rate;
}
/*-------------------------------------------------------------------------
* @function_name: 通貨の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public function getOriginalAmount() {
return $this -> originalAmount;
}
}
?>
\ No newline at end of file
<?php
require_once('config.php');
require_once('CheckTransferBase.php');
class APICheckTransfer extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $fromAccount = NO_STRING; // 送金元口座
private $toAccount = NO_STRING; // 送金先口座
private $currency = NO_STRING; // 通貨
private $amount = NO_STRING; // 金額
private $debitCurrency = NO_STRING; // 引落通貨
private $debitAmount = NO_STRING; // 引落金額
private $message = NO_STRING; // 送金メッセージ
private $result = NO_STRING; // チェック実行結果
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> fromAccount = $this -> getDataPost(PARAM_FROM); // 送金元口座
$this -> toAccount = $this -> getDataPost(PARAM_TO); // 送金先口座
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'T' . $this -> fromAccount . $this -> toAccount);
}
} catch (Exception $e) {
throw $e;
}
}
}
try {
$api = new APICheckTransfer();
$api -> action();
// チェックロジック
$api = new APICheckTransferBase();
$rs = $api -> action();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'currency' => $api -> getCurrency()
, 'amount' => $api -> getToAmount()
, 'debit_currency' => $api -> getDebitCurrency()
, 'debit_amount' => $api -> getColumnData($rs, PARAM_AMOUNT)
, 'fee' => $api -> getColumnData($rs, PARAM_FROM_FEE)
, 'rate' => $api -> getColumnData($rs, PARAM_RATE)));
} catch (Exception $e) { // チェックエラー
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
?>
\ No newline at end of file
<?php
require_once('config.php');
class APICheckTransferBase extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $fromAccount = NO_STRING; // 送金元口座
private $toAccount = NO_STRING; // 送金先口座
private $currency = NO_STRING; // 通貨
private $amount = NO_STRING; // 金額
private $debitCurrency = NO_STRING; // 引落通貨
private $debitAmount = NO_STRING; // 引落金額
private $message = NO_STRING; // 送金メッセージ
private $result = NO_STRING; // チェック実行結果
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> fromAccount = $this -> getDataPost(PARAM_FROM); // 送金元口座
$this -> toAccount = $this -> getDataPost(PARAM_TO); // 送金先口座
$this -> currency = strtoupper($this -> getDataPost(PARAM_CURRENCY)); // 通貨
$this -> amount = $this -> getDataPost(PARAM_AMOUNT); // 金額
$this -> debitCurrency = strtoupper($this -> getDataPost(PARAM_DEBIT_CURRENCY)); // 引落通貨
// エラーチェック
return $this -> validate();
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$rs = NO_COUNT;
try {
$this -> result = $this -> checkTransfer($this -> fromAccount
, $this -> toAccount
, $this -> currency
, $this -> amount
, $this -> debitCurrency);
$rs = $this -> result[PARAM_RESULT];
if($rs != NO_COUNT) {
if($rs == VAL_INT_3) { // 送金元口座の問題
throw new Exception('E_ERROR_VALUE_AMOUNT_FROM');
} else if($rs == VAL_INT_1) { // 送金先口座の問題
throw new Exception('E_ERROR_VALUE_AMOUNT_TO');
} else if($rs == VAL_INT_99) { // パラメータの問題
throw new Exception('E_ERROR_PARAMETER');
} else if($rs == VAL_INT_2) { // 金額の問題
throw new Exception('E_ERROR_AMOUNT');
} else {
throw new Exception('E_FATAL');
}
}
return $this -> result;
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: 送金通貨の取得
* @parameter : なし
* @return : 送金通貨
-------------------------------------------------------------------------*/
public function getCurrency() {
return $this -> currency;
}
/*-------------------------------------------------------------------------
* @function_name: 出金金額の取得
* @parameter : なし
* @return : 送金金額
-------------------------------------------------------------------------*/
public function getToAmount() {
return $this -> amount;
}
/*-------------------------------------------------------------------------
* @function_name: 引き落し通貨の取得
* @parameter : なし
* @return : 引き落し通貨
-------------------------------------------------------------------------*/
public function getDebitCurrency() {
return $this -> debitCurrency;
}
/*-------------------------------------------------------------------------
* @function_name: 出金金額の取得
* @parameter : なし
* @return : To金額
-------------------------------------------------------------------------*/
public function getDebitAmount() {
return $this -> debitAmount;
}
/*-------------------------------------------------------------------------
* @function_name: 換金レートの取得
* @parameter : なし
* @return : 換金レート
-------------------------------------------------------------------------*/
public function getRate() {
return $this -> rate;
}
/*-------------------------------------------------------------------------
* @function_name: 通貨の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public function getOriginalAmount() {
return $this -> originalAmount;
}
}
?>
\ No newline at end of file
<?php
require_once('config.php');
require_once('CheckUserInfoBase.php');
class APICheckUserInfo extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'U' . $this -> account);
}
} catch (Exception $e) {
throw $e;
}
}
}
try {
$api = new APICheckUserInfo();
$api -> action();
// チェックロジック
$api = new APICheckUserInfoBase();
$api -> action();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'));
} catch (Exception $e) { // チェックエラー
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
?>
\ No newline at end of file
<?php
require_once('config.php');
class APICheckUserInfoBase extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $state = NO_STRING;
private $city = NO_STRING;
private $address = NO_STRING;
private $zipCode = NO_STRING;
private $tel = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> state = $this -> getDataPost(PARAM_STATE);
$this -> city = $this -> getDataPost(PARAM_CITY);
$this -> address = $this -> getDataPost(PARAM_ADDRESS);
$this -> zipCode = $this -> getDataPost(PARAM_ZIP_CODE);
$this -> tel = $this -> getDataPost(PARAM_TEL);
// エラーチェック
$this -> validate();
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
// 必須項目
// 都道府県のチェック
if(!$this -> checkNull($this -> state)) {
throw new Exception('E_REQUIRED_VALUE');
}
// 市区町村のチェック
if(!$this -> checkNull($this -> city)) {
throw new Exception('E_REQUIRED_VALUE');
}
// 住所のチェック
if(!$this -> checkNull($this -> address)) {
throw new Exception('E_REQUIRED_VALUE');
}
// 郵便番号のチェック
if(!$this -> checkNull($this -> zipCode)) {
throw new Exception('E_REQUIRED_VALUE');
}
// 電話番号のチェック
if(!$this -> checkNull($this -> tel)) {
throw new Exception('E_REQUIRED_VALUE');
}
// 正規表現
// 都道府県のチェック
if(!$this -> checkStringAsciiStateAndCity($this -> state)) {
throw new Exception('E_ERROR_REGULAR_ASCII_STATE_CITY');
}
if(!$this -> checkLength($this -> state
, VAL_INT_1
, VAL_INT_64)) {
throw new Exception('E_ERROR_STRING_LENGTH_ANY');
}
// 市区町村のチェック
if(!$this -> checkStringAsciiStateAndCity($this -> city)) {
throw new Exception('E_ERROR_REGULAR_ASCII_STATE_CITY');
}
if(!$this -> checkLength($this -> city
, VAL_INT_1
, VAL_INT_64)) {
throw new Exception('E_ERROR_STRING_LENGTH_ANY');
}
// 住所のチェック
if(!$this -> checkStringAddress($this -> address)) {
throw new Exception('E_ERROR_REGULAR_ASCII_ADDRESS');
}
if(!$this -> checkLength($this -> address
, VAL_INT_1
, VAL_INT_128)) {
throw new Exception('E_ERROR_STRING_LENGTH_ANY');
}
// 郵便番号のチェック
if(!$this -> checkStringNumberZipCode($this -> zipCode)) {
throw new Exception('E_ERROR_REGULAR_NUMBER_ZIP_CODE');
}
// 電話番号のチェック
if(!$this -> checkStringNumberTel($this -> tel)) {
throw new Exception('E_ERROR_REGULAR_NUMBER_TEL');
}
if(!$this -> checkLength($this -> tel
, VAL_INT_7
, VAL_INT_20)) {
throw new Exception('E_ERROR_STRING_LENGTH_ANY');
}
} catch (Exception $e) {
throw $e;
}
}
}
?>
\ No newline at end of file
<?php
require_once('config.php');
require_once('CheckUserPasswordBase.php');
class APICheckUserPassword extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'W' . $this -> account);
}
} catch (Exception $e) {
throw $e;
}
}
}
try {
$api = new APICheckUserPassword();
$api -> action();
// チェックロジック
$api = new APICheckPasswordBase();
$api -> action();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'));
} catch (Exception $e) { // チェックエラー
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
?>
\ No newline at end of file
<?php
require_once('config.php');
class APICheckPasswordBase extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $password = NO_STRING;
private $user = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> password = $this -> getDataPost(PARAM_PASSWORD);
// エラーチェック
$this -> validate();
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
$this -> user = $this -> getRowData($this -> user);
// パスワードチェック
if(!$this -> checkNull($this -> password)) {
throw new Exception('E_REQUIRED_VALUE');
}
// パスワードの正規表現
if(!$this -> checkStringPassword($this -> password)) {
$msgs[] = 'E_ERROR_REGULAR_PASSWORD';
} else {
if(!$this -> checkStringPasswordSecond($this -> password)) {
$msgs[] = 'E_ERROR_REGULAR_PASSWORD_SECOND';
}
}
// 新パスワードの文字数制限
if(!$this -> checkLength($this -> password
, VAR_PASSWORD_MIN
, VAR_PASSWORD_MAX)) {
$msgs[] = 'E_ERROR_STRING_LENGTH_ANY';
}
if(count($msgs) > NO_COUNT) {
throw new Exception(implode(DELIMIT_COMMA, $msgs));
}
} catch (Exception $e) {
throw $e;
}
}
}
?>
\ No newline at end of file
<?php
require_once('config.php');
require_once('CheckWithdrawBase.php');
class APICheckWithdraw extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'W' . $this -> account);
}
} catch (Exception $e) {
throw $e;
}
}
}
try {
$api = new APICheckWithdraw();
$api -> action();
// チェックロジック
$api = new APICheckWithdrawBase();
$api -> action();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'currency' => $api -> getCurrency()
, 'amount' => $api -> getAmount()
, 'debit_currency' => $api -> getDebitCurrency()
, 'debit_amount' => $api -> getDebitAmount()
, 'fee' => $api -> getFeeEx()));
} catch (Exception $e) { // チェックエラー
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
?>
\ No newline at end of file
This diff is collapsed.
<?php
require_once('config.php');
// require_once('CheckUserInfoBase.php');
class APICreateUser extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $uId = NO_STRING;
private $account = NO_STRING;
private $reqid = NO_STRING;
private $email = NO_STRING;
private $country = NO_STRING;
private $firstName = NO_STRING;
private $lastName = NO_STRING;
private $birth = NO_STRING;
private $state = NO_STRING;
private $city = NO_STRING;
private $address = NO_STRING;
private $zipCode = NO_STRING;
private $tel = NO_STRING;
private $note = NO_STRING;
private $agent = NO_STRING;
private $year = NO_STRING;
private $month = NO_STRING;
private $day = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$arr = null;
try {
print_r($_POST);
return;
// パラメータの設定
// 必須パラメータ
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
// $this -> reqid = $this -> getDataPost(PARAM_SIGNATURE);
$this -> email = $this -> getDataPost(PARAM_EMAIL);
$this -> country = $this -> getDataPost(PARAM_COUNTRY);
$this -> firstName = $this -> getDataPost(PARAM_FIRST_NAME);
$this -> lastName = $this -> getDataPost(PARAM_LAST_NAME);
$this -> birth = $this -> getDataPost(PARAM_BIRTH);
// 生年月日の分割
$arr = explode(DELIMIT_SLASH, $this -> birth);
$this -> year = intval($this -> getColumnData($arr, NO_COUNT));
$this -> month = intval($this -> getColumnData($arr, VAL_INT_1));
$this -> day = intval($this -> getColumnData($arr, VAL_INT_1));
// 任意
$this -> state = $this -> getDataPost(PARAM_STATE);
$this -> city = $this -> getDataPost(PARAM_CITY);
$this -> address = $this -> getDataPost(PARAM_ADDRESS);
$this -> zipCode = $this -> getDataPost(PARAM_ZIP_CODE);
$this -> tel = $this -> getDataPost(PARAM_TEL);
$this -> note = $this -> getDataPost(PARAM_NOTE);
$this -> agent = $this -> getDataPost(PARAM_AGENT_CODE);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'U' . $this -> email);
throw new Exception(VAL_INT_90);
}
if(!$this -> validate()) {
new Exception('02');
}
// UIDの作成
$this -> uId = $this -> createUId();
// 口座番号の作成
$this -> account = $this -> createAccount();
// データの登録
$this -> insert();
// メールの送信
$this -> send();
} catch (Exception $e) {
throw $e;
}
}
//-------------------------------------------------------------------------
// @function_name: データのチェック
// @parameter : なし
// @return : なし
//-------------------------------------------------------------------------
function validate() {
// 変数宣言部
$rtn = true;
// 必須項目
// 名
if(!$this -> checkNull($this -> firstName)) {
$rtn = false;
}
// 姓
if(!$this -> checkNull($this -> lastName)) {
$rtn = false;
}
// メールアドレスのチェック
if(!$this -> checkNull($this -> email)) {
$rtn = false;
}
// 国コードのチェック
if(!$this -> checkNull($this -> country)) {
$rtn = false;
}
// 生年月日のチェック
if(!$this -> checkNull($this -> birth)) {
$rtn = false;
}
if(!$rtn) {
return false;
}
// 名の正規表現
if(!$this -> checkStringAlphabetAndSpace($this -> firstName)) {
$rtn = false;
}
// 名の文字数制限
if(!$this -> checkLength($this -> firstName
, VAL_INT_1
, VAL_INT_64)) {
$rtn = false;
}
// 姓の正規表現
if(!$this -> checkStringAlphabetAndSpace($this -> lastName)) {
$rtn = false;
}
// 姓の文字数制限
if(!$this -> checkLength($this -> lastName
, VAL_INT_1
, VAL_INT_64)) {
$rtn = false;
}
// メールアドレスの正規表現
if(!$this -> checkStringMailAddress(addslashes($this -> email))) {
$this -> popMessageCommon(ERROR, 'E_ERROR_REGULAR_EMAIL', array(VAL_STR_EMAIL));
$rtn = false;
}
if(!$rtn) {
return false;
}
// メールアドレスの存在確認
if(!$this -> checkMailAddress($this -> email)) {
$rtn = false;
}
if(!$rtn) {
return false;
}
// メールアドレスのドメインの存在チェック
$mails = explode(DELIMIT_AT, $this -> email);
if(!isset($mails[VAL_INT_1])) { // @マークがない
$rtn = false;
} else {
$ip = gethostbyname($mails[VAL_INT_1]);
if($ip == $mails[VAL_INT_1]) {
$rtn = false;
}
// ワンタイムドメインのチェック
$list = $this -> getInvalidDomainList();
if($this -> getColumnData($list, $mails[VAL_INT_1]) != NO_STRING) {
$rtn = false;
}
}
if(!$this -> checkLimitAge($this -> country
, $this -> year
, $this -> month
, $this -> day)) {
$rtn = false;
}
// 誕生日のチェック
if(!$this -> checkDate($this -> year
, $this -> month
, $this -> day)) {
$rtn = false;
}
// 誕生日のチェック
if(!$this -> checkDate(intval($this -> year)
, intval($this -> month)
, intval($this -> day))) {
$this -> popMessageCommon(ERROR, 'E_DATE_VALUE', array($this -> year
, $this -> month
, $this -> day));
$rtn = false;
}
if(!$rtn) {
return false;
} else {
return true;
}
}
//-------------------------------------------------------------------------
// @function_name: データの登録
// @parameter : なし
// @return : なし
//-------------------------------------------------------------------------
function insert() {
// 変数宣言部
$rtn = true;
$params = array();
// パラメータの設定
$params[] = $this -> uId; // UID
$params[] = $this -> email; // ログインID
$params[] = $this -> getPassword(); // ログインパスワード
// ログインデータの登録
$rtn = $this -> accessModify('INSERT_LOGIN', $params);
// パラメータの設定(ユーザテーブル)
$params[] = $uId; // UID
$params[] = $this -> email; // メルアド
$params[] = NO_COUNT; // 口座種別
$params[] = $account; // 口座番号
$params[] = NO_STRING; // 電話番号
$params[] = $this -> lastName; // 姓
$params[] = $this -> firstName; // 名
$params[] = $this -> year; // 生年月日(年)
$params[] = $this -> month; // 生年月日(月)
$params[] = $this -> day; // 生年月日(日)
$params[] = $this -> country; // 国
$params[] = $this -> state; // 都道府県
$params[] = $this -> city; // 市
$params[] = $this -> zipCode; // 郵便番号
$params[] = $this -> address; // 番地
$params[] = NO_STRING; // 番地2
$params[] = NO_STRING; // エージェントコード
$params[] = NO_COUNT; // エージェントフラグ
$params[] = NO_STRING; // 親エージェントコード
$params[] = $_SERVER[PARAM_REMOTE_ADDR]; // 登録IPアドレス
$params[] = VAL_INT_1; // ステータス(仮登録)
$params[] = NO_STRING; // CRM ID
$params[] = WHITE_LABEL_ID; // ホワイトレーベルID
$params[] = VAR_DEFAULT_LANGAGE; // 言語
$this -> accessModify('INSERT_USER', $params);
$this -> accessModify('INSERT_2FA_ENABLE', array($account), false);
$this -> accessModify('INSERT_2FA_CODE', array($account), false);
// ログインデータの登録
return $rtn;
}
//-------------------------------------------------------------------------
// @function_name: メールの送信
// @parameter : なし
// @return : なし
//-------------------------------------------------------------------------
function send() {
// 申請メールを送信する
$params = array();
$params[] = $account; // 口座番号
$params[] = $this -> getColumnData($row, VAL_INT_3)
. DELIMIT_SPACE . $this -> getColumnData($row, VAL_INT_4); // 名前
$params[] = $uid; // UID
$params[] = $confCode; // 確認コード
$this -> sendMailByTmpAndWL($account
, 'regist_password_apply.xml'
, $params
, $this -> getColumnData($row, VAL_INT_1)
, 'cs@');
}
}
try {
$api = new APICreateUser();
$api -> action();
// チェックロジック
// $api = new APICheckUserInfoBase();
// $api -> action();
return;
// 処理成功
echo json_encode(array('result' => '00'
, 'messages' => 'I_COMPLETE_PROCESS'));
} catch (Exception $e) { // チェックエラー
echo json_encode(array('result' => $e -> getMessage()
, 'messages' => $e -> getMessage()));
}
?>
<?php
include_once('APICardDeposit.php');
$api = new APICardDeposit();
$rtn = $api -> action();
echo json_encode($rtn);
?>
<?php
include_once('../system/lib/config.php');
$sys = new System();
// 変数宣言部
$rtn = array();
$from = NO_STRING;
$to = NO_STRING;
$amount = NO_STRING;
$exchange = null;
try {
$from = $sys -> getPosParameter(PARAM_FROM);
$to = $sys -> getPosParameter(PARAM_TO);
$amount = $sys -> getPosParameter(PARAM_AMOUNT);
$exchange = $sys -> getExchangeCommon($amount,
$from,
$to,
false,
true,
NO_STRING,
$sys -> getUserData(PARAM_USER_ACCOUNT));
$rtn['original_amount'] = $exchange[PARAM_ORIGINAL_AMOUNT];
$rtn['publish_amount'] = $exchange[PARAM_AMOUNT];
echo json_encode($rtn);
} catch(Exception $e) {
echo $e -> getMessage();
}
?>
<?php
include_once('../system/lib/config.php');
$sys = new System();
$rtn = array(PARAM_PASSWORD => '');
$pw = $sys -> createPassword();
$rtn[PARAM_PASSWORD] = $pw;
echo json_encode($rtn);
?>
<?php
require_once('config.php');
class APIGetAccountBalance extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $currency = NO_STRING;
private $userAccount = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
ob_start();
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$currencies = null;
$tmp = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> userAccount = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> currency = strtoupper($this -> getDataPost(PARAM_CURRENCY));
// シグネチャの確認
if($this -> getDataPost('debug') == NO_STRING) {
// $this -> checkSignature($this -> signature, 'B' . $this -> userAccount);
}
// エラーチェック
$this -> validate();
if($this -> currency == VAL_ALL) { // 残高データの取得(全通貨)
$currencies = $this -> getCurrencyList();
$tmp = array();
if($this -> isLoopData($currencies)) {
foreach($currencies as $currency) {
$balance = $this -> getBalanceCommon($this -> userAccount, $currency[PARAM_DATA_VALUE]);
$tmp[] = array(PARAM_CURRENCY => $currency[PARAM_DATA_VALUE], PARAM_BALANCE => $this -> formatCurrency($balance, $currency[PARAM_DATA_VALUE]));
$rtn[PARAM_BALANCE] = $tmp;
}
}
} else { // 残高データの取得(個別通貨)
$balance = $this -> getBalanceCommon($this -> userAccount, $this -> currency);
$rtn[PARAM_BALANCE] = array(PARAM_CURRENCY => $this -> currency, PARAM_BALANCE => $this -> formatCurrency($balance, $this -> currency));
}
// 返却データの設定
$rtn['result'] = 'OK';
$rtn['messages'] = 'I_COMPLETE_PROCESS';
ob_end_clean();
echo json_encode($rtn);
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
ob_end_clean();
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
} catch (Exception $e) {
throw $e;
}
}
}
$api = new APIGetAccountBalance();
$api -> action();
?>
<?php
require_once('../system/lib/config.php');
class GetBalanceAllUser extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$csv = array();
try {
// ファイルを作成する
$handle = fopen('balance.csv', 'w+');
// データを取得
$rs = $this -> accessSelect('SELECT_USER_BALANCES_API', array());
$title = array();
$title[] = "UserAccount";
$title[] = "Currency";
$title[] = "DepositAmount";
$title[] = "WithdrawAmount";
$title[] = "Balance";
fputcsv($handle, $title);
// ダウンロード
if($this -> isLoopData($rs)) {
// ファイルを作成する
foreach($rs as $row) {
$csv = array();
$csv[] = $this -> getColumnData($row, COLUMN_USER_ACCOUNT);
$csv[] = $this -> getColumnData($row, COLUMN_CURRENCY);
$csv[] = $this -> getAmountString($this -> getColumnData($row, COLUMN_DEPOSIT_AMOUNT), $this -> getColumnData($row, COLUMN_CURRENCY));
$csv[] = $this -> getAmountString($this -> getColumnData($row, COLUMN_WITHDRAW_AMOUNT), $this -> getColumnData($row, COLUMN_CURRENCY));
$csv[] = $this -> getAmountString($this -> getColumnData($row, COLUMN_BALANCE), $this -> getColumnData($row, COLUMN_CURRENCY));
fputcsv($handle, $csv);
}
}
header('Content-Type: application/force-download');
header('Content-Length: '.filesize('balance.csv'));
header('Content-disposition: attachment; filename="balance.csv"');
readfile('balance.csv');
// ファイルのクローズ
fclose($handle);
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {}
}
$api = new GetBalanceAllUser();
$api -> action();
?>
\ No newline at end of file
<?php
include_once('APICardBalance.php');
// 変数宣言部
$api = new APICardBalance();
$rs = $api -> action();
$rtn = array();
$rtn[PARAM_RESULT] = 'OK';
$rtn['messages'] = 'I_COMPLETE_PROCESS';
$rtn[PARAM_BALANCE] = $rs[PARAM_RESULT];
echo json_encode($rtn);
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetCardList extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'C' . $this -> account);
}
// エラーチェック
$this -> validate();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'list' => $this -> getCardsCommon($this -> account)));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
}
}
$api = new APIGetCardList();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetCardStatement extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $lang = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'C' . $this -> account);
}
// エラーチェック
$this -> validate();
require_once('CardStatement.php');
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
}
}
$api = new APIGetCardStatement();
$api -> action();?>
<?php
require_once('config.php');
class APIGetCountryList extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $lang = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'U' . $this -> account);
}
// エラーチェック
$this -> validate();
echo str_replace("\n", '', json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'history' => $this -> getCountyList())));
// echo json_encode(array('result' => 'OK'
// , 'messages' => 'I_COMPLETE_PROCESS'
// , 'history' => $this -> getCountyList()));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo str_replace("\n", '', json_encode($rtn));
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
}
}
$api = new APIGetCountryList();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetAccountBalance extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $userAccount = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$list = array();
$result = NO_STRING;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> userAccount = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャの確認
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'B' . $this -> userAccount);
}
// エラーチェック
$this -> validate();
// 通貨データの取得
$currencies = $this -> getCurrencyList();
// 通貨データが存在した場合
if($this -> isLoopData($currencies)) {
foreach($currencies as $currency) {
$list[] = $currency[PARAM_DATA_KEY];
}
$result = implode(DELIMIT_COMMA, $list);
}
// 返却データの設定
$rtn[PARAM_CURRENCY] = $result;
$rtn['result'] = 'OK';
$rtn['messages'] = 'I_COMPLETE_PROCESS';
echo json_encode($rtn);
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
} catch (Exception $e) {
throw $e;
}
}
}
$api = new APIGetAccountBalance();
$api -> action();
?>
<?php
require_once('config.php');
class APIGetDepositList extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'D' . $this -> account);
}
// エラーチェック
$this -> validate();
// 変数宣言部
$rtn = array('1' => 'bank');
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'list' => $rtn));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
}
}
$api = new APIGetDepositList();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetHistory extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $currency = NO_STRING;
private $from = NO_STRING;
private $to = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> currency = $this -> getDataPost(PARAM_CURRENCY);
$this -> from = $this -> getDataPost(PARAM_FROM);
$this -> to = $this -> getDataPost(PARAM_TO);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'H' . $this -> account);
}
// エラーチェック
$this -> validate();
// 変数宣言部
$params = array();
$rtn = NO_STRING;
$history = null;
$ago = null;
$from = NO_STRING;
// 通貨指定
if($this -> currency != NO_STRING) {
$params[] = ' (trans.deposit_currency = (\')' . $this -> currency . '(\') OR trans.withdraw_currency = (\')' . $this -> currency . '(\') OR trans.transfer_currency = (\')' . $this -> currency . '(\'))';
}
// 日付指定(from)
if($this -> from != NO_STRING) {
$params[] = ' transaction_time >= (\')' . $this -> from . '(\')';
}
// 日付指定(to)
if($this -> to != NO_STRING) {
$params[] = ' transaction_time < DATE_ADD((\')' . $this -> to . '(\'), INTERVAL 1 DAY)';
}
// データが存在した場合
if($this -> isLoopData($params)) {
$rtn = DELIMIT_AND . implode(DELIMIT_AND, $params);
}
// 履歴の取得
$history = $this -> accessSelect('LIST_USER_TRANSACTION', array($this -> account, $rtn));
if($this -> from == NO_STRING) {
$from = $this -> getCurrentTimeCommon();
} else {
$from = $this -> from;
}
// 検索条件以前のデータの取得
$ago = $this -> accessSelect('LIST_USER_BALANCE_FROM_CURRENCY_DATE', array($this -> account, $this -> currency, $from));
// 以前のデータがあった場合
if($this -> isLoopData($ago)) {
$ago = $ago[NO_COUNT];
}
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'history' => $history
, 'before' => $ago));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
}
}
$api = new APIGetHistory();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetKYCStatus extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $user = null;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'U' . $this -> account);
}
// エラーチェック
$this -> validate();
$this -> user = $this -> getRowData($this -> user);
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'status' => intval($this -> getColumnData($this -> user, COLUMN_ACCOUNT_TYPE))));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
}
}
$api = new APIGetKYCStatus();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetLanguageList extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $lang = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'M' . $this -> account);
}
// エラーチェック
$this -> validate();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'list' => $this -> getLanguageListCommon()));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
}
}
$api = new APIGetLanguageList();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetNews extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $lang = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> lang = $this -> getDataPost(PARAM_LANGUAGE);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'N' . $this -> account);
}
// エラーチェック
$this -> validate();
// 変数宣言部
$params = array();
$rtn = array();
$rs = null;
// 言語指定
if($this -> lang == 'ja') {
$lang = NO_COUNT;
} else if($this -> lang == 'en') {
$lang = VAL_INT_1;
} else {
$lang = VAL_INT_1;
}
$params[] = $this -> account; // ユーザアカウント
$params[] = $lang; // 言語
// お知らせの取得
$rs = $this -> accessSelect('LIST_NEWS_USER_ALL', $params);
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'history' => $rs));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
}
}
$api = new APIGetNews();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetPlemiumCardAuth extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $currency = NO_STRING;
private $userAccount = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
ob_start();
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$currencies = null;
$tmp = null;
try {
$url = "https://wcapi.wavecrest.in/v3/services/authenticator";
$curl = curl_init($url); // 初期化!
// オプション配列
$options = array(
CURLOPT_HTTPHEADER => array('Developerid' => '719u8zu4ghg3bvo73iqp'
, 'Developerpassword' => 'Cathy@1111'
, 'X-Method-Override' => 'login'
)
, CURLOPT_POST => true
, CURLINFO_HEADER_OUT => true
);
curl_setopt_array($curl, $options);
// リクエスト実行
$result = curl_exec($curl);
echo $result;
// curl_close($curl);
// $result = json_decode($body, true);
// $response = curl_getinfo($curl, CURLINFO_HEADER_OUT);
echo $result;
var_dump($result);
$balanceUrl = 'https://wcapi.wavecrest.in:443/v3/services/users/1218675/cards/246654418652051/balance';
$options = array(
CURLOPT_URL => $balanceUrl
, CURLOPT_HTTPHEADER => array('Developerid' => '719u8zu4ghg3bvo73iqp'
, 'Developerpassword' => 'Cathy@1111'
, 'X-Method-Override' => 'login'
, 'AuthenticationToken' => '24We3DBEwd7uhONbeaa542b')
, CURLOPT_HTTPGET => true
, CURLINFO_HEADER_OUT => true
);
curl_setopt_array($curl, $options);
// リクエスト実行
$result = curl_exec($curl);
echo $result;
curl_close($curl);
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
ob_end_clean();
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
} catch (Exception $e) {
throw $e;
}
}
}
$api = new APIGetPlemiumCardAuth();
$api -> action();
?>
<?php
require_once('config.php');
class APIGetPlemiumCardAuthToken extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $token = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
ob_start();
parent::__construct();
$this -> action();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$currencies = null;
$tmp = null;
try {
$url = PLATINUM_CARD_AUTH_URL;
$curl = curl_init($url); // 初期化!
// オプション配列
$options = array(
CURLOPT_HTTPHEADER => array('Developerid:' . PLATINUM_CARD_DEVELOPER_ID
, 'Developerpassword:' . PLATINUM_CARD_DEVELOPER_PASSWORD
, 'X-Method-Override:login'
, 'Content-Type:application/json'
)
, CURLOPT_POST => true
, CURLINFO_HEADER_OUT => true
, CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($curl, $options);
// リクエスト実行
$result = curl_exec($curl);
$json_result = json_decode($result, true);
// echo $result;
if(isset($json_result['token'])) {
$this -> token = $json_result['token'];
}
curl_close($curl);
} catch (Exception $e) {
ob_end_clean();
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: トークンの取得
* @parameter : トークン
* @return : なし
-------------------------------------------------------------------------*/
function getToken() {
return $this -> token;
}
}
$test = new APIGetPlemiumCardAuthToken();
?>
<?php
require_once('config.php');
require_once('GetPlatinumCardAuthToken.php');
class APIGetPlemiumCardBalance extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $currency = NO_STRING;
private $amount = NO_COUNT;
private $expireDate = NO_COUNT;
private $dispType = NO_COUNT;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
ob_start();
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$userId = NO_STRING;
$proxy = NO_STRING;
try {
// トークンの取得
$objAuth = new APIGetPlemiumCardAuthToken();
$token = $objAuth -> getToken();
$cardId = $this -> getPosParameter(PARAM_CARD_HOLDER_ID);
$row = $this -> getCardCommon($cardId);
$proxy = $this -> getColumnData($row, COLUMN_PROXY);
$balanceUrl = PLATINUM_CARD_ROOT_URL . '/users/' . $cardId . '/cards/' . $proxy . '/balance';
// $balanceUrl = PLATINUM_CARD_ROOT_URL . 'users/1650232/cards/246654410527640/balance';
$curl = curl_init($balanceUrl); // 初期化!
$params = array("businessPartnerId" => "1508229");
$options = array(
CURLOPT_URL => $balanceUrl
, CURLOPT_HTTPHEADER => array('Developerid:' . PLATINUM_CARD_DEVELOPER_ID
, 'Developerpassword:' . PLATINUM_CARD_DEVELOPER_PASSWORD
, 'X-Method-Override:login'
, 'AuthenticationToken:' . $token
)
, CURLOPT_POSTFIELDS => json_encode($params)
, CURLOPT_HTTPGET => true
, CURLINFO_HEADER_OUT => true
, CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($curl, $options);
// リクエスト実行
$result = curl_exec($curl);
$json_result = json_decode($result, true);
// echo $result;
// 通貨があった場合
$this -> currency = $this -> getColumnData($json_result, PARAM_CURRENCY);
$this -> amount = intval($this -> getColumnData($json_result, 'avlBal'));
curl_close($curl);
// カード有効期限の取得
$card = $this -> getRowData($this -> getCardsCommon($this -> getUserData(PARAM_USER_ACCOUNT), $cardId));
$this -> expireDate = $this -> getColumnData($card, COLUMN_EXPIRE_DATE);
} catch (Exception $e) {
ob_end_clean();
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: 残高の取得
* @parameter : カード残高
* @return : なし
-------------------------------------------------------------------------*/
function getBalance() {
return $this -> amount;
}
/*-------------------------------------------------------------------------
* @function_name: 残高の取得
* @parameter : カード残高
* @return : なし
-------------------------------------------------------------------------*/
function getBalanceJson() {
// 変数宣言部
$rtn = array(PARAM_AMOUNT => $this -> amount
, PARAM_RESULT => $this -> getAmountString($this -> amount, USD)
, PARAM_EXPIRE_DATE => $this -> expireDate
);
return json_encode($rtn);
}
/*-------------------------------------------------------------------------
* @function_name: 残高の取得
* @parameter : カード残高
* @return : なし
-------------------------------------------------------------------------*/
function getDispType() {
return $this -> dispType;
}
}
$api = new APIGetPlemiumCardBalance();
$api -> action();
echo $api -> getBalanceJson();
?>
<?php
require_once('config.php');
require_once('GetPlatinumCardAuthToken.php');
class APIGetPlemiumCardBalance extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $details = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
ob_start();
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$cardId = NO_COUNT;
$proxy = NO_COUNT;
try {
// トークンの取得
$objAuth = new APIGetPlemiumCardAuthToken();
$token = $objAuth -> getToken();
// パラメータの取得
$cardId = $this -> getPosParameter(PARAM_CARD_HOLDER_ID);
$row = $this -> getCardCommon($cardId);
$proxy = $this -> getColumnData($row, COLUMN_PROXY);
// パラメータの取得
$cardId = $this -> getPosParameter(PARAM_CARD_HOLDER_ID);
$row = $this -> getCardCommon($cardId);
$proxy = $this -> getColumnData($row, COLUMN_PROXY);
$startDate = $this -> getPosParameter('from');
$endDate = $this -> getPosParameter('to');
// $balanceUrl = PLATINUM_CARD_ROOT_URL . 'users/1218675/cards/246654418652051/transactions';
// $balanceUrl = PLATINUM_CARD_ROOT_URL . 'users/1360318/cards/246654430404424/transactions';
// $balanceUrl = PLATINUM_CARD_ROOT_URL . 'users/1548625/cards/246654409219548/transactions';
// $balanceUrl = PLATINUM_CARD_ROOT_URL . 'users/1540285/cards/246654475603377/transactions';
$balanceUrl = PLATINUM_CARD_ROOT_URL . 'users/' . $cardId . '/cards/' . $proxy . '/transactions';
$curl = curl_init($balanceUrl); // 初期化!
// 送信データ
$params = array(
"txnType" => array("All")
, "businessPartnerId" => "1508229"
, "startDate" => "2015-08-30T00:00:00.000+05:00"
, "endDate" => "2017-05-31T00:00:00.000+05:00"
, 'txnType' => array("All")
, "businessPartnerId" => "1508229"
, "startDate" => $startDate
, "endDate" => $endDate
, "channelType" => "1"
, "offset" => "0"
, "txnCount" => "100"
// , "refId" => "1234"
// , "localeTime" => "2013-08-30T00:00:00.000+05:00"
);
$options = array(
CURLOPT_URL => $balanceUrl
, CURLOPT_HTTPHEADER => array('Developerid:' . PLATINUM_CARD_DEVELOPER_ID
, 'Developerpassword:' . PLATINUM_CARD_DEVELOPER_PASSWORD
, 'X-Method-Override:login'
, 'AuthenticationToken:' . $token
, 'Content-Type:application/json'
)
, CURLOPT_POSTFIELDS => json_encode($params)
, CURLOPT_POST => true
, CURLINFO_HEADER_OUT => true
, CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($curl, $options);
// リクエスト実行
$result = curl_exec($curl);
$json_result = json_decode($result, true);
// print_r($json_result);
// 通貨があった場合
$this -> details = $this -> getColumnData($json_result, 'transactionDetails');
curl_close($curl);
} catch (Exception $e) {
ob_end_clean();
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: 利用明細の取得
* @parameter : 利用明細
* @return : なし
-------------------------------------------------------------------------*/
function getDetailsJson() {
// 変数宣言部
$rtn = array(PARAM_RESULT => $this -> details);
return json_encode($rtn);
}
/*-------------------------------------------------------------------------
* @function_name: 残高の取得
* @parameter : カード残高
* @return : なし
-------------------------------------------------------------------------*/
function getDetails() {
return $this -> details;
}
}
$api = new APIGetPlemiumCardBalance();
$api -> action();
echo $api -> getDetailsJson();
?>
<?php
require_once('config.php');
require_once('GetPlatinumCardAuthToken.php');
class APIGetPlemiumCardLoading extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $result = NO_STRING;
private $amount = NO_COUNT;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
ob_start();
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
try {
// トークンの取得
$objAuth = new APIGetPlemiumCardAuthToken();
$token = $objAuth -> getToken();
$cardId = $this -> getPosParameter(PARAM_CARD_HOLDER_ID);
$row = $this -> getCardCommon($cardId);
$proxy = $this -> getColumnData($row, COLUMN_PROXY);
$this -> amount = $this -> getPosParameter(PARAM_AMOUNT);
//transaction id的取得
$refId = $this -> getPosParameter('refId');
$balanceUrl = PLATINUM_CARD_ROOT_URL . 'users/' . $cardId . '/cards/' . $proxy . '/load';
$curl = curl_init($balanceUrl); // 初期化!
// 送信データ
$params = array("transactionAmount" => $this -> amount
, "agentId" => "1508229"
, "refId" => $refId
);
// $params = array(
// 'userid' => '1218675'
// , 'proxy' => '246654418652051'
// ,
// 'CardLoadRequest' => array(
// 'sourceTxnId' => '50001'
// , 'transactionAmount' => '50000'
// , 'amount' => '500'
// , 'currencyCode' => 'USD'
// , 'channelType' => '1'
// , 'refId' => '112'
// // , 'agentId' => '707109'
// // , 'sourceTxnDateTime' => '2015-02-04T00:00:00.000+05:00'
// // , 'sourceName' => 'ProgramPartner'
// // , 'comments' => 'Card load'
// )
// $params = '{"transactionAmount": "500"}';
// );
$options = array(
CURLOPT_URL => $balanceUrl
, CURLOPT_HTTPHEADER => array('Developerid:' . PLATINUM_CARD_DEVELOPER_ID
, 'Developerpassword:' . PLATINUM_CARD_DEVELOPER_PASSWORD
, 'X-Method-Override:login'
, 'AuthenticationToken:' . $token
, 'Content-Type:application/json'
// , 'Content-Type: text/javascript; charset=utf-8'
)
, CURLOPT_POSTFIELDS => json_encode($params)
, CURLOPT_POST => true
, CURLINFO_HEADER_OUT => true
, CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($curl, $options);
$result2 = curl_exec($curl);
$result = json_decode($result2, true);
$this -> result = $result;
//LOG写入
$dir = "Logs/VPC_LOG_".date("Y-m-d");
if(!is_dir($dir))
{
mkdir($dir);
chmod($dir,0777);
}
$log = "Log_".date("Y-m-d H:i:s").'.log';//文件名及路径,在当前目录下新建aa.txt文件
$fopen = fopen($dir."/".$log, 'a+');//新建文件命令
fputs($fopen, "--------------------------".date("Y-m-d H:i:s")."LOG---------------------------\r\n");
fputs($fopen, $result2."\r\n");
fclose($fopen);
curl_close($curl);
} catch (Exception $e) {
ob_end_clean();
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 変数宣言部
$msgs = array();
try {
} catch (Exception $e) {
throw $e;
}
}
/*-------------------------------------------------------------------------
* @function_name: 残高の取得
* @parameter : カード残高
* @return : なし
-------------------------------------------------------------------------*/
function getResultJson() {
// 変数宣言部
$rtn = array(PARAM_RESULT => NO_STRING);
// print_r($this -> result);
if($this -> getColumnData($this -> result, PARAM_STATUS) == 'Success') { // 成功
$rtn[PARAM_RESULT] = PARAM_SUCCESS;
} else { // 失敗
$rtn[PARAM_RESULT] = PARAM_FAIL;
}
$rtn['refId'] = $this -> getColumnData($this -> result, 'refId'); //get transactionId from vendor response
return json_encode($rtn);
}
}
$api = new APIGetPlemiumCardLoading();
$api -> action();
echo $api -> getResultJson();
?>
<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
</head>
<body>
<table style="border: 2px #808080 solid;">
<tr>
<th style="width:100px;text-align:center;border: 2px #808080 solid;">ID</th>
<th style="width:150px;text-align:center;border: 2px #808080 solid;">実行時間</th>
<th style="width:100px;text-align:center;border: 2px #808080 solid;">IPアドレス</th>
<th style="width:300px;text-align:center;border: 2px #808080 solid;">URL</th>
<th style="width:300px;text-align:center;border: 2px #808080 solid;">POST値</th>
</tr>
<?php
include_once('../system/lib/config.php');
$sys = new System();
// 変数宣言部
$rs = null;
$rtn = NO_STRING;
// データの取得
$rs = $sys -> accessSelect('LIST_POST_LOG', array());
if($sys -> isLoopData($rs)) {
foreach($rs as $row) {
$post = NO_STRING;
if($row['post'] != NO_STRING) {
$post = str_replace('&', '</br>', $row['post']);
}
$rtn .= '<tr>
<td style="border: 2px #808080 solid;">' . $row['l_id'] . '</td>
<td style="border: 2px #808080 solid;">' . $row['create_time'] . '</td>
<td style="border: 2px #808080 solid;">' . $row['ip_address'] . '</td>
<td style="border: 2px #808080 solid;">' . $row['url'] . '</td>
<td style="border: 2px #808080 solid;word-break: break-all;">' . $post . '</td>
</tr>';
}
}
echo $rtn;
?>
</table>
</body>
</html>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetRequestAccountHistory extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'R' . $this -> account);
}
// エラーチェック
$this -> validate();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'list' => $this -> accessSelect('LIST_REQUEST_HISTORY', array($this -> account))));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
}
}
$api = new APIGetRequestAccountHistory();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetRequestApplyDetail extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $rId = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> rId = intval($this -> getDataPost(PARAM_R_ID));
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'R' . $this -> account);
}
// エラーチェック
$this -> validate();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'data' => $this -> getRowData($this -> accessSelect('LIST_REQUEST_API_BY_R_ID', array($this -> rId)))));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
// 必須項目のチェック
if(!$this -> checkNull($this -> rId)) {
throw new Exception('E_REQUIRED_VALUE');
}
}
}
$api = new APIGetRequestApplyDetail();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetRequestApplyList extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'R' . $this -> account);
}
// エラーチェック
$this -> validate();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'list' => $this -> accessSelect('LIST_REQUEST_APPLY_BY_USER', array($this -> account))));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
}
}
$api = new APIGetRequestApplyList();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetRequestDetail extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
private $rId = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
$row = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
$this -> rId = intval($this -> getDataPost(PARAM_R_ID));
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'R' . $this -> account);
}
// エラーチェック
$this -> validate();
// データの取得
$row = $this -> getRowData($this -> accessSelect('LIST_REQUEST_BY_R_ID', array($this -> rId)));
// データ返却用に詰め替える
$rtn[COLUMN_R_ID] = $this -> getColumnData($row, COLUMN_R_ID);
$rtn[COLUMN_FROM_ACCOUNT] = $this -> getColumnData($row, COLUMN_FROM_ACCOUNT);
$rtn[COLUMN_TO_ACCOUNT] = $this -> getColumnData($row, COLUMN_TO_ACCOUNT);
$rtn[COLUMN_CURRENCY] = $this -> getColumnData($row, COLUMN_CURRENCY);
$rtn[COLUMN_AMOUNT] = $this -> getColumnData($row, COLUMN_AMOUNT);
$rtn[COLUMN_MESSAGE] = $this -> getColumnData($row, COLUMN_MESSAGE);
$rtn[COLUMN_STATUS] = $this -> getColumnData($row, COLUMN_STATUS);
$rtn[COLUMN_CREATE_TIME] = $this -> getColumnData($row, COLUMN_CREATE_TIME);
$rtn[COLUMN_UPDATE_TIME] = $this -> getColumnData($row, COLUMN_UPDATE_TIME);
$rtn[COLUMN_SEND_MESSAGE] = $this -> getColumnData($row, COLUMN_SEND_MESSAGE);
$rtn[COLUMN_FROM_FEE] = $this -> getColumnData($row, COLUMN_FROM_FEE);
$rtn[COLUMN_TO_FEE] = $this -> getColumnData($row, COLUMN_TO_FEE);
$rtn[COLUMN_MAIL] = $this -> getColumnData($row, COLUMN_MAIL);
$rtn[COLUMN_FROM_LAST_NAME] = $this -> getColumnData($row, COLUMN_LAST_NAME);
$rtn[COLUMN_FROM_FIRST_NAME] = $this -> getColumnData($row, COLUMN_FROM_FIRST_NAME);
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'data' => $rtn));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
// 必須項目のチェック
if(!$this -> checkNull($this -> rId)) {
throw new Exception('E_REQUIRED_VALUE');
}
}
}
$api = new APIGetRequestDetail();
$api -> action();
?>
\ No newline at end of file
<?php
require_once('config.php');
class APIGetRequestHistory extends System {
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private $signature = NO_STRING;
private $account = NO_STRING;
/*-------------------------------------------------------------------------
* @function_name: ロジックのコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function __construct() {
ob_start();
parent::__construct();
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの更新
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function action() {
// 変数宣言部
$rtn = array();
$base = null;
try {
// パラメータの設定
$this -> signature = $this -> getDataPost(PARAM_SIGNATURE);
$this -> account = $this -> getDataPost(PARAM_USER_ACCOUNT);
// シグネチャのチェック(デバッグの場合は処理しない)
if($this -> getDataPost('debug') == NO_STRING) {
$this -> checkSignature($this -> signature, 'R' . $this -> account);
}
// エラーチェック
$this -> validate();
ob_end_clean();
echo json_encode(array('result' => 'OK'
, 'messages' => 'I_COMPLETE_PROCESS'
, 'list' => $this -> accessSelect('LIST_REQUEST_BY_USER', array($this -> account))));
} catch (Exception $e) {
$rtn = array('result' => 'NG'
, 'messages' => $e -> getMessage());
ob_end_clean();
echo json_encode($rtn);
}
}
/*-------------------------------------------------------------------------
* @function_name: エラーチェック
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function validate() {
// 口座の存在確認
$this -> user = $this -> getAccountCommon($this -> account);
if(count($this -> user) == NO_COUNT) {
throw new Exception('E_REQUIRED_VALUE');
}
}
}
$api = new APIGetRequestHistory();
$api -> action();
?>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<?php
include_once('../system/lib/config.php');
$sys = new System();
// パラメータ
$rtn = array(PARAM_BALANCE => NO_COUNT);
$currency = $sys -> getDataPost(PARAM_CURRENCY);
$userAccount = $sys -> getDataPost(PARAM_USER_ACCOUNT);
$balance = $sys -> getBalanceCommon($userAccount, $currency);
if($balance < 0) {
echo json_encode($rtn);
} else {
$rtn[PARAM_BALANCE] = $sys -> formatCurrency($balance, $currency);
echo json_encode($rtn);
}
?>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<?php
include_once('APICardBalance.php');
$api = new APICardBalance();
$rtn = $api -> action();
echo json_encode($rtn);
?>
<?php
include_once('../system/lib/config.php');
?>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<?php
include_once('../system/lib/config.php');
$sys = new System();
// パラメータ
$rtn = array();
$currency = $sys -> getDataPost(PARAM_CURRENCY);
$userAccount = $sys -> getDataPost(PARAM_USER_ACCOUNT);
$balance = $sys -> getBalanceCommon($sys -> getUserData(PARAM_USER_ACCOUNT), $currency);
if($balance < 0) {
echo 0;
} else {
echo $sys -> formatCurrency($balance, $currency);
}
?>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment