Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
iwl-live
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Anthony.Suerte
iwl-live
Commits
22bf027a
Commit
22bf027a
authored
Jun 24, 2021
by
Anthony.Suerte
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Deleted Backup File from Deposit Directory
parent
67db25e9
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
0 additions
and
3029 deletions
+0
-3029
_model.php
logic/deposit/_model.php
+0
-1444
model.php.bak
logic/deposit/model.php.bak
+0
-1585
model.php.bak20180301
logic/deposit/model.php.bak20180301
+0
-0
model.php.bak20180328
logic/deposit/model.php.bak20180328
+0
-0
No files found.
logic/deposit/_model.php
deleted
100644 → 0
View file @
67db25e9
<?php
date_default_timezone_set
(
'Asia/Tokyo'
);
class
DepositModelClass
extends
ModelClassEx
{
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private
$account
=
null
;
private
$method
=
NO_STRING
;
private
$amount
=
NO_STRING
;
private
$tAmount
=
NO_STRING
;
private
$payment
=
NO_STRING
;
private
$currency
=
NO_STRING
;
private
$referenceNo
=
NO_STRING
;
// リファレンス番号
private
$fee
=
NO_STRING
;
// 手数料
/*-------------------------------------------------------------------------
* @function_name: コントロールパネルシステムindexモデルクラスコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function
__construct
()
{
// スーパークラスコンストラクタ呼び出し
parent
::
__construct
();
}
/*-------------------------------------------------------------------------
* @function_name: 初期設定関数
* @parameter : なし
* @return : 成功:success、失敗:error
-------------------------------------------------------------------------*/
public
function
init
()
{
try
{
// パラメータの設定
$this
->
setParameter
();
// チェック
$this
->
validate
();
// 決済金額の計算
$this
->
calculate
();
return
true
;
}
catch
(
Exception
$e
)
{
// throw new Exception(NO_STRING);
return
false
;
}
}
/*-------------------------------------------------------------------------
* @function_name: パラメータの設定
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
private
function
setParameter
()
{
$this
->
method
=
$this
->
getDataPost
(
PARAM_METHOD
);
$this
->
amount
=
$this
->
getDataPost
(
PARAM_AMOUNT
);
$this
->
currency
=
$this
->
getDataPost
(
PARAM_CURRENCY
);
$this
->
message
=
$this
->
getDataPost
(
PARAM_MESSAGE
);
$this
->
depoistmoney
=
$this
->
getDataPost
(
'depositmoney'
);
/*$this -> method = $this -> getDataPost(PARAM_METHOD);
$this -> tAmount = $this -> getDataPost(PARAM_T_AMOUNT);
$this -> referenceNo = $this -> getDataGet('rn'); // 新ファイル名
if($this -> method == 'INSTANTBANKTRANSFER') { // 銀行送金の場合は金額の切り替え
$this -> amount = $this -> tAmount;
$this -> currency = JPY;
} else {
$this -> currency = VAR_GPAYSAFE_CARD_CURRENCY;
}*/
if
(
$this
->
method
==
VAL_STR_VSMS_METHOD
){
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
}
else
if
(
$this
->
method
==
CASHFLOW_DEPOSIT_CONFIRM
){
$this
->
setType
(
CASHFLOW_DEPOSIT_CONFIRM
);
}
else
if
(
$this
->
method
==
CASHFLOW_DEPOSIT_SEND
){
$this
->
setType
(
CASHFLOW_DEPOSIT_SEND
);
}
else
if
(
$this
->
method
==
TYPE_CUP
){
$this
->
setType
(
TYPE_CUP_INPUT
);
}
else
if
(
$this
->
method
==
TYPE_CUP_INPUT
){
$this
->
setType
(
TYPE_CUP_CONFIRM
);
}
else
if
(
$this
->
method
==
TYPE_CUP_CONFIRM
){
$this
->
setType
(
TYPE_CUP_CONFIRM
);
}
// ユーザ情報の取得
$this
->
account
=
$this
->
getRowData
(
$this
->
getAccountCommon
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)));
}
/*-------------------------------------------------------------------------
* @function_name: サーバ側データチェック
* @parameter : なし
* @return : TRUE:成功、FALSE:失敗
-------------------------------------------------------------------------*/
public
function
validate
()
{
// 変数宣言部
$rtn
=
true
;
$fee
=
NO_COUNT
;
$commission
=
NO_COUNT
;
$errType
=
NO_COUNT
;
if
(
$this
->
getType
()
==
TYPE_SUCCESS
||
$this
->
getType
()
==
TYPE_PENDING
||
$this
->
getType
()
==
TYPE_FAIL
)
{
return
true
;
}
// ログインチェック
if
(
!
$this
->
checkSiteUserLogin
())
{
throw
new
Exception
(
NO_STRING
);
}
if
(
$this
->
getType
()
==
TYPE_COMPLETE
&&
$this
->
method
!=
NO_STRING
)
{
// リミットチェック
if
(
!
$this
->
checkGPSLimit
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
),
$this
->
method
,
$errType
))
{
$this
->
setType
();
if
(
$errType
==
VAL_INT_1
)
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_DEPOSIT_PERMISSION'
,
array
());
}
else
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_DEPOSIT_GPS_LIMIT'
,
array
());
}
$this
->
setType
(
NO_STRING
);
return
false
;
}
}
else
if
(
$this
->
getType
()
==
TYPE_CUP_INPUT
||
$this
->
getType
()
==
TYPE_CUP_CONFIRM
||
$this
->
getType
()
==
TYPE_CUP_PAYMENTSUCCESS
||
$this
->
getType
()
==
TYPE_CUP_PAYMENTFAILURE
)
{
$list
=
$this
->
CheckPaymentKind
();
if
(
$list
[
VAL_INT_3
]
==
NO_COUNT
){
$this
->
setType
(
NO_STRING
);
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_CUPKINDCHECK_VERTIFY'
,
array
());
return
;
}
if
(
$this
->
getType
()
==
TYPE_CUP_INPUT
){
//进入cashflow并进行输入时
$account_Category
=
''
;
//设定账号默认类别
//为了统一,这里normal代码kYC非认证用户,vip代表KYC认证用户
if
(
!
$this
->
checkUnlimitedStatus
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$account_Category
=
'normal'
;
}
else
{
$account_Category
=
'vip'
;
}
//将账户类别保存到SESSION中
$_SESSION
[
'account_Category'
]
=
$account_Category
;
// 不正防止のため、成功失敗関係なく1時間に5回まで、決済することができる。
if
(
!
$this
->
checkCUPDeposit1Hour
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_1_HOUR'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
// 24時間以内決済成功は限制回まで。過去24時間にVIP 6回決済,Normal 3回したユーザーは、4回目エラーメッセージを表示
if
(
!
$this
->
checkDepositByCUP24Hour
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
if
(
$account_Category
==
'vip'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_VIP'
,
array
());
}
else
if
(
$account_Category
==
'normal'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_NORMAL'
,
array
());
}
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
/*// 30日間の決済成功累積額上限は、Normal CNY30,000まで,Vip CNY 60,000まで
if(!$this -> checkDepositByCUP1Days($this -> getUserData(PARAM_USER_ACCOUNT))) {
$this -> popUpSessionMessage(ERROR, 'E_LIMIT_DEPOSIT_AMOUNT', array());
$rtn = false;
if(!$rtn) {
$this -> setType(NO_STRING);
return;
}
}*/
}
if
(
$this
->
getType
()
==
TYPE_CUP_CONFIRM
){
//确认页对输入的信息进行校验,并计算fee等信息
//判断是个人还是法人账户
$accounttype
=
$this
->
getColumnData
(
$this
->
account
,
'account_type'
);
//查看必要用户信息是否已填写,没有通知先完善用户信息
if
(
$accounttype
==
1
){
$firstName
=
$this
->
CallUserData
(
PARAM_CEO_FIRST_NAME
);
$lastName
=
$this
->
CallUserData
(
PARAM_CEO_LAST_NAME
);
if
(
empty
(
$firstName
)
||
empty
(
$lastName
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_CASHFLOW_DEPOSIT_INFO'
,
array
());
$this
->
setType
(
NO_STRING
);
return
;
}
}
//查看必要用户信息是否已填写,没有通知先完善用户信息
if
(
!
$this
->
checkUserProfile
()){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_CASHFLOW_DEPOSIT_INFO'
,
array
());
$this
->
setType
(
NO_STRING
);
return
;
}
//查看金额是否为空
if
(
!
$this
->
checkNull
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
//查看入金金额是否符合规范
if
(
!
$this
->
checkCurrencyNumber
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_VALUE_PREG'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
//查看入金金额是否在范围内
if
(
$_SESSION
[
'account_Category'
]
==
'vip'
){
if
((
$this
->
amount
<
200
)
||
(
$this
->
amount
>
60000
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_VERTIFY'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
}
else
if
(
$_SESSION
[
'account_Category'
]
==
'normal'
){
if
((
$this
->
amount
<
200
)
||
(
$this
->
amount
>
30000
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_NOVERTIFY'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
}
// メッセージの正規表現チェック
if
(
!
$this
->
checkStringMessage
(
$this
->
message
))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_REGULAR_MESSAGE'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
//判断message长度是否规范
if
(
!
$this
->
checkLength
(
$this
->
message
,
0
,
250
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_MESSAGE'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
//检查入金金额是否超限
/*if(!$this -> checkCUPMoneyInExceed($this -> amount , $this -> currency)){
$this -> popUpSessionMessage(ERROR, 'E_LIMIT_DEPOSIT_AMOUNT', array());
$rtn = false;
if(!$rtn) {
$this -> setType(TYPE_CUP_INPUT);
return;
}
}*/
include
$_SERVER
[
'DOCUMENT_ROOT'
]
.
DIRECTORY_SEPARATOR
.
'system'
.
DIRECTORY_SEPARATOR
.
'lib'
.
DIRECTORY_SEPARATOR
.
'core'
.
DIRECTORY_SEPARATOR
.
'CUP_config.php'
;
$commission
=
$this
->
intToCurrency
((
$this
->
amount
*
$CUP
[
'Transaction'
][
'fee'
]),
PERCENT
);
$this
->
fee
=
$commission
+
$CUP
[
'Transaction'
][
'transactionfee'
];
$_SESSION
[
'CUP_Data'
][
'user_account'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_USER_ACCOUNT
);
$_SESSION
[
'CUP_Data'
][
'Country'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_COUNTRY
);
$_SESSION
[
'CUP_Data'
][
'firstName'
]
=
$accounttype
==
1
?
$this
->
getColumnData
(
$this
->
account
,
PARAM_CEO_FIRST_NAME
)
:
$this
->
getColumnData
(
$this
->
account
,
PARAM_LAST_NAME
);
$_SESSION
[
'CUP_Data'
][
'lastName'
]
=
$accounttype
==
1
?
$this
->
getColumnData
(
$this
->
account
,
PARAM_CEO_LAST_NAME
)
:
$this
->
getColumnData
(
$this
->
account
,
PARAM_FIRST_NAME
);
$_SESSION
[
'CUP_Data'
][
'mail'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_MAIL
);
$_SESSION
[
'CUP_Data'
][
'state'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_STATE
);
$_SESSION
[
'CUP_Data'
][
'city'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_CITY
);
$_SESSION
[
'CUP_Data'
][
'address'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_ADDRESS
);
$_SESSION
[
'CUP_Data'
][
'zip'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_ZIP_CODE
);
$_SESSION
[
'CUP_Data'
][
'tel'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_TEL
);
$_SESSION
[
'CUP_Data'
][
'amount'
]
=
$this
->
amount
;
$_SESSION
[
'CUP_Data'
][
'currency'
]
=
'CNY'
;
$_SESSION
[
'CUP_Data'
][
'Actual'
]
=
$this
->
amount
+
$this
->
fee
;
$_SESSION
[
'CUP_Data'
][
'fee'
]
=
$this
->
fee
;
$_SESSION
[
'CUP_Data'
][
'message'
]
=
$this
->
message
;
$_SESSION
[
'CUP_Data'
][
'method'
]
=
TYPE_CUP
;
$_SESSION
[
'CUP_Data'
][
'lang'
]
=
$this
->
getLangage
();
$this
->
fee
=
sprintf
(
"%.2f"
,
$this
->
fee
);
$this
->
amount
=
sprintf
(
"%.2f"
,
$this
->
amount
);
$this
->
currency
=
CNY
;
}
if
(
$this
->
getType
()
==
TYPE_CUP_PAYMENTSUCCESS
||
$this
->
getType
()
==
TYPE_CUP_PAYMENTFAILURE
){
$this
->
transationNumber
=
$this
->
getColumnData
(
$_SESSION
,
'transaction_number'
);
//$transationNumber = CUBITS_TRANSACTION_NUM.$this -> transationNumber;
$this
->
setDeposit
(
$this
->
getRowData
(
$this
->
accessSelect
(
'SELECT_DEPOSIT_BY_TRANSACTION_NUMBER'
,
array
(
$this
->
transationNumber
))));
$this
->
currency
=
'CNY'
;
if
(
$this
->
isSendMail
!=
VAL_INT_1
){
if
(
$this
->
getType
()
==
TYPE_CUP_PAYMENTSUCCESS
){
$this
->
sendCUPSuccessMail
();
$this
->
accessModifyCommon
(
'UPDATE_DEPOSIT_ISSENDMAIL'
,
array
(
$this
->
transationNumber
));
}
else
if
(
$this
->
getType
()
==
TYPE_CUP_PAYMENTFAILURE
){
$this
->
sendCUPFailMail
();
$this
->
accessModifyCommon
(
'UPDATE_DEPOSIT_ISSENDMAIL'
,
array
(
$this
->
transationNumber
));
}
}
}
}
else
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_INPUT
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_CONFIRM
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SUCCESS
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_FAILURE
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SEND
){
$list
=
$this
->
CheckPaymentKind
();
if
(
$list
[
VAL_INT_4
]
==
NO_COUNT
){
$this
->
setType
(
NO_STRING
);
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VISAKINDCHECK_VERTIFY'
,
array
());
return
;
}
//确认为CashFlow支付分支,进行提交检索
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_INPUT
){
//进入cashflow并进行输入时
$account_Category
=
''
;
//设定账号默认类别
//判断是否是KYC认证用户
// 通常会員不可!無制限会員のみOK
if
(
!
$this
->
checkUnlimitedStatus
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
setType
(
TYPE_NOTICE_KYC
);
return
;
}
else
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
}
// 不正防止のため、成功失敗関係なく1時間に5回まで、決済することができる。
if
(
!
$this
->
checkCashFlowDeposit1Hour
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_1_HOUR'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
//如果为认证会员,获取会员的type,vip还是normal
if
(
$this
->
checkVIPStatus
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$account_Category
=
'vip'
;
}
else
{
$account_Category
=
'normal'
;
}
//将账户类别保存到SESSION中
$_SESSION
[
'account_Category'
]
=
$account_Category
;
// 24時間以内決済成功は限制回まで。過去24時間にVIP 10回決済,Normal 3回したユーザーは、4回目エラーメッセージを表示
if
(
!
$this
->
checkDepositByCard24Hour
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
if
(
$account_Category
==
'vip'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_VIP'
,
array
());
}
else
if
(
$account_Category
==
'normal'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_NORMAL'
,
array
());
}
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
// 30日間の決済成功累積額上限は、Normal USD20,000まで,Vip USD20,000まで
if
(
!
$this
->
checkDepositByCard30Days
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_AMOUNT'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
}
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_CONFIRM
){
//确认页对输入的信息进行校验,并计算fee等信息
//判断是个人还是法人账户
$accounttype
=
$this
->
getColumnData
(
$this
->
account
,
'account_type'
);
//查看必要用户信息是否已填写,没有通知先完善用户信息
if
(
$accounttype
==
1
){
$firstName
=
$this
->
CallUserData
(
PARAM_CEO_FIRST_NAME
);
$lastName
=
$this
->
CallUserData
(
PARAM_CEO_LAST_NAME
);
if
(
empty
(
$firstName
)
||
empty
(
$lastName
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_CASHFLOW_DEPOSIT_INFO'
,
array
());
$this
->
setType
(
NO_STRING
);
return
;
}
}
//查看必要用户信息是否已填写,没有通知先完善用户信息
$ZipCode
=
$this
->
CallUserData
(
PARAM_ZIP_CODE
);
$Address
=
$this
->
CallUserData
(
PARAM_ADDRESS
);
$City
=
$this
->
CallUserData
(
PARAM_CITY
);
$Phone
=
$this
->
CallUserData
(
PARAM_TEL
);
if
(
empty
(
$ZipCode
)
||
empty
(
$Address
)
||
empty
(
$City
)
||
empty
(
$Phone
)
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_CASHFLOW_DEPOSIT_INFO'
,
array
());
$this
->
setType
(
NO_STRING
);
return
;
}
//查看金额是否为空
if
(
!
$this
->
checkNull
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
//判断自定义金额是否为空,不为空对金额做出判断,以及有效入金限制
if
(
$this
->
checkNull
(
$this
->
depoistmoney
)){
if
(
$this
->
currency
==
'JPY'
){
if
((
$this
->
amount
<
50000
)
||
(
$this
->
amount
>
100000
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_JP'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
}
if
(
!
$this
->
checkStringIntOnly
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_VALUE_PREG'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
}
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
else
{
if
((
$this
->
amount
<
500
)
||
(
$this
->
amount
>
1000
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_OTHER'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
}
if
(
!
$this
->
checkCurrencyNumber
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_VALUE_PREG'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
}
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
// メッセージの正規表現チェック
if
(
!
$this
->
checkStringMessage
(
$this
->
message
))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_REGULAR_MESSAGE'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
if
(
!
$this
->
checkLength
(
$this
->
message
,
0
,
128
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_MESSAGE'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
if
(
!
$this
->
checkMoneyInExceed
(
$this
->
amount
,
$this
->
currency
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_AMOUNT'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
// 手数料の取得
$fee
=
$this
->
getFeeCommon
(
VAR_DEPOSIT
,
$this
->
amount
,
$this
->
currency
,
$this
->
getUserData
(
PARAM_USER_ACCOUNT
));
$this
->
fee
=
$this
->
getColumnData
(
$fee
,
$this
->
currency
.
VAL_INT_1
);
// 上乗せ分対応
if
(
$this
->
currency
==
USD
){
$markup
=
CASHFLOW_RISK_FEE_USD
;
}
else
if
(
$this
->
currency
==
EUR
){
$markup
=
CASHFLOW_RISK_FEE_EUR
;
}
else
if
(
$this
->
currency
==
GBP
){
$markup
=
CASHFLOW_RISK_FEE_GBP
;
}
else
if
(
$this
->
currency
==
JPY
){
$markup
=
CASHFLOW_RISK_FEE_JPY
;
}
$commission
=
$this
->
intToCurrency
((
$this
->
amount
*
VAL_STR_VSMS_FEE
),
PERCENT
);
$this
->
fee
+=
$commission
;
$this
->
fee
+=
$markup
;
$this
->
setFeeEx
(
$this
->
fee
);
if
(
$this
->
currency
==
'JPY'
){
$this
->
fee
=
ceil
(
$this
->
fee
);
}
$_SESSION
[
'cashflow'
][
'Country'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_COUNTRY
);
$_SESSION
[
'cashflow'
][
'firstName'
]
=
$accounttype
==
1
?
$this
->
getColumnData
(
$this
->
account
,
PARAM_CEO_FIRST_NAME
)
:
$this
->
getColumnData
(
$this
->
account
,
PARAM_LAST_NAME
);
$_SESSION
[
'cashflow'
][
'lastName'
]
=
$accounttype
==
1
?
$this
->
getColumnData
(
$this
->
account
,
PARAM_CEO_LAST_NAME
)
:
$this
->
getColumnData
(
$this
->
account
,
PARAM_FIRST_NAME
);
$_SESSION
[
'cashflow'
][
'mail'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_MAIL
);
$_SESSION
[
'cashflow'
][
'state'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_STATE
);
$_SESSION
[
'cashflow'
][
'city'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_CITY
);
$_SESSION
[
'cashflow'
][
'address'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_ADDRESS
);
$_SESSION
[
'cashflow'
][
'zip'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_ZIP_CODE
);
$_SESSION
[
'cashflow'
][
'tel'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_TEL
);
$_SESSION
[
'cashflow'
][
'amount'
]
=
$this
->
amount
;
$_SESSION
[
'cashflow'
][
'currency'
]
=
$this
->
currency
;
$_SESSION
[
'cashflow'
][
'Actual'
]
=
$this
->
amount
+
$this
->
fee
;
$_SESSION
[
'cashflow'
][
'fee'
]
=
$this
->
fee
;
$_SESSION
[
'cashflow'
][
'message'
]
=
$this
->
message
;
$_SESSION
[
'cashflow'
][
'lang'
]
=
$this
->
getLangage
();
if
(
$this
->
currency
!=
'JPY'
){
$this
->
fee
=
sprintf
(
"%.2f"
,
$this
->
fee
);
$this
->
amount
=
sprintf
(
"%.2f"
,
$this
->
amount
);
}
}
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SEND
){
include
$_SERVER
[
'DOCUMENT_ROOT'
]
.
DIRECTORY_SEPARATOR
.
'system'
.
DIRECTORY_SEPARATOR
.
'lib'
.
DIRECTORY_SEPARATOR
.
'core'
.
DIRECTORY_SEPARATOR
.
'cashflow.php'
;
$this
->
transaction_number
=
$this
->
getTransactionNumberCommon
(
VAR_TRANSACTION_DEPOSIT
);
//$this -> transaction_number = trim(trim(date('YmdHis',time())).mt_rand(10000,99999));
$Amount
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'Actual'
);
$Currency
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'currency'
);
$Street
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'address'
);
$City
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'city'
);
$ZIP
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'zip'
);
$Country
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'Country'
);
$this
->
language
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'lang'
);
$this
->
lang
=
isset
(
$arrLan
[
$this
->
language
])
?
$arrLan
[
$this
->
language
]
:
'en'
;
$first_name
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'firstName'
);
$last_name
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'lastName'
);
$mail
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'mail'
);
$IP
=
$_SERVER
[
'REMOTE_ADDR'
];
//发送的Data
$data
=
"authentication.entityId="
.
CASHFLOW_ENTITY_ID
.
"&authentication.userId="
.
CASHFLOW_USER_ID
.
"&authentication.password="
.
CASHFLOW_PASSWORD
.
"&paymentType="
.
CASHFLOW_TRANS_TYPE
.
"&merchantTransactionId="
.
$this
->
transaction_number
.
"&amount="
.
sprintf
(
"%.2f"
,
$Amount
)
.
"¤cy="
.
$Currency
.
"&customer.givenName="
.
$first_name
.
"&customer.surname="
.
$last_name
.
"&billing.street1="
.
$Street
.
"&billing.city="
.
$City
.
"&billing.postcode="
.
$ZIP
.
"&billing.country="
.
$Country
.
"&customer.email="
.
$mail
.
"&customer.ip="
.
$IP
;
//CURL 模拟POST
$ch
=
curl_init
();
curl_setopt
(
$ch
,
CURLOPT_URL
,
CASHFLOW_TOKEN_URL
);
curl_setopt
(
$ch
,
CURLOPT_POST
,
1
);
curl_setopt
(
$ch
,
CURLOPT_POSTFIELDS
,
$data
);
curl_setopt
(
$ch
,
CURLOPT_SSL_VERIFYPEER
,
false
);
// this should be set to true in production
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
);
$responseData
=
curl_exec
(
$ch
);
if
(
curl_errno
(
$ch
))
{
return
curl_error
(
$ch
);
}
curl_close
(
$ch
);
$arr_token
=
json_decode
(
$responseData
);
$this
->
token
=
$arr_token
->
id
;
//创建cashflow数据表的数据Model
$CASHFLOW
[
'Model'
][
'transaction_number'
]
=
$this
->
transaction_number
;
$CASHFLOW
[
'Model'
][
'user_account'
]
=
$this
->
getColumnData
(
$_SESSION
[
'site_user_data'
],
'user_account'
);
$CASHFLOW
[
'Model'
][
'amount'
]
=
$Currency
!=
'JPY'
?
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'amount'
)
*
100
:
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'amount'
);
$CASHFLOW
[
'Model'
][
'currency'
]
=
$Currency
;
$CASHFLOW
[
'Model'
][
'method'
]
=
'CASHFLOWVM'
;
$CASHFLOW
[
'Model'
][
'deposit_bank'
]
=
'CASHFLOWVM'
;
$CASHFLOW
[
'Model'
][
'deposit_date'
]
=
date
(
"Y-m-d H:i:s"
);
$CASHFLOW
[
'Model'
][
'fee'
]
=
''
;
$CASHFLOW
[
'Model'
][
'message'
]
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'message'
);
$CASHFLOW
[
'Model'
][
'comment'
]
=
''
;
$CASHFLOW
[
'Model'
][
'create_time'
]
=
date
(
"Y-m-d H:i:s"
);
$CASHFLOW
[
'Model'
][
'process_user'
]
=
'9999'
;
$CASHFLOW
[
'Model'
][
'type'
]
=
'0'
;
$CASHFLOW
[
'Model'
][
'err_flg'
]
=
'0'
;
$sqlObject
=
new
mysql
(
$this
->
getConfigValue
(
SECTION_DB
,
HOST_NAME
)
,
$this
->
getConfigValue
(
SECTION_DB
,
USER_NAME
)
,
$this
->
getConfigValue
(
SECTION_DB
,
LOGIN_PASS
)
,
$this
->
getConfigValue
(
SECTION_DB
,
TARGET_DB_NAME
),
''
,
'UTF8'
);
$sql
=
"insert into t_deposit_cashflow_temporary "
;
//进deposit表的sql方法
$strsql
=
$sqlObject
->
Insertsql
(
$CASHFLOW
[
'Model'
]);
$sql
.=
$strsql
;
echo
$sql
;
$sqlObject
->
query
(
$sql
);
}
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SUCCESS
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_FAILURE
){
//返回结果,对结果判断
$this
->
transationNumber
=
$this
->
getColumnData
(
$_SESSION
,
'transaction_number'
);
$this
->
setDeposit
(
$this
->
getRowData
(
$this
->
accessSelect
(
'SELECT_DEPOSIT_BY_TRANSACTION_NUMBER'
,
array
(
$this
->
transationNumber
))));
if
(
$this
->
isSendMail
!=
VAL_INT_1
){
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SUCCESS
){
$this
->
sendCashFlowSuccessMail
();
$this
->
accessModifyCommon
(
'UPDATE_DEPOSIT_ISSENDMAIL'
,
array
(
$this
->
transationNumber
));
}
else
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_FAILURE
){
$this
->
sendCashFlowFailMail
();
$this
->
accessModifyCommon
(
'UPDATE_DEPOSIT_ISSENDMAIL'
,
array
(
$this
->
transationNumber
));
}
}
}
}
else
if
(
$this
->
getType
()
==
TYPE_APPLY
)
{
// カード決済前
$json
=
null
;
if
(
$this
->
method
==
NO_STRING
)
{
echo
json_encode
(
array
(
PARAM_RESULT
=>
ERROR
,
PARAM_MESSAGE
=>
'パラメータが不足しています'
));
}
// リミットチェック
if
(
!
$this
->
checkGPSLimit
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
),
$this
->
method
,
$errType
))
{
if
(
$errType
==
VAL_INT_1
)
{
echo
json_encode
(
array
(
PARAM_RESULT
=>
ERROR
,
PARAM_MESSAGE
=>
$this
->
getMessage
(
ERROR
,
'E_DEPOSIT_PERMISSION'
,
array
())));
}
else
{
echo
json_encode
(
array
(
PARAM_RESULT
=>
ERROR
,
PARAM_MESSAGE
=>
$this
->
getMessage
(
ERROR
,
'E_DEPOSIT_GPS_LIMIT'
,
array
())));
}
}
else
{
echo
json_encode
(
array
(
PARAM_RESULT
=>
INFO
,
PARAM_MESSAGE
=>
''
));
}
}
return
true
;
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の計算
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
public
function
calculate
()
{
// 変数宣言部
$parcent
=
NO_COUNT
;
$fix
=
NO_COUNT
;
if
(
$this
->
method
==
'VISA'
||
$this
->
method
==
'GIFTCARD'
)
{
// VISA、MASTERの場合
$parcent
=
1.055
;
$fix
=
50
;
$this
->
payment
=
intval
((
$this
->
amount
*
$parcent
)
+
$fix
);
}
else
if
(
$this
->
method
==
''
){
}
else
if
(
$this
->
method
==
'INSTANTBANKTRANSFER'
)
{
// 銀行送金の場合
$parcent
=
1.06
;
$fix
=
600
;
$this
->
payment
=
(
$this
->
amount
*
$parcent
)
+
$fix
;
// この場合はオリジナルレートで計算する
$oRate
=
$this
->
getRowData
(
$this
->
accessSelect
(
'SELECT_ORIGINAL_RATE'
,
array
(
EUR
,
JPY
)));
// オリジナルレート * 2%(最後に桁落とし)
$this
->
payment
=
$this
->
intToCurrency
((
$this
->
payment
*
$this
->
getColumnData
(
$oRate
,
COLUMN_ORIGINAL_RATE
))
*
1.02
,
VAR_GPAYSAFE_CARD_CURRENCY
);
// 桁丸め
$this
->
payment
=
floor
(
$this
->
payment
)
+
VAL_INT_1
;
}
else
{
$this
->
payment
=
$this
->
amount
;
}
}
/*-------------------------------------------------------------------------
* @function_name: 入金メソッドの取得
* @parameter : なし
* @return : 入金メソッド
-------------------------------------------------------------------------*/
public
function
getMethod
()
{
return
$this
->
method
;
}
/*-------------------------------------------------------------------------
* @function_name: 入金メソッドの取得
* @parameter : なし
* @return : 入金メソッド
-------------------------------------------------------------------------*/
public
function
echoMethod
()
{
echo
$this
->
method
;
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
getCurrency
()
{
return
$this
->
currency
;
}
/*-------------------------------------------------------------------------
* @function_name: 取引時間の取得
* @parameter : なし
* @return : 取引時間
-------------------------------------------------------------------------*/
public
function
echoDepositAmountNatural
()
{
echo
$this
->
formatCurrency
((
$this
->
amount
+
$this
->
fee
),
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 処理時間の取得
* @parameter : なし
* @return : 処理時間
-------------------------------------------------------------------------*/
public
function
echoCreateTime
()
{
echo
$this
->
createTime
;
}
/*-------------------------------------------------------------------------
* @function_name: 取引時間の取得
* @parameter : なし
* @return : 取引時間
-------------------------------------------------------------------------*/
public
function
echoAmountString
()
{
echo
$this
->
getAmountString
(
$this
->
amount
,
$this
->
currency
);
//echo $this -> getAmountString($this -> amount, $this -> currency);
}
/*-------------------------------------------------------------------------
* @function_name: 取引時間の取得
* @parameter : なし
* @return : 取引時間
-------------------------------------------------------------------------*/
public
function
returnDepositAmountNatural
()
{
return
$this
->
getAmountString
(
$this
->
amount
+
$this
->
fee
,
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 取引番号の取得
* @parameter : なし
* @return : 取引番号
-------------------------------------------------------------------------*/
public
function
echoTransactionNumber
()
{
echo
$this
->
transationNumber
;
}
/*-------------------------------------------------------------------------
* @function_name: 入金データの設定
* @parameter : 入金データ
* @return : なし
-------------------------------------------------------------------------*/
public
function
setDeposit
(
$deposit
)
{
$this
->
deposit
=
$deposit
;
$Comment
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_COMMENT
);
if
(
!
empty
(
$Comment
)){
$CommentResult
=
json_decode
(
$Comment
,
true
);
}
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SUCCESS
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_FAILURE
){
if
(
isset
(
$CommentResult
)){
$this
->
currency
=
$CommentResult
[
'currency'
];
if
(
$this
->
currency
==
'JPY'
){
$this
->
payamount
=
$CommentResult
[
'amount'
];
}
else
{
$this
->
payamount
=
$CommentResult
[
'amount'
]
*
100
;
}
$this
->
amount
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_AMOUNT
);
$this
->
fee
=
$this
->
payamount
-
$this
->
amount
;
}
}
else
if
(
$this
->
getType
()
==
TYPE_CUP_PAYMENTSUCCESS
||
$this
->
getType
()
==
TYPE_CUP_PAYMENTFAILURE
){
if
(
isset
(
$CommentResult
)){
$this
->
payamount
=
$CommentResult
[
'amount'
];
$this
->
amount
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_AMOUNT
);
$this
->
fee
=
$this
->
payamount
-
$this
->
amount
;
}
}
else
{
$this
->
amount
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_AMOUNT
);
$this
->
fee
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_FEE
);
}
$this
->
createTime
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_CREATE_TIME_STRING
);
$this
->
currency
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_CURRENCY
);
$this
->
isSendMail
=
$this
->
getColumnData
(
$this
->
deposit
,
'isSendMail'
);
}
/*-------------------------------------------------------------------------
* @function_name: 入金成功時のメール送信パラメータ
* @parameter : なし
* @return : パラメータ
-------------------------------------------------------------------------*/
private
function
getSendCashFlowSuccessData
()
{
// 変数宣言部
$rtn
=
array
();
$account
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_USER_ACCOUNT
);
// パラメータの設定
$rtn
[]
=
$account
;
// 口座番号(1)
$rtn
[]
=
$this
->
getNameCommon
(
$account
);
// 氏名(2)
$rtn
[]
=
$this
->
transationNumber
;
// 取引番号(3)
$rtn
[]
=
$this
->
createTime
;
// 取引時刻(4)
$rtn
[]
=
$this
->
currency
;
// 決済通貨(5)
$rtn
[]
=
$this
->
getAmountString
(
$this
->
amount
,
$this
->
currency
);
// 決済金額(6)
$rtn
[]
=
$this
->
currency
;
// 反映通貨(7)
$rtn
[]
=
$this
->
getAmountString
((
$this
->
amount
+
$this
->
fee
),
$this
->
currency
);
// 反映金額(8)
return
$rtn
;
}
/*-------------------------------------------------------------------------
* @function_name: 入金失败時のメール送信パラメータ
* @parameter : なし
* @return : パラメータ
-------------------------------------------------------------------------*/
function
getSendCUPFailData
()
{
// 変数宣言部
$rtn
=
array
();
$account
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_USER_ACCOUNT
);
// パラメータの設定
$rtn
[]
=
$account
;
// 口座番号(1)
$rtn
[]
=
$this
->
getNameCommon
(
$account
);
// 氏名(2)
$rtn
[]
=
$this
->
createTime
;
// 取引時刻(4)
$rtn
[]
=
$this
->
currency
;
// 決済通貨(5)
$rtn
[]
=
$this
->
getAmountString
((
$this
->
amount
-
$this
->
fee
),
$this
->
currency
);
// 決済金額(6)
$rtn
[]
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_MESSAGE
);
// 反映通貨(7)
return
$rtn
;
}
/*-------------------------------------------------------------------------
* @function_name: 入金成功時のメール送信パラメータ
* @parameter : なし
* @return : パラメータ
-------------------------------------------------------------------------*/
private
function
getSendCUPSuccessData
()
{
// 変数宣言部
$rtn
=
array
();
$account
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_USER_ACCOUNT
);
// パラメータの設定
$rtn
[]
=
$account
;
// 口座番号(1)
$rtn
[]
=
$this
->
getNameCommon
(
$account
);
// 氏名(2)
$rtn
[]
=
$this
->
transationNumber
;
// 取引番号(3)
$rtn
[]
=
$this
->
createTime
;
// 取引時刻(4)
$rtn
[]
=
$this
->
currency
;
// 決済通貨(5)
$rtn
[]
=
$this
->
getAmountString
((
$this
->
amount
-
$this
->
fee
),
$this
->
currency
);
// 決済金額(6)
$rtn
[]
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_MESSAGE
);
// 反映通貨(7)
return
$rtn
;
}
private
function
sendCUPSuccessMail
(){
$params
=
''
;
// 変数宣言部
$params
=
$this
->
getSendCUPSuccessData
();
// メールを送信(ユーザ)
$this
->
sendMailByTmp
(
'cup_deposit_info.xml'
,
$params
,
$this
->
getEMailCommon
(
$this
->
getColumnData
(
$params
,
NO_COUNT
))
,
VAR_CS_MAIL_ADDRESS
,
$this
->
getLangage
());
}
private
function
sendCUPFailMail
(){
$params
=
''
;
// 変数宣言部
$params
=
$this
->
getSendCUPFailData
();
// メールを送信(ユーザ)
$this
->
sendMailByTmp
(
'cup_deposit_failure.xml'
,
$params
,
$this
->
getEMailCommon
(
$this
->
getColumnData
(
$params
,
NO_COUNT
))
,
VAR_CS_MAIL_ADDRESS
,
$this
->
getLangage
());
}
/*-------------------------------------------------------------------------
* @function_name: 入金失败時のメール送信パラメータ
* @parameter : なし
* @return : パラメータ
-------------------------------------------------------------------------*/
function
getSendCashFlowFailData
()
{
// 変数宣言部
$rtn
=
array
();
$rtn
[]
=
$this
->
getUserData
(
PARAM_USER_ACCOUNT
);
// 口座番号
$rtn
[]
=
$this
->
getNameCommon
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
));
// 氏名
return
$rtn
;
}
private
function
sendCashFlowSuccessMail
(){
$params
=
''
;
// 変数宣言部
$params
=
$this
->
getSendCashFlowSuccessData
();
// メールを送信(ユーザ)
$this
->
sendMailByTmp
(
'cashflow_deposit_info.xml'
,
$params
,
$this
->
getEMailCommon
(
$this
->
getColumnData
(
$params
,
NO_COUNT
))
,
VAR_CS_MAIL_ADDRESS
,
$this
->
getLangage
());
}
private
function
sendCashFlowFailMail
(){
$params
=
''
;
// 変数宣言部
$params
=
$this
->
getSendCashFlowFailData
();
// メールを送信(ユーザ)
$this
->
sendMailByTmp
(
'cashflow_deposit_failure.xml'
,
$params
,
$this
->
getEMailCommon
(
$this
->
getColumnData
(
$params
,
NO_COUNT
))
,
VAR_CS_MAIL_ADDRESS
,
$this
->
getLangage
());
}
/*-------------------------------------------------------------------------
* @function_name: 入金メソッドの取得
* @parameter : なし
* @return : 入金メソッド
-------------------------------------------------------------------------*/
public
function
echoMethodString
()
{
if
(
$this
->
method
==
'GIFTCARD'
)
{
echo
'MASTERCARD'
;
}
else
{
echo
$this
->
method
;
}
}
/*-------------------------------------------------------------------------
* @function_name: 入金メソッドの取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public
function
dispMethod
()
{
$result
=
''
;
$result
=
$this
->
getDepositMethodListCommon
();
return
$result
;
}
/*-------------------------------------------------------------------------
* @function_name: 口座番号の取得
* @parameter : なし
* @return : 口座番号
-------------------------------------------------------------------------*/
public
function
echoAccount
()
{
echo
$this
->
getUserData
(
PARAM_USER_ACCOUNT
);
}
/*-------------------------------------------------------------------------
* @function_name: 金額の取得
* @parameter : なし
* @return : 金額
-------------------------------------------------------------------------*/
public
function
dispAmount
()
{
echo
$this
->
getAmountString
(
$this
->
amount
,
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の取得
* @parameter : なし
* @return : 決済金額
-------------------------------------------------------------------------*/
public
function
dispPayment
()
{
echo
$this
->
getAmountString
(
$this
->
payment
,
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 金額の取得
* @parameter : なし
* @return : 金額
-------------------------------------------------------------------------*/
public
function
echoAmount
()
{
echo
$this
->
amount
;
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の取得
* @parameter : なし
* @return : 決済金額
-------------------------------------------------------------------------*/
public
function
echoPayment
()
{
echo
$this
->
payment
;
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public
function
dispAmountList
()
{
// 変数宣言部
$list
=
array
();
// $list[] = array(PARAM_DATA_KEY => '100'
// , PARAM_DATA_VALUE => '€1');
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'500'
,
PARAM_DATA_VALUE
=>
'€5'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'2000'
,
PARAM_DATA_VALUE
=>
'€20'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'5000'
,
PARAM_DATA_VALUE
=>
'€50'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'10000'
,
PARAM_DATA_VALUE
=>
'€100'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'30000'
,
PARAM_DATA_VALUE
=>
'€300'
);
echo
$this
->
dispListOption
(
$list
,
$this
->
amount
);
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public
function
dispTransferAmountList
()
{
// 変数宣言部
$list
=
array
();
// $list[] = array(PARAM_DATA_KEY => '100'
// , PARAM_DATA_VALUE => '€1');
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'500'
,
PARAM_DATA_VALUE
=>
'€5'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'5000'
,
PARAM_DATA_VALUE
=>
'€50'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'10000'
,
PARAM_DATA_VALUE
=>
'€100'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'30000'
,
PARAM_DATA_VALUE
=>
'€300'
);
echo
$this
->
dispListOption
(
$list
,
$this
->
tAmount
);
}
/*-------------------------------------------------------------------------
* @function_name: 氏名の取得
* @parameter : なし
* @return : 氏名
-------------------------------------------------------------------------*/
public
function
echoName
()
{
echo
$this
->
getUserData
(
PARAM_NAME
);
}
/*-------------------------------------------------------------------------
* @function_name: HTML表示用のデータ取得関数
* @parameter : なし
* @return : HTML表示用データ配列
-------------------------------------------------------------------------*/
public
function
dispHTML
()
{
return
array
();
}
/*-------------------------------------------------------------------------
* @function_name: 口座種別の取得
* @parameter : なし
* @return : 口座種別
-------------------------------------------------------------------------*/
public
function
getAccountType
()
{
return
$this
->
accountType
;
}
/*-------------------------------------------------------------------------
* @function_name: 姓の取得
* @parameter : なし
* @return : 姓
-------------------------------------------------------------------------*/
public
function
getLastName
()
{
return
$this
->
lastName
;
}
/*-------------------------------------------------------------------------
* @function_name: 名の取得
* @parameter : なし
* @return : 名
-------------------------------------------------------------------------*/
public
function
getFirstName
()
{
return
$this
->
firstName
;
}
/*-------------------------------------------------------------------------
* @function_name: メールアドレスの取得
* @parameter : なし
* @return : メールアドレス
-------------------------------------------------------------------------*/
public
function
getEMail
()
{
return
$this
->
email
;
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの取得
* @parameter : なし
* @return : パスワード
-------------------------------------------------------------------------*/
public
function
getPassword
()
{
return
$this
->
password
;
}
/*-------------------------------------------------------------------------
* @function_name: パスワード(再入力)の取得
* @parameter : なし
* @return : パスワード(再入力)
-------------------------------------------------------------------------*/
public
function
getPasswordConfirm
()
{
return
$this
->
passwordConfirm
;
}
/*-------------------------------------------------------------------------
* @function_name: 生年月日(年)の取得
* @parameter : なし
* @return : 生年月日(年)
-------------------------------------------------------------------------*/
public
function
getBirthYear
()
{
return
$this
->
birthYear
;
}
/*-------------------------------------------------------------------------
* @function_name: 生年月日(月)の取得
* @parameter : なし
* @return : 生年月日(月)
-------------------------------------------------------------------------*/
public
function
getBirthMonth
()
{
return
$this
->
birthMonth
;
}
/*-------------------------------------------------------------------------
* @function_name: 生年月日(日)の取得
* @parameter : なし
* @return : 生年月日(日)
-------------------------------------------------------------------------*/
public
function
getBirthDay
()
{
return
$this
->
birthDay
;
}
/*-------------------------------------------------------------------------
* @function_name: 国の取得
* @parameter : なし
* @return : 国
-------------------------------------------------------------------------*/
public
function
getCountry
()
{
return
$this
->
country
;
}
/*-------------------------------------------------------------------------
* @function_name: 都道府県の取得
* @parameter : なし
* @return : 都道府県
-------------------------------------------------------------------------*/
public
function
getState
()
{
return
$this
->
state
;
}
/*-------------------------------------------------------------------------
* @function_name: 市の取得
* @parameter : なし
* @return : 市
-------------------------------------------------------------------------*/
public
function
getCity
()
{
return
$this
->
city
;
}
/*-------------------------------------------------------------------------
* @function_name: 郵便番号の取得
* @parameter : なし
* @return : 郵便番号
-------------------------------------------------------------------------*/
public
function
getZipCode
()
{
return
$this
->
zipCode
;
}
/*-------------------------------------------------------------------------
* @function_name: 番地の取得
* @parameter : なし
* @return : 番地
-------------------------------------------------------------------------*/
public
function
getAddress
()
{
return
$this
->
address
;
}
/*-------------------------------------------------------------------------
* @function_name: 電話番号の取得
* @parameter : なし
* @return : 電話番号
-------------------------------------------------------------------------*/
public
function
getTel
()
{
return
$this
->
tel
;
}
/*-------------------------------------------------------------------------
* @function_name: 姓の取得
* @parameter : なし
* @return : 姓
-------------------------------------------------------------------------*/
public
function
echoLastName
()
{
echo
$this
->
lastName
;
}
/*-------------------------------------------------------------------------
* @function_name: 名の取得
* @parameter : なし
* @return : 名
-------------------------------------------------------------------------*/
public
function
echoFirstName
()
{
echo
$this
->
firstName
;
}
/*-------------------------------------------------------------------------
* @function_name: メールアドレスの取得
* @parameter : なし
* @return : メールアドレス
-------------------------------------------------------------------------*/
public
function
echoEMail
()
{
echo
$this
->
email
;
}
/*-------------------------------------------------------------------------
* @function_name: 確認用口座種別の取得
* @parameter : なし
* @return : 確認用口座種別
-------------------------------------------------------------------------*/
public
function
dispAccountType
()
{
if
(
$this
->
getAccountType
()
==
VAL_INT_1
)
{
return
VAL_STR_PERSONAL
;
}
else
if
(
$this
->
getAccountType
()
==
VAL_INT_2
)
{
return
VAL_STR_CORPORATE
;
}
else
{
return
VAL_STR_PERSONAL
;
}
}
/*-------------------------------------------------------------------------
* @function_name: 表示用口座種別の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public
function
echoAccountType
()
{
echo
$this
->
dispAccountTypeList
(
$this
->
getAccountType
());
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
echoUserData
(
$param
)
{
echo
$this
->
getColumnData
(
$this
->
account
,
$param
);
}
public
function
CallUserData
(
$param
)
{
return
$this
->
getColumnData
(
$this
->
account
,
$param
);
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
echoCountryName
()
{
echo
$this
->
dispCountryCommon
(
$this
->
getColumnData
(
$this
->
account
,
PARAM_COUNTRY
));
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
dispCurrency
()
{
echo
$this
->
currency
;
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
echoResultMessage
()
{
if
(
$this
->
getType
()
==
TYPE_SUCCESS
)
{
// 成功
echo
$this
->
getMessage
(
INFO
,
'I_DEPOSIT_COMPLETE_GPS'
,
array
());
}
else
{
// 失敗
echo
$this
->
getMessage
(
ERROR
,
'E_DEPOSIT_ERROR_GPS'
,
array
());
}
}
/*-------------------------------------------------------------------------
* @function_name: 請求名称の取得
* @parameter : なし
* @return : 請求名称
-------------------------------------------------------------------------*/
public
function
echoInvoiceName
()
{
echo
$this
->
getValueByList
(
$this
->
getDepositInvoiceNameListCommon
(),
$this
->
method
);
}
/*-------------------------------------------------------------------------
* @function_name: 回数制限の取得
* @parameter : なし
* @return : 回数制限
-------------------------------------------------------------------------*/
public
function
echoDailyCountLimit
()
{
echo
$this
->
getGPSCountLimit
(
$this
->
method
,
$this
->
getColumnData
(
$this
->
account
,
COLUMN_GPS_ACCOUNT_FLG
));
}
/*-------------------------------------------------------------------------
* @function_name: 金額制限の取得
* @parameter : なし
* @return : 金額制限
-------------------------------------------------------------------------*/
public
function
echoAmountLimit
()
{
echo
number_format
(
$this
->
getGPSAmountLimit
(
$this
->
method
,
$this
->
getColumnData
(
$this
->
account
,
COLUMN_GPS_ACCOUNT_FLG
)));
}
/*-------------------------------------------------------------------------
* @function_name: 金額制限の期間の取得
* @parameter : なし
* @return : 金額制限の期間
-------------------------------------------------------------------------*/
public
function
echoBetweenDate
()
{
// 変数宣言部
$rtn
=
NO_STRING
;
if
(
$this
->
method
==
PARAM_GPS_VISA
)
{
// VISAの場合
$rtn
=
VAL_INT_30
;
}
else
if
(
$this
->
method
==
PARAM_GPS_GIFTCARD
)
{
// MASTERCARDの場合
$rtn
=
VAL_INT_30
;
}
else
if
(
$this
->
method
==
PARAM_GPS_VAL_INSTANTBANKTRANSFER
)
{
// 銀行送金の場合
$rtn
=
VAL_INT_15
;
}
echo
$rtn
;
}
/*-------------------------------------------------------------------------
* @function_name: 結果再確認のURL
* @parameter : なし
* @return : 結果再確認のURL
-------------------------------------------------------------------------*/
public
function
echoReconfirmUrl
()
{
echo
'https://test.api.iwl.world/Complete_Gpaysafe?rn='
.
$this
->
referenceNo
;
}
/*-------------------------------------------------------------------------
* @function_name: 結果再確認のURL
* @parameter : なし
* @return : 結果再確認のURL
-------------------------------------------------------------------------*/
public
function
getRefarenceNo
()
{
return
$this
->
referenceNo
;
}
//检查必要信息是否已经填写
private
function
checkUserProfile
(){
$rtn
=
True
;
//查看必要用户信息是否已填写,没有通知先完善用户信息
$ZipCode
=
$this
->
CallUserData
(
PARAM_ZIP_CODE
);
$Address
=
$this
->
CallUserData
(
PARAM_ADDRESS
);
$City
=
$this
->
CallUserData
(
PARAM_CITY
);
$Phone
=
$this
->
CallUserData
(
PARAM_TEL
);
if
(
empty
(
$ZipCode
)
||
empty
(
$Address
)
||
empty
(
$City
)
||
empty
(
$Phone
)
){
$rtn
=
False
;
return
$rtn
;
}
return
$rtn
;
}
private
function
CheckPaymentKind
(){
$gpsPayments
=
$this
->
getColumnData
(
$this
->
account
,
COLUMN_GPS_KIND_OF_PAYMENT
);
// GPS決済種別
$list
=
$this
->
makeArrayByPowerCommon
(
$gpsPayments
);
return
$list
;
}
//class End
}
?>
\ No newline at end of file
logic/deposit/model.php.bak
deleted
100644 → 0
View file @
67db25e9
<?php
date_default_timezone_set
(
'Asia/Tokyo'
);
class
DepositModelClass
extends
ModelClassEx
{
/*-------------------------------------------------------------------------
* @ メンバ変数
-------------------------------------------------------------------------*/
private
$account
=
null
;
private
$method
=
NO_STRING
;
private
$amount
=
NO_STRING
;
private
$tAmount
=
NO_STRING
;
private
$payment
=
NO_STRING
;
private
$currency
=
NO_STRING
;
private
$referenceNo
=
NO_STRING
;
// リファレンス番号
private
$fee
=
NO_STRING
;
// 手数料
/*-------------------------------------------------------------------------
* @function_name: コントロールパネルシステムindexモデルクラスコンストラクタ
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
function
__construct
()
{
// スーパークラスコンストラクタ呼び出し
parent
::
__construct
();
}
/*-------------------------------------------------------------------------
* @function_name: 初期設定関数
* @parameter : なし
* @return : 成功:success、失敗:error
-------------------------------------------------------------------------*/
public
function
init
()
{
try
{
// パラメータの設定
$this
->
setParameter
();
// チェック
$this
->
validate
();
// 決済金額の計算
$this
->
calculate
();
return
true
;
}
catch
(
Exception
$e
)
{
// throw new Exception(NO_STRING);
return
false
;
}
}
/*-------------------------------------------------------------------------
* @function_name: パラメータの設定
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
private
function
setParameter
()
{
$this
->
method
=
$this
->
getDataPost
(
PARAM_METHOD
);
$this
->
amount
=
$this
->
getDataPost
(
PARAM_AMOUNT
);
$this
->
currency
=
$this
->
getDataPost
(
PARAM_CURRENCY
);
$this
->
message
=
$this
->
getDataPost
(
PARAM_MESSAGE
);
$this
->
depoistmoney
=
$this
->
getDataPost
(
'depositmoney'
);
/*$this -> method = $this -> getDataPost(PARAM_METHOD);
$this -> tAmount = $this -> getDataPost(PARAM_T_AMOUNT);
$this -> referenceNo = $this -> getDataGet('rn'); // 新ファイル名
if($this -> method == 'INSTANTBANKTRANSFER') { // 銀行送金の場合は金額の切り替え
$this -> amount = $this -> tAmount;
$this -> currency = JPY;
} else {
$this -> currency = VAR_GPAYSAFE_CARD_CURRENCY;
}*/
if
(
$this
->
method
==
VAL_STR_VSMS_METHOD
){
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
}
else
if
(
$this
->
method
==
CASHFLOW_DEPOSIT_CONFIRM
){
$this
->
setType
(
CASHFLOW_DEPOSIT_CONFIRM
);
}
else
if
(
$this
->
method
==
CASHFLOW_DEPOSIT_SEND
){
$this
->
setType
(
CASHFLOW_DEPOSIT_SEND
);
}
else
if
(
$this
->
method
==
TYPE_CUP
){
$this
->
setType
(
TYPE_CUP_INPUT
);
}
else
if
(
$this
->
method
==
TYPE_CUP_INPUT
){
$this
->
setType
(
TYPE_CUP_CONFIRM
);
}
else
if
(
$this
->
method
==
TYPE_CUP_CONFIRM
){
$this
->
setType
(
TYPE_CUP_CONFIRM
);
}
else
if
(
$this
->
method
==
VAL_STR_JRF_METHOD
){
$this
->
setType
(
VAL_STR_JRF_METHOD
);
}
else
if
(
$this
->
method
==
VAL_STR_FLAT3_METHOD
){
$this
->
setType
(
VAL_STR_FLAT3_INPUT
);
}
else
if
(
$this
->
method
==
VAL_STR_FLAT3_INPUT
){
$this
->
setType
(
VAL_STR_FLAT3_INPUT
);
}
else
if
(
$this
->
method
==
VAL_STR_FLAT3_SUCCESS
){
$this
->
setType
(
VAL_STR_FLAT3_SUCCESS
);
}
// ユーザ情報の取得
$this
->
account
=
$this
->
getRowData
(
$this
->
getAccountCommon
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)));
}
/*-------------------------------------------------------------------------
* @function_name: サーバ側データチェック
* @parameter : なし
* @return : TRUE:成功、FALSE:失敗
-------------------------------------------------------------------------*/
public
function
validate
()
{
// 変数宣言部
$rtn
=
true
;
$fee
=
NO_COUNT
;
$commission
=
NO_COUNT
;
$errType
=
NO_COUNT
;
if
(
$this
->
getType
()
==
TYPE_SUCCESS
||
$this
->
getType
()
==
TYPE_PENDING
||
$this
->
getType
()
==
TYPE_FAIL
)
{
return
true
;
}
// ログインチェック
if
(
!
$this
->
checkSiteUserLogin
())
{
throw
new
Exception
(
NO_STRING
);
}
if
(
$this
->
getType
()
==
TYPE_COMPLETE
&&
$this
->
method
!=
NO_STRING
)
{
// リミットチェック
if
(
!
$this
->
checkGPSLimit
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
),
$this
->
method
,
$errType
))
{
$this
->
setType
();
if
(
$errType
==
VAL_INT_1
)
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_DEPOSIT_PERMISSION'
,
array
());
}
else
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_DEPOSIT_GPS_LIMIT'
,
array
());
}
$this
->
setType
(
NO_STRING
);
return
false
;
}
}
else
if
(
$this
->
getType
()
==
TYPE_CUP_INPUT
||
$this
->
getType
()
==
TYPE_CUP_CONFIRM
||
$this
->
getType
()
==
TYPE_CUP_PAYMENTSUCCESS
||
$this
->
getType
()
==
TYPE_CUP_PAYMENTFAILURE
)
{
//判断是个人还是法人账户
$accounttype
=
$this
->
getColumnData
(
$this
->
account
,
'account_type'
);
if
(
$accounttype
==
1
){
$this
->
setType
(
NO_STRING
);
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_CUPKINDCHECK_VERTIFY'
,
array
());
return
;
}
$list
=
$this
->
CheckPaymentKind
();
if
(
$list
[
VAL_INT_3
]
==
NO_COUNT
){
$this
->
setType
(
NO_STRING
);
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_CUPKINDCHECK_VERTIFY'
,
array
());
return
;
}
if
(
$this
->
getType
()
==
TYPE_CUP_INPUT
){
//进入cashflow并进行输入时
$account_Category
=
''
;
//设定账号默认类别
//为了统一,这里normal代码kYC非认证用户,vip代表KYC认证用户
if
(
!
$this
->
checkUnlimitedStatus
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$account_Category
=
'normal'
;
}
else
{
$account_Category
=
'vip'
;
}
//将账户类别保存到SESSION中
$_SESSION
[
'account_Category'
]
=
$account_Category
;
// 不正防止のため、成功失敗関係なく1時間に5回まで、決済することができる。
if
(
!
$this
->
checkCUPDeposit1Hour
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_1_HOUR'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
// 24時間以内決済成功は限制回まで。過去24時間にVIP 6回決済,Normal 3回したユーザーは、4回目エラーメッセージを表示
if
(
!
$this
->
checkDepositByCUP24Hour
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
if
(
$account_Category
==
'vip'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_VIP'
,
array
());
}
else
if
(
$account_Category
==
'normal'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_NORMAL'
,
array
());
}
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
/*// 30日間の決済成功累積額上限は、Normal CNY30,000まで,Vip CNY 60,000まで
if(!$this -> checkDepositByCUP1Days($this -> getUserData(PARAM_USER_ACCOUNT))) {
$this -> popUpSessionMessage(ERROR, 'E_LIMIT_DEPOSIT_AMOUNT', array());
$rtn = false;
if(!$rtn) {
$this -> setType(NO_STRING);
return;
}
}*/
}
if
(
$this
->
getType
()
==
TYPE_CUP_CONFIRM
){
//确认页对输入的信息进行校验,并计算fee等信息
//判断是个人还是法人账户
$accounttype
=
$this
->
getColumnData
(
$this
->
account
,
'account_type'
);
//查看必要用户信息是否已填写,没有通知先完善用户信息
if
(
$accounttype
==
1
){
$firstName
=
$this
->
CallUserData
(
PARAM_CEO_FIRST_NAME
);
$lastName
=
$this
->
CallUserData
(
PARAM_CEO_LAST_NAME
);
if
(
empty
(
$firstName
)
||
empty
(
$lastName
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_CASHFLOW_DEPOSIT_INFO'
,
array
());
$this
->
setType
(
NO_STRING
);
return
;
}
}
//查看必要用户信息是否已填写,没有通知先完善用户信息
if
(
!
$this
->
checkUserProfile
()){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_CASHFLOW_DEPOSIT_INFO'
,
array
());
$this
->
setType
(
NO_STRING
);
return
;
}
//查看金额是否为空
if
(
!
$this
->
checkNull
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
if
(
!
$this
->
checkCurrencyNumberJP
(
$this
->
amount
)){
if
(
$_SESSION
[
'account_Category'
]
==
'vip'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_VERTIFY'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
else
if
(
$_SESSION
[
'account_Category'
]
==
'normal'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_NOVERTIFY'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
}
//查看入金金额是否符合规范
if
(
!
$this
->
checkCurrencyNumber
(
$this
->
amount
)){
if
(
$_SESSION
[
'account_Category'
]
==
'vip'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_VERTIFY'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
else
if
(
$_SESSION
[
'account_Category'
]
==
'normal'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_NOVERTIFY'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
}
//查看入金金额是否在范围内
if
(
$_SESSION
[
'account_Category'
]
==
'vip'
){
if
((
$this
->
amount
<
200
)
||
(
$this
->
amount
>
50000
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_VERTIFY'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
}
else
if
(
$_SESSION
[
'account_Category'
]
==
'normal'
){
if
((
$this
->
amount
<
200
)
||
(
$this
->
amount
>
30000
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_NOVERTIFY'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
}
// メッセージの正規表現チェック
if
(
!
$this
->
checkStringMessage
(
$this
->
message
))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_REGULAR_MESSAGE'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
//判断message长度是否规范
if
(
!
$this
->
checkLength
(
$this
->
message
,
0
,
250
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_MESSAGE'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
TYPE_CUP_INPUT
);
return
;
}
}
//检查入金金额是否超限
/*if(!$this -> checkCUPMoneyInExceed($this -> amount , $this -> currency)){
$this -> popUpSessionMessage(ERROR, 'E_LIMIT_DEPOSIT_AMOUNT', array());
$rtn = false;
if(!$rtn) {
$this -> setType(TYPE_CUP_INPUT);
return;
}
}*/
include
$_SERVER
[
'DOCUMENT_ROOT'
]
.
DIRECTORY_SEPARATOR
.
'system'
.
DIRECTORY_SEPARATOR
.
'lib'
.
DIRECTORY_SEPARATOR
.
'core'
.
DIRECTORY_SEPARATOR
.
'CUP_config.php'
;
$commission
=
$this
->
intToCurrency
((
$this
->
amount
*
$CUP
[
'Transaction'
][
'fee'
]),
PERCENT
);
$this
->
fee
=
$commission
+
$CUP
[
'Transaction'
][
'transactionfee'
];
$_SESSION
[
'CUP_Data'
][
'user_account'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_USER_ACCOUNT
);
$_SESSION
[
'CUP_Data'
][
'Country'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_COUNTRY
);
$_SESSION
[
'CUP_Data'
][
'firstName'
]
=
$accounttype
==
1
?
$this
->
getColumnData
(
$this
->
account
,
PARAM_CEO_FIRST_NAME
)
:
$this
->
getColumnData
(
$this
->
account
,
PARAM_LAST_NAME
);
$_SESSION
[
'CUP_Data'
][
'lastName'
]
=
$accounttype
==
1
?
$this
->
getColumnData
(
$this
->
account
,
PARAM_CEO_LAST_NAME
)
:
$this
->
getColumnData
(
$this
->
account
,
PARAM_FIRST_NAME
);
$_SESSION
[
'CUP_Data'
][
'mail'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_MAIL
);
$_SESSION
[
'CUP_Data'
][
'state'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_STATE
);
$_SESSION
[
'CUP_Data'
][
'city'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_CITY
);
$_SESSION
[
'CUP_Data'
][
'address'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_ADDRESS
);
$_SESSION
[
'CUP_Data'
][
'zip'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_ZIP_CODE
);
$_SESSION
[
'CUP_Data'
][
'tel'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_TEL
);
$_SESSION
[
'CUP_Data'
][
'amount'
]
=
$this
->
amount
;
$_SESSION
[
'CUP_Data'
][
'currency'
]
=
'CNY'
;
$_SESSION
[
'CUP_Data'
][
'Actual'
]
=
$this
->
amount
+
$this
->
fee
;
$_SESSION
[
'CUP_Data'
][
'fee'
]
=
$this
->
fee
;
$_SESSION
[
'CUP_Data'
][
'message'
]
=
$this
->
message
;
$_SESSION
[
'CUP_Data'
][
'method'
]
=
TYPE_CUP
;
$_SESSION
[
'CUP_Data'
][
'lang'
]
=
$this
->
getLangage
();
$this
->
fee
=
sprintf
(
"%.2f"
,
$this
->
fee
);
$this
->
setFeeEx
(
$this
->
fee
,
$this
->
currency
);
$this
->
amount
=
sprintf
(
"%.2f"
,
$this
->
amount
);
$this
->
currency
=
CNY
;
}
if
(
$this
->
getType
()
==
TYPE_CUP_PAYMENTSUCCESS
||
$this
->
getType
()
==
TYPE_CUP_PAYMENTFAILURE
){
$this
->
transationNumber
=
$this
->
getColumnData
(
$_SESSION
,
'transaction_number'
);
//$transationNumber = CUBITS_TRANSACTION_NUM.$this -> transationNumber;
$this
->
setDeposit
(
$this
->
getRowData
(
$this
->
accessSelect
(
'SELECT_DEPOSIT_BY_TRANSACTION_NUMBER'
,
array
(
$this
->
transationNumber
))));
$this
->
currency
=
'CNY'
;
if
(
$this
->
isSendMail
!=
VAL_INT_1
){
if
(
$this
->
getType
()
==
TYPE_CUP_PAYMENTSUCCESS
){
$this
->
sendCUPSuccessMail
();
$this
->
accessModifyCommon
(
'UPDATE_DEPOSIT_ISSENDMAIL'
,
array
(
$this
->
transationNumber
));
}
else
if
(
$this
->
getType
()
==
TYPE_CUP_PAYMENTFAILURE
){
$this
->
sendCUPFailMail
();
$this
->
accessModifyCommon
(
'UPDATE_DEPOSIT_ISSENDMAIL'
,
array
(
$this
->
transationNumber
));
}
}
}
}
else
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_INPUT
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_CONFIRM
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SUCCESS
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_FAILURE
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SEND
){
$list
=
$this
->
CheckPaymentKind
();
if
(
$list
[
VAL_INT_4
]
==
NO_COUNT
){
$this
->
setType
(
NO_STRING
);
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VISAKINDCHECK_VERTIFY'
,
array
());
return
;
}
//确认为CashFlow支付分支,进行提交检索
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_INPUT
){
//进入cashflow并进行输入时
$account_Category
=
''
;
//设定账号默认类别
//判断是否是KYC认证用户
// 通常会員不可!無制限会員のみOK
if
(
!
$this
->
checkUnlimitedStatus
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
setType
(
TYPE_NOTICE_KYC
);
return
;
}
else
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
}
// 不正防止のため、成功失敗関係なく1時間に5回まで、決済することができる。
if
(
!
$this
->
checkCashFlowDeposit1Hour
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_1_HOUR'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
//如果为认证会员,获取会员的type,vip还是normal
if
(
$this
->
checkVIPStatus
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$account_Category
=
'vip'
;
}
else
{
$account_Category
=
'normal'
;
}
//将账户类别保存到SESSION中
$_SESSION
[
'account_Category'
]
=
$account_Category
;
// 24時間以内決済成功は限制回まで。過去24時間にVIP 10回決済,Normal 3回したユーザーは、4回目エラーメッセージを表示
if
(
!
$this
->
checkDepositByCard24Hour
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
if
(
$account_Category
==
'vip'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_VIP'
,
array
());
}
else
if
(
$account_Category
==
'normal'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_SOME_TIMES_NORMAL'
,
array
());
}
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
// 30日間の決済成功累積額上限は、Normal USD20,000まで,Vip USD20,000まで
if
(
!
$this
->
checkDepositByCard30Days
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_AMOUNT'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
NO_STRING
);
return
;
}
}
}
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_CONFIRM
){
//确认页对输入的信息进行校验,并计算fee等信息
//判断是个人还是法人账户
$accounttype
=
$this
->
getColumnData
(
$this
->
account
,
'account_type'
);
//查看必要用户信息是否已填写,没有通知先完善用户信息
if
(
$accounttype
==
1
){
$firstName
=
$this
->
CallUserData
(
PARAM_CEO_FIRST_NAME
);
$lastName
=
$this
->
CallUserData
(
PARAM_CEO_LAST_NAME
);
if
(
empty
(
$firstName
)
||
empty
(
$lastName
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_CASHFLOW_DEPOSIT_INFO'
,
array
());
$this
->
setType
(
NO_STRING
);
return
;
}
}
//查看必要用户信息是否已填写,没有通知先完善用户信息
$ZipCode
=
$this
->
CallUserData
(
PARAM_ZIP_CODE
);
$Address
=
$this
->
CallUserData
(
PARAM_ADDRESS
);
$City
=
$this
->
CallUserData
(
PARAM_CITY
);
$Phone
=
$this
->
CallUserData
(
PARAM_TEL
);
if
(
empty
(
$ZipCode
)
||
empty
(
$Address
)
||
empty
(
$City
)
||
empty
(
$Phone
)
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_CASHFLOW_DEPOSIT_INFO'
,
array
());
$this
->
setType
(
NO_STRING
);
return
;
}
//查看金额是否为空
if
(
!
$this
->
checkNull
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
//判断自定义金额是否为空,不为空对金额做出判断,以及有效入金限制
if
(
$this
->
checkNull
(
$this
->
depoistmoney
)){
if
(
$this
->
currency
==
'JPY'
){
if
((
$this
->
amount
<
50000
)
||
(
$this
->
amount
>
100000
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_JP'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
}
if
(
!
$this
->
checkStringIntOnly
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_VALUE_PREG'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
}
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
else
{
if
((
$this
->
amount
<
500
)
||
(
$this
->
amount
>
1000
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_OTHER'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
}
if
(
!
$this
->
checkCurrencyNumber
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_VALUE_PREG'
,
array
(
VAL_STR_AMOUNT
));
$rtn
=
false
;
}
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
// メッセージの正規表現チェック
if
(
!
$this
->
checkStringMessage
(
$this
->
message
))
{
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_REGULAR_MESSAGE'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
if
(
!
$this
->
checkLength
(
$this
->
message
,
0
,
128
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_MESSAGE'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
if
(
!
$this
->
checkMoneyInExceed
(
$this
->
amount
,
$this
->
currency
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_LIMIT_DEPOSIT_AMOUNT'
,
array
());
$rtn
=
false
;
if
(
!
$rtn
)
{
$this
->
setType
(
CASHFLOW_DEPOSIT_INPUT
);
return
;
}
}
// 手数料の取得
$fee
=
$this
->
getFeeCommon
(
VAR_DEPOSIT
,
$this
->
amount
,
$this
->
currency
,
$this
->
getUserData
(
PARAM_USER_ACCOUNT
));
$this
->
fee
=
$this
->
getColumnData
(
$fee
,
$this
->
currency
.
VAL_INT_1
);
// 上乗せ分対応
if
(
$this
->
currency
==
USD
){
$markup
=
CASHFLOW_RISK_FEE_USD
;
}
else
if
(
$this
->
currency
==
EUR
){
$markup
=
CASHFLOW_RISK_FEE_EUR
;
}
else
if
(
$this
->
currency
==
GBP
){
$markup
=
CASHFLOW_RISK_FEE_GBP
;
}
else
if
(
$this
->
currency
==
JPY
){
$markup
=
CASHFLOW_RISK_FEE_JPY
;
}
$commission
=
$this
->
intToCurrency
((
$this
->
amount
*
VAL_STR_VSMS_FEE
),
PERCENT
);
$this
->
fee
+=
$commission
;
$this
->
fee
+=
$markup
;
if
(
$this
->
currency
==
'JPY'
){
$this
->
fee
=
ceil
(
$this
->
fee
);
}
$this
->
setFeeEx
(
$this
->
formatCurrency
(
$this
->
fee
,
$this
->
currency
));
$_SESSION
[
'cashflow'
][
'Country'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_COUNTRY
);
$_SESSION
[
'cashflow'
][
'firstName'
]
=
$accounttype
==
1
?
$this
->
getColumnData
(
$this
->
account
,
PARAM_CEO_FIRST_NAME
)
:
$this
->
getColumnData
(
$this
->
account
,
PARAM_LAST_NAME
);
$_SESSION
[
'cashflow'
][
'lastName'
]
=
$accounttype
==
1
?
$this
->
getColumnData
(
$this
->
account
,
PARAM_CEO_LAST_NAME
)
:
$this
->
getColumnData
(
$this
->
account
,
PARAM_FIRST_NAME
);
$_SESSION
[
'cashflow'
][
'mail'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_MAIL
);
$_SESSION
[
'cashflow'
][
'state'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_STATE
);
$_SESSION
[
'cashflow'
][
'city'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_CITY
);
$_SESSION
[
'cashflow'
][
'address'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_ADDRESS
);
$_SESSION
[
'cashflow'
][
'zip'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_ZIP_CODE
);
$_SESSION
[
'cashflow'
][
'tel'
]
=
$this
->
getColumnData
(
$this
->
account
,
PARAM_TEL
);
$_SESSION
[
'cashflow'
][
'amount'
]
=
$this
->
amount
;
$_SESSION
[
'cashflow'
][
'currency'
]
=
$this
->
currency
;
$_SESSION
[
'cashflow'
][
'Actual'
]
=
$this
->
amount
+
$this
->
fee
;
$_SESSION
[
'cashflow'
][
'fee'
]
=
$this
->
fee
;
$_SESSION
[
'cashflow'
][
'message'
]
=
$this
->
message
;
$_SESSION
[
'cashflow'
][
'lang'
]
=
$this
->
getLangage
();
if
(
$this
->
currency
!=
'JPY'
){
$this
->
fee
=
sprintf
(
"%.2f"
,
$this
->
fee
);
$this
->
amount
=
sprintf
(
"%.2f"
,
$this
->
amount
);
}
}
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SEND
){
$apiPath
=
dirname
(
SYSTEM_PATH
)
.
DIRECTORY_SEPARATOR
.
'api'
;
$requestUrl
=
$apiPath
.
DIRECTORY_SEPARATOR
.
'Logs'
.
DIRECTORY_SEPARATOR
.
'cashflow'
.
DIRECTORY_SEPARATOR
.
'request'
;
$requestDbUrl
=
$apiPath
.
DIRECTORY_SEPARATOR
.
'Logs'
.
DIRECTORY_SEPARATOR
.
'cashflow'
.
DIRECTORY_SEPARATOR
.
'db_request'
;
include
$_SERVER
[
'DOCUMENT_ROOT'
]
.
DIRECTORY_SEPARATOR
.
'system'
.
DIRECTORY_SEPARATOR
.
'lib'
.
DIRECTORY_SEPARATOR
.
'core'
.
DIRECTORY_SEPARATOR
.
'cashflow.php'
;
$this
->
transaction_number
=
$this
->
getTransactionNumberCommon
(
VAR_TRANSACTION_DEPOSIT
);
//$this -> transaction_number = trim(trim(date('YmdHis',time())).mt_rand(10000,99999));
$Amount
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'Actual'
);
$Currency
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'currency'
);
$Street
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'address'
);
$City
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'city'
);
$ZIP
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'zip'
);
$Country
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'Country'
);
$this
->
language
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'lang'
);
$this
->
lang
=
isset
(
$arrLan
[
$this
->
language
])
?
$arrLan
[
$this
->
language
]
:
'en'
;
$first_name
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'firstName'
);
$last_name
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'lastName'
);
$mail
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'mail'
);
$IP
=
$_SERVER
[
'REMOTE_ADDR'
];
//发送的Data
$data
=
"authentication.entityId="
.
CASHFLOW_ENTITY_ID
.
"&authentication.userId="
.
CASHFLOW_USER_ID
.
"&authentication.password="
.
CASHFLOW_PASSWORD
.
"&paymentType="
.
CASHFLOW_TRANS_TYPE
.
"&merchantTransactionId="
.
$this
->
transaction_number
.
"&amount="
.
sprintf
(
"%.2f"
,
$Amount
)
.
"¤cy="
.
$Currency
.
"&customer.givenName="
.
$first_name
.
"&customer.surname="
.
$last_name
.
"&billing.street1="
.
$Street
.
"&billing.city="
.
$City
.
"&billing.postcode="
.
$ZIP
.
"&billing.country="
.
$Country
.
"&customer.email="
.
$mail
.
"&customer.ip="
.
$IP
;
error_log
(
date
(
"[Y-m-d H:i:s]"
)
.
"
\r\n
"
.
$this
->
transaction_number
.
' cashflow request:'
.
"
\r\n
"
.
$data
.
"
\r\n
"
,
3
,
$requestUrl
.
DIRECTORY_SEPARATOR
.
'Log_'
.
date
(
"Y-m-d"
)
.
'.log'
);
chmod
(
$requestUrl
.
DIRECTORY_SEPARATOR
.
'Log_'
.
date
(
"Y-m-d"
)
.
'.log'
,
511
);
//CURL 模拟POST
$ch
=
curl_init
();
curl_setopt
(
$ch
,
CURLOPT_URL
,
CASHFLOW_TOKEN_URL
);
curl_setopt
(
$ch
,
CURLOPT_POST
,
1
);
curl_setopt
(
$ch
,
CURLOPT_POSTFIELDS
,
$data
);
curl_setopt
(
$ch
,
CURLOPT_SSL_VERIFYPEER
,
false
);
// this should be set to true in production
curl_setopt
(
$ch
,
CURLOPT_RETURNTRANSFER
,
true
);
$responseData
=
curl_exec
(
$ch
);
if
(
curl_errno
(
$ch
))
{
return
curl_error
(
$ch
);
}
curl_close
(
$ch
);
$arr_token
=
json_decode
(
$responseData
);
$this
->
token
=
$arr_token
->
id
;
//创建cashflow数据表的数据Model
$CASHFLOW
[
'Model'
][
'transaction_number'
]
=
$this
->
transaction_number
;
$CASHFLOW
[
'Model'
][
'user_account'
]
=
$this
->
getColumnData
(
$_SESSION
[
'site_user_data'
],
'user_account'
);
$CASHFLOW
[
'Model'
][
'amount'
]
=
$Currency
!=
'JPY'
?
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'amount'
)
*
100
:
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'amount'
);
$CASHFLOW
[
'Model'
][
'currency'
]
=
$Currency
;
$CASHFLOW
[
'Model'
][
'method'
]
=
'CASHFLOWVM'
;
$CASHFLOW
[
'Model'
][
'deposit_bank'
]
=
'CASHFLOWVM'
;
$CASHFLOW
[
'Model'
][
'deposit_date'
]
=
date
(
"Y-m-d H:i:s"
);
$CASHFLOW
[
'Model'
][
'fee'
]
=
'0'
;
$CASHFLOW
[
'Model'
][
'message'
]
=
$this
->
getColumnData
(
$_SESSION
[
'cashflow'
],
'message'
);
$CASHFLOW
[
'Model'
][
'comment'
]
=
''
;
$CASHFLOW
[
'Model'
][
'create_time'
]
=
date
(
"Y-m-d H:i:s"
);
$CASHFLOW
[
'Model'
][
'process_user'
]
=
'9999'
;
$CASHFLOW
[
'Model'
][
'type'
]
=
'0'
;
$CASHFLOW
[
'Model'
][
'err_flg'
]
=
'0'
;
$sqlObject
=
new
mysql
(
$this
->
getConfigValue
(
SECTION_DB
,
HOST_NAME
),
$this
->
getConfigValue
(
SECTION_DB
,
USER_NAME
),
$this
->
getConfigValue
(
SECTION_DB
,
LOGIN_PASS
),
$this
->
getConfigValue
(
SECTION_DB
,
TARGET_DB_NAME
),
''
,
'UTF8'
);
$sql
=
"insert into t_deposit_cashflow_temporary "
;
//进deposit表的sql方法
$strsql
=
$sqlObject
->
Insertsql
(
$CASHFLOW
[
'Model'
]);
$sql
.=
$strsql
;
$sqlObject
->
query
(
$sql
);
error_log
(
date
(
"[Y-m-d H:i:s]"
)
.
"
\r\n
"
.
$this
->
transaction_number
.
' cashflow db request:'
.
"
\r\n
"
.
$sql
.
"
\r\n
"
,
3
,
$requestDbUrl
.
DIRECTORY_SEPARATOR
.
'Log_'
.
date
(
"Y-m-d"
)
.
'.log'
);
chmod
(
$requestDbUrl
.
DIRECTORY_SEPARATOR
.
'Log_'
.
date
(
"Y-m-d"
)
.
'.log'
,
511
);
}
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SUCCESS
||
$this
->
getType
()
==
CASHFLOW_DEPOSIT_FAILURE
){
//返回结果,对结果判断
$this
->
transationNumber
=
$this
->
getColumnData
(
$_SESSION
,
'transaction_number'
);
$this
->
setDeposit
(
$this
->
getRowData
(
$this
->
accessSelect
(
'SELECT_DEPOSIT_BY_TRANSACTION_NUMBER'
,
array
(
$this
->
transationNumber
))));
if
(
$this
->
isSendMail
!=
VAL_INT_1
){
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SUCCESS
){
$this
->
sendCashFlowSuccessMail
();
$this
->
accessModifyCommon
(
'UPDATE_DEPOSIT_ISSENDMAIL'
,
array
(
$this
->
transationNumber
));
}
else
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_FAILURE
){
$this
->
sendCashFlowFailMail
();
$this
->
accessModifyCommon
(
'UPDATE_DEPOSIT_ISSENDMAIL'
,
array
(
$this
->
transationNumber
));
}
}
}
}
else
if
(
$this
->
getType
()
==
TYPE_APPLY
)
{
// カード決済前
$json
=
null
;
if
(
$this
->
method
==
NO_STRING
)
{
echo
json_encode
(
array
(
PARAM_RESULT
=>
ERROR
,
PARAM_MESSAGE
=>
'パラメータが不足しています'
));
}
// リミットチェック
if
(
!
$this
->
checkGPSLimit
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
),
$this
->
method
,
$errType
))
{
if
(
$errType
==
VAL_INT_1
)
{
echo
json_encode
(
array
(
PARAM_RESULT
=>
ERROR
,
PARAM_MESSAGE
=>
$this
->
getMessage
(
ERROR
,
'E_DEPOSIT_PERMISSION'
,
array
())));
}
else
{
echo
json_encode
(
array
(
PARAM_RESULT
=>
ERROR
,
PARAM_MESSAGE
=>
$this
->
getMessage
(
ERROR
,
'E_DEPOSIT_GPS_LIMIT'
,
array
())));
}
}
else
{
echo
json_encode
(
array
(
PARAM_RESULT
=>
INFO
,
PARAM_MESSAGE
=>
''
));
}
}
else
if
(
$this
->
getType
()
==
VAL_STR_FLAT3_INPUT
||
$this
->
getType
()
==
VAL_STR_FLAT3_SUCCESS
||
$this
->
getType
()
==
VAL_STR_FLAT3_PRINT
){
if
(
!
$this
->
checkUnlimitedStatus
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
)))
{
$this
->
setType
(
TYPE_NOTICE_NOT_UNLIMITED
);
return
;
}
if
(
$this
->
dispCountryCommon
(
$this
->
CallUserData
(
PARAM_COUNTRY
))
!=
'Japan'
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_NOT_IN_JAPAN'
,
array
());
$this
->
setType
(
''
);
return
;
}
$this
->
currency
=
JPY
;
if
(
$this
->
getType
()
==
VAL_STR_FLAT3_SUCCESS
){
if
(
!
$this
->
checkNull
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_FLAT3'
,
array
());
$this
->
setType
(
VAL_STR_FLAT3_INPUT
);
return
;
}
if
(
!
$this
->
checkStringIntOnly
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_VALUE_PREG'
,
array
(
VAL_STR_AMOUNT
));
$this
->
setType
(
VAL_STR_FLAT3_INPUT
);
return
;
}
if
(
!
$this
->
checkCurrencyNumberJP
(
$this
->
amount
)){
$this
->
popUpSessionMessage
(
ERROR
,
'E_ERROR_VALUE_PREG'
,
array
(
VAL_STR_AMOUNT
));
$this
->
setType
(
VAL_STR_FLAT3_INPUT
);
return
;
}
if
(
$this
->
amount
>
500000
||
$this
->
amount
<
3000
){
$this
->
popUpSessionMessage
(
ERROR
,
'E_REQUIRED_VALUE_FLAT3'
,
array
());
$this
->
setType
(
VAL_STR_FLAT3_INPUT
);
return
;
}
$this
->
fee
=
$this
->
intToCurrency
(
ceil
((
$this
->
amount
*
VAL_STR_FLAT3_FEE
)),
PERCENT
);
$this
->
fee
=
ceil
(
$this
->
fee
);
$this
->
setFeeEx
(
$this
->
formatCurrency
(
$this
->
fee
,
$this
->
currency
));
$_SESSION
[
'BankInfo'
]
=
$this
->
getFloat3
();
$_SESSION
[
'BankInfo'
][
'Fee'
]
=
$this
->
fee
;
$_SESSION
[
'BankInfo'
][
'Purchase'
]
=
$this
->
returnDepositAmountNatural
();
$_SESSION
[
'BankInfo'
][
'Credit'
]
=
$this
->
getAmountString
(
$this
->
amount
,
$this
->
currency
);
}
}
return
true
;
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の計算
* @parameter : なし
* @return : なし
-------------------------------------------------------------------------*/
public
function
calculate
()
{
// 変数宣言部
$parcent
=
NO_COUNT
;
$fix
=
NO_COUNT
;
if
(
$this
->
method
==
'VISA'
||
$this
->
method
==
'GIFTCARD'
)
{
// VISA、MASTERの場合
$parcent
=
1.055
;
$fix
=
50
;
$this
->
payment
=
intval
((
$this
->
amount
*
$parcent
)
+
$fix
);
}
else
if
(
$this
->
method
==
''
){
}
else
if
(
$this
->
method
==
'INSTANTBANKTRANSFER'
)
{
// 銀行送金の場合
$parcent
=
1.06
;
$fix
=
600
;
$this
->
payment
=
(
$this
->
amount
*
$parcent
)
+
$fix
;
// この場合はオリジナルレートで計算する
$oRate
=
$this
->
getRowData
(
$this
->
accessSelect
(
'SELECT_ORIGINAL_RATE'
,
array
(
EUR
,
JPY
)));
// オリジナルレート * 2%(最後に桁落とし)
$this
->
payment
=
$this
->
intToCurrency
((
$this
->
payment
*
$this
->
getColumnData
(
$oRate
,
COLUMN_ORIGINAL_RATE
))
*
1.02
,
VAR_GPAYSAFE_CARD_CURRENCY
);
// 桁丸め
$this
->
payment
=
floor
(
$this
->
payment
)
+
VAL_INT_1
;
}
else
{
$this
->
payment
=
$this
->
amount
;
}
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
getFloat3
()
{
$accountNumber
=
$this
->
getUserData
(
PARAM_USER_ACCOUNT
);
$GateWay
=
str_replace
(
'{uid}'
,
$accountNumber
,
VAL_STR_FLAT3_GATEWAY
);
$JsonResult
=
file_get_contents
(
$GateWay
);
$JsonResult
=
str_replace
(
'('
,
''
,
$JsonResult
);
$JsonResult
=
str_replace
(
')'
,
''
,
$JsonResult
);
$result
=
json_decode
(
$JsonResult
,
true
);
return
$result
;
}
/*-------------------------------------------------------------------------
* @function_name: 氏名の取得
* @parameter : なし
* @return : 氏名
-------------------------------------------------------------------------*/
public
function
echoFee
()
{
echo
$this
->
formatCurrency
(
$this
->
fee
,
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 入金メソッドの取得
* @parameter : なし
* @return : 入金メソッド
-------------------------------------------------------------------------*/
public
function
getMethod
()
{
return
$this
->
method
;
}
/*-------------------------------------------------------------------------
* @function_name: 入金メソッドの取得
* @parameter : なし
* @return : 入金メソッド
-------------------------------------------------------------------------*/
public
function
echoMethod
()
{
echo
$this
->
method
;
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
getCurrency
()
{
return
$this
->
currency
;
}
/*-------------------------------------------------------------------------
* @function_name: 取引時間の取得
* @parameter : なし
* @return : 取引時間
-------------------------------------------------------------------------*/
public
function
echoDepositAmountNatural
()
{
echo
$this
->
formatCurrency
((
$this
->
amount
+
$this
->
fee
),
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 処理時間の取得
* @parameter : なし
* @return : 処理時間
-------------------------------------------------------------------------*/
public
function
echoCreateTime
()
{
echo
$this
->
createTime
;
}
/*-------------------------------------------------------------------------
* @function_name: 取引時間の取得
* @parameter : なし
* @return : 取引時間
-------------------------------------------------------------------------*/
public
function
echoAmountString
()
{
echo
$this
->
getAmountString
(
$this
->
amount
,
$this
->
currency
);
//echo $this -> getAmountString($this -> amount, $this -> currency);
}
/*-------------------------------------------------------------------------
* @function_name: 取引時間の取得
* @parameter : なし
* @return : 取引時間
-------------------------------------------------------------------------*/
public
function
returnDepositAmountNatural
()
{
$DepositAmount
=
$this
->
amount
+
ceil
(
$this
->
fee
);
return
$this
->
getAmountString
(
$DepositAmount
,
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 取引番号の取得
* @parameter : なし
* @return : 取引番号
-------------------------------------------------------------------------*/
public
function
echoTransactionNumber
()
{
echo
$this
->
transationNumber
;
}
/*-------------------------------------------------------------------------
* @function_name: 入金データの設定
* @parameter : 入金データ
* @return : なし
-------------------------------------------------------------------------*/
public
function
setDeposit
(
$deposit
)
{
$this
->
deposit
=
$deposit
;
$CommentResult
=
array
();
$Comment
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_COMMENT
);
if
(
!
empty
(
$Comment
)){
$CommentResult
=
json_decode
(
$Comment
,
true
);
}
if
(
$this
->
getType
()
==
CASHFLOW_DEPOSIT_SUCCESS
//||
//$this -> getType() == CASHFLOW_DEPOSIT_FAILURE
){
if
(
isset
(
$CommentResult
[
'payload'
])){
@
$this
->
currency
=
$CommentResult
[
'payload'
][
'currency'
];
if
(
$this
->
currency
==
'JPY'
){
@
$this
->
payamount
=
$CommentResult
[
'payload'
][
'amount'
];
}
else
{
@
$this
->
payamount
=
$CommentResult
[
'payload'
][
'amount'
]
*
100
;
}
}
else
{
@
$this
->
currency
=
$CommentResult
[
'currency'
];
if
(
$this
->
currency
==
'JPY'
){
@
$this
->
payamount
=
$CommentResult
[
'amount'
];
}
else
{
@
$this
->
payamount
=
$CommentResult
[
'amount'
]
*
100
;
}
}
$this
->
amount
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_AMOUNT
);
$this
->
fee
=
$this
->
payamount
-
$this
->
amount
;
}
else
if
(
$this
->
getType
()
==
TYPE_CUP_PAYMENTSUCCESS
||
$this
->
getType
()
==
TYPE_CUP_PAYMENTFAILURE
){
@
$this
->
payamount
=
$CommentResult
[
'amount'
];
@
$this
->
amount
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_AMOUNT
);
@
$this
->
fee
=
$this
->
payamount
-
$this
->
amount
;
}
else
{
$this
->
amount
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_AMOUNT
);
$this
->
fee
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_FEE
);
}
$this
->
createTime
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_CREATE_TIME_STRING
);
$this
->
currency
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_CURRENCY
);
$this
->
isSendMail
=
$this
->
getColumnData
(
$this
->
deposit
,
'isSendMail'
);
$this
->
setFeeEx
(
$this
->
fee
);
}
public
function
setCupFailDeposit
(
$deposit
)
{
}
/*-------------------------------------------------------------------------
* @function_name: 入金成功時のメール送信パラメータ
* @parameter : なし
* @return : パラメータ
-------------------------------------------------------------------------*/
private
function
getSendCashFlowSuccessData
()
{
// 変数宣言部
$rtn
=
array
();
$account
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_USER_ACCOUNT
);
// パラメータの設定
$rtn
[]
=
$account
;
// 口座番号(1)
$rtn
[]
=
$this
->
getNameCommon
(
$account
);
// 氏名(2)
$rtn
[]
=
$this
->
transationNumber
;
// 取引番号(3)
$rtn
[]
=
$this
->
createTime
;
// 取引時刻(4)
$rtn
[]
=
$this
->
currency
;
// 決済通貨(5)
$rtn
[]
=
$this
->
getAmountString
(
$this
->
amount
,
$this
->
currency
);
// 決済金額(6)
$rtn
[]
=
$this
->
currency
;
// 反映通貨(7)
$rtn
[]
=
$this
->
getAmountString
((
$this
->
amount
+
$this
->
fee
),
$this
->
currency
);
// 反映金額(8)
return
$rtn
;
}
/*-------------------------------------------------------------------------
* @function_name: 入金失败時のメール送信パラメータ
* @parameter : なし
* @return : パラメータ
-------------------------------------------------------------------------*/
function
getSendCUPFailData
()
{
// 変数宣言部
$rtn
=
array
();
$account
=
$this
->
getUserData
(
COLUMN_USER_ACCOUNT
);
// パラメータの設定
$rtn
[]
=
$account
;
// 口座番号(1)
$rtn
[]
=
$this
->
getNameCommon
(
$account
);
// 氏名(2)
return
$rtn
;
}
/*-------------------------------------------------------------------------
* @function_name: 入金成功時のメール送信パラメータ
* @parameter : なし
* @return : パラメータ
-------------------------------------------------------------------------*/
private
function
getSendCUPSuccessData
()
{
// 変数宣言部
$rtn
=
array
();
$account
=
$this
->
getColumnData
(
$this
->
deposit
,
COLUMN_USER_ACCOUNT
);
$commission
=
$this
->
intToCurrency
(
$this
->
amount
,
$this
->
currency
)
*
CUP_FEE
;
$fee
=
$commission
+
CUP_TRANSACTION_FEE
*
100
;
// パラメータの設定
$rtn
[]
=
$account
;
// 口座番号(1)
$rtn
[]
=
$this
->
getNameCommon
(
$account
);
// 氏名(2)
$rtn
[]
=
$this
->
transationNumber
;
// 取引番号(3)
$rtn
[]
=
$this
->
createTime
;
// 取引時刻(4)
$rtn
[]
=
$this
->
currency
;
// 決済通貨(5)
$rtn
[]
=
$this
->
getAmountString
(
$this
->
amount
+
$fee
,
$this
->
currency
);
// 決済金額(6)
$rtn
[]
=
$this
->
currency
;
$rtn
[]
=
$this
->
getAmountString
(
$this
->
amount
,
$this
->
currency
);
// 反映通貨(7)
return
$rtn
;
}
private
function
sendCUPSuccessMail
(){
$params
=
''
;
// 変数宣言部
$params
=
$this
->
getSendCUPSuccessData
();
// メールを送信(ユーザ)
$this
->
sendMailByTmp
(
'cup_deposit_info.xml'
,
$params
,
$this
->
getEMailCommon
(
$this
->
getColumnData
(
$params
,
NO_COUNT
))
,
VAR_CS_MAIL_ADDRESS
,
$this
->
getLangage
());
}
private
function
sendCUPFailMail
(){
$params
=
''
;
// 変数宣言部
$params
=
$this
->
getSendCUPFailData
();
// メールを送信(ユーザ)
$this
->
sendMailByTmp
(
'cup_deposit_failure.xml'
,
$params
,
$this
->
getEMailCommon
(
$this
->
getColumnData
(
$params
,
NO_COUNT
))
,
VAR_CS_MAIL_ADDRESS
,
$this
->
getLangage
());
}
/*-------------------------------------------------------------------------
* @function_name: 入金失败時のメール送信パラメータ
* @parameter : なし
* @return : パラメータ
-------------------------------------------------------------------------*/
function
getSendCashFlowFailData
()
{
// 変数宣言部
$rtn
=
array
();
$rtn
[]
=
$this
->
getUserData
(
PARAM_USER_ACCOUNT
);
// 口座番号
$rtn
[]
=
$this
->
getNameCommon
(
$this
->
getUserData
(
PARAM_USER_ACCOUNT
));
// 氏名
return
$rtn
;
}
private
function
sendCashFlowSuccessMail
(){
$params
=
''
;
// 変数宣言部
$params
=
$this
->
getSendCashFlowSuccessData
();
// メールを送信(ユーザ)
$this
->
sendMailByTmp
(
'cashflow_deposit_info.xml'
,
$params
,
$this
->
getEMailCommon
(
$this
->
getColumnData
(
$params
,
NO_COUNT
))
,
VAR_CS_MAIL_ADDRESS
,
$this
->
getLangage
());
}
private
function
sendCashFlowFailMail
(){
$params
=
''
;
// 変数宣言部
$params
=
$this
->
getSendCashFlowFailData
();
// メールを送信(ユーザ)
$this
->
sendMailByTmp
(
'cashflow_deposit_failure.xml'
,
$params
,
$this
->
getEMailCommon
(
$this
->
getColumnData
(
$params
,
NO_COUNT
))
,
VAR_CS_MAIL_ADDRESS
,
$this
->
getLangage
());
}
/*-------------------------------------------------------------------------
* @function_name: 入金メソッドの取得
* @parameter : なし
* @return : 入金メソッド
-------------------------------------------------------------------------*/
public
function
echoMethodString
()
{
if
(
$this
->
method
==
'GIFTCARD'
)
{
echo
'MASTERCARD'
;
}
else
{
echo
$this
->
method
;
}
}
/*-------------------------------------------------------------------------
* @function_name: 入金メソッドの取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public
function
dispMethod
()
{
$result
=
''
;
$result
=
$this
->
getDepositMethodListCommon
();
return
$result
;
}
/*-------------------------------------------------------------------------
* @function_name: 口座番号の取得
* @parameter : なし
* @return : 口座番号
-------------------------------------------------------------------------*/
public
function
echoAccount
()
{
echo
$this
->
getUserData
(
PARAM_USER_ACCOUNT
);
}
/*-------------------------------------------------------------------------
* @function_name: 金額の取得
* @parameter : なし
* @return : 金額
-------------------------------------------------------------------------*/
public
function
dispAmount
()
{
echo
$this
->
getAmountString
(
$this
->
amount
,
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の取得
* @parameter : なし
* @return : 決済金額
-------------------------------------------------------------------------*/
public
function
dispPayment
()
{
echo
$this
->
getAmountString
(
$this
->
payment
,
$this
->
currency
);
}
/*-------------------------------------------------------------------------
* @function_name: 金額の取得
* @parameter : なし
* @return : 金額
-------------------------------------------------------------------------*/
public
function
echoAmount
()
{
echo
$this
->
formatCurrency
(
$this
->
amount
,
$this
->
currency
);
//echo $this -> amount;
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の取得
* @parameter : なし
* @return : 決済金額
-------------------------------------------------------------------------*/
public
function
echoPayment
()
{
echo
$this
->
payment
;
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public
function
dispAmountList
()
{
// 変数宣言部
$list
=
array
();
// $list[] = array(PARAM_DATA_KEY => '100'
// , PARAM_DATA_VALUE => '€1');
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'500'
,
PARAM_DATA_VALUE
=>
'€5'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'2000'
,
PARAM_DATA_VALUE
=>
'€20'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'5000'
,
PARAM_DATA_VALUE
=>
'€50'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'10000'
,
PARAM_DATA_VALUE
=>
'€100'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'30000'
,
PARAM_DATA_VALUE
=>
'€300'
);
echo
$this
->
dispListOption
(
$list
,
$this
->
amount
);
}
/*-------------------------------------------------------------------------
* @function_name: 決済金額の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public
function
dispTransferAmountList
()
{
// 変数宣言部
$list
=
array
();
// $list[] = array(PARAM_DATA_KEY => '100'
// , PARAM_DATA_VALUE => '€1');
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'500'
,
PARAM_DATA_VALUE
=>
'€5'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'5000'
,
PARAM_DATA_VALUE
=>
'€50'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'10000'
,
PARAM_DATA_VALUE
=>
'€100'
);
$list
[]
=
array
(
PARAM_DATA_KEY
=>
'30000'
,
PARAM_DATA_VALUE
=>
'€300'
);
echo
$this
->
dispListOption
(
$list
,
$this
->
tAmount
);
}
/*-------------------------------------------------------------------------
* @function_name: 氏名の取得
* @parameter : なし
* @return : 氏名
-------------------------------------------------------------------------*/
public
function
echoName
()
{
echo
$this
->
getUserData
(
PARAM_NAME
);
}
/*-------------------------------------------------------------------------
* @function_name: HTML表示用のデータ取得関数
* @parameter : なし
* @return : HTML表示用データ配列
-------------------------------------------------------------------------*/
public
function
dispHTML
()
{
return
array
();
}
/*-------------------------------------------------------------------------
* @function_name: 口座種別の取得
* @parameter : なし
* @return : 口座種別
-------------------------------------------------------------------------*/
public
function
getAccountType
()
{
return
$this
->
accountType
;
}
/*-------------------------------------------------------------------------
* @function_name: 姓の取得
* @parameter : なし
* @return : 姓
-------------------------------------------------------------------------*/
public
function
getLastName
()
{
return
$this
->
lastName
;
}
/*-------------------------------------------------------------------------
* @function_name: 名の取得
* @parameter : なし
* @return : 名
-------------------------------------------------------------------------*/
public
function
getFirstName
()
{
return
$this
->
firstName
;
}
/*-------------------------------------------------------------------------
* @function_name: メールアドレスの取得
* @parameter : なし
* @return : メールアドレス
-------------------------------------------------------------------------*/
public
function
getEMail
()
{
return
$this
->
email
;
}
/*-------------------------------------------------------------------------
* @function_name: パスワードの取得
* @parameter : なし
* @return : パスワード
-------------------------------------------------------------------------*/
public
function
getPassword
()
{
return
$this
->
password
;
}
/*-------------------------------------------------------------------------
* @function_name: パスワード(再入力)の取得
* @parameter : なし
* @return : パスワード(再入力)
-------------------------------------------------------------------------*/
public
function
getPasswordConfirm
()
{
return
$this
->
passwordConfirm
;
}
/*-------------------------------------------------------------------------
* @function_name: 生年月日(年)の取得
* @parameter : なし
* @return : 生年月日(年)
-------------------------------------------------------------------------*/
public
function
getBirthYear
()
{
return
$this
->
birthYear
;
}
/*-------------------------------------------------------------------------
* @function_name: 生年月日(月)の取得
* @parameter : なし
* @return : 生年月日(月)
-------------------------------------------------------------------------*/
public
function
getBirthMonth
()
{
return
$this
->
birthMonth
;
}
/*-------------------------------------------------------------------------
* @function_name: 生年月日(日)の取得
* @parameter : なし
* @return : 生年月日(日)
-------------------------------------------------------------------------*/
public
function
getBirthDay
()
{
return
$this
->
birthDay
;
}
/*-------------------------------------------------------------------------
* @function_name: 国の取得
* @parameter : なし
* @return : 国
-------------------------------------------------------------------------*/
public
function
getCountry
()
{
return
$this
->
country
;
}
/*-------------------------------------------------------------------------
* @function_name: 都道府県の取得
* @parameter : なし
* @return : 都道府県
-------------------------------------------------------------------------*/
public
function
getState
()
{
return
$this
->
state
;
}
/*-------------------------------------------------------------------------
* @function_name: 市の取得
* @parameter : なし
* @return : 市
-------------------------------------------------------------------------*/
public
function
getCity
()
{
return
$this
->
city
;
}
/*-------------------------------------------------------------------------
* @function_name: 郵便番号の取得
* @parameter : なし
* @return : 郵便番号
-------------------------------------------------------------------------*/
public
function
getZipCode
()
{
return
$this
->
zipCode
;
}
/*-------------------------------------------------------------------------
* @function_name: 番地の取得
* @parameter : なし
* @return : 番地
-------------------------------------------------------------------------*/
public
function
getAddress
()
{
return
$this
->
address
;
}
/*-------------------------------------------------------------------------
* @function_name: 電話番号の取得
* @parameter : なし
* @return : 電話番号
-------------------------------------------------------------------------*/
public
function
getTel
()
{
return
$this
->
tel
;
}
/*-------------------------------------------------------------------------
* @function_name: 姓の取得
* @parameter : なし
* @return : 姓
-------------------------------------------------------------------------*/
public
function
echoLastName
()
{
echo
$this
->
lastName
;
}
/*-------------------------------------------------------------------------
* @function_name: 名の取得
* @parameter : なし
* @return : 名
-------------------------------------------------------------------------*/
public
function
echoFirstName
()
{
echo
$this
->
firstName
;
}
/*-------------------------------------------------------------------------
* @function_name: メールアドレスの取得
* @parameter : なし
* @return : メールアドレス
-------------------------------------------------------------------------*/
public
function
echoEMail
()
{
echo
$this
->
email
;
}
/*-------------------------------------------------------------------------
* @function_name: 確認用口座種別の取得
* @parameter : なし
* @return : 確認用口座種別
-------------------------------------------------------------------------*/
public
function
dispAccountType
()
{
if
(
$this
->
getAccountType
()
==
VAL_INT_1
)
{
return
VAL_STR_PERSONAL
;
}
else
if
(
$this
->
getAccountType
()
==
VAL_INT_2
)
{
return
VAL_STR_CORPORATE
;
}
else
{
return
VAL_STR_PERSONAL
;
}
}
/*-------------------------------------------------------------------------
* @function_name: 表示用口座種別の取得
* @parameter : なし
* @return : 表示用HTML文字列
-------------------------------------------------------------------------*/
public
function
echoAccountType
()
{
echo
$this
->
dispAccountTypeList
(
$this
->
getAccountType
());
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
echoUserData
(
$param
)
{
echo
$this
->
getColumnData
(
$this
->
account
,
$param
);
}
public
function
CallUserData
(
$param
)
{
return
$this
->
getColumnData
(
$this
->
account
,
$param
);
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
echoCountryName
()
{
echo
$this
->
dispCountryCommon
(
$this
->
getColumnData
(
$this
->
account
,
PARAM_COUNTRY
));
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
dispCurrency
()
{
echo
$this
->
currency
;
}
/*-------------------------------------------------------------------------
* @function_name: ユーザデータの取得
* @parameter : 取得パラメータ
* @return : ユーザデータ
-------------------------------------------------------------------------*/
public
function
echoResultMessage
()
{
if
(
$this
->
getType
()
==
TYPE_SUCCESS
)
{
// 成功
echo
$this
->
getMessage
(
INFO
,
'I_DEPOSIT_COMPLETE_GPS'
,
array
());
}
else
{
// 失敗
echo
$this
->
getMessage
(
ERROR
,
'E_DEPOSIT_ERROR_GPS'
,
array
());
}
}
/*-------------------------------------------------------------------------
* @function_name: 請求名称の取得
* @parameter : なし
* @return : 請求名称
-------------------------------------------------------------------------*/
public
function
echoInvoiceName
()
{
echo
$this
->
getValueByList
(
$this
->
getDepositInvoiceNameListCommon
(),
$this
->
method
);
}
/*-------------------------------------------------------------------------
* @function_name: 回数制限の取得
* @parameter : なし
* @return : 回数制限
-------------------------------------------------------------------------*/
public
function
echoDailyCountLimit
()
{
echo
$this
->
getGPSCountLimit
(
$this
->
method
,
$this
->
getColumnData
(
$this
->
account
,
COLUMN_GPS_ACCOUNT_FLG
));
}
/*-------------------------------------------------------------------------
* @function_name: 金額制限の取得
* @parameter : なし
* @return : 金額制限
-------------------------------------------------------------------------*/
public
function
echoAmountLimit
()
{
echo
number_format
(
$this
->
getGPSAmountLimit
(
$this
->
method
,
$this
->
getColumnData
(
$this
->
account
,
COLUMN_GPS_ACCOUNT_FLG
)));
}
/*-------------------------------------------------------------------------
* @function_name: 金額制限の期間の取得
* @parameter : なし
* @return : 金額制限の期間
-------------------------------------------------------------------------*/
public
function
echoBetweenDate
()
{
// 変数宣言部
$rtn
=
NO_STRING
;
if
(
$this
->
method
==
PARAM_GPS_VISA
)
{
// VISAの場合
$rtn
=
VAL_INT_30
;
}
else
if
(
$this
->
method
==
PARAM_GPS_GIFTCARD
)
{
// MASTERCARDの場合
$rtn
=
VAL_INT_30
;
}
else
if
(
$this
->
method
==
PARAM_GPS_VAL_INSTANTBANKTRANSFER
)
{
// 銀行送金の場合
$rtn
=
VAL_INT_15
;
}
echo
$rtn
;
}
/*-------------------------------------------------------------------------
* @function_name: 結果再確認のURL
* @parameter : なし
* @return : 結果再確認のURL
-------------------------------------------------------------------------*/
public
function
echoReconfirmUrl
()
{
echo
'https://test.api.iwl.world/Complete_Gpaysafe?rn='
.
$this
->
referenceNo
;
}
/*-------------------------------------------------------------------------
* @function_name: 結果再確認のURL
* @parameter : なし
* @return : 結果再確認のURL
-------------------------------------------------------------------------*/
public
function
getRefarenceNo
()
{
return
$this
->
referenceNo
;
}
//检查必要信息是否已经填写
private
function
checkUserProfile
(){
$rtn
=
True
;
//查看必要用户信息是否已填写,没有通知先完善用户信息
$ZipCode
=
$this
->
CallUserData
(
PARAM_ZIP_CODE
);
$Address
=
$this
->
CallUserData
(
PARAM_ADDRESS
);
$City
=
$this
->
CallUserData
(
PARAM_CITY
);
$Phone
=
$this
->
CallUserData
(
PARAM_TEL
);
if
(
empty
(
$ZipCode
)
||
empty
(
$Address
)
||
empty
(
$City
)
||
empty
(
$Phone
)
){
$rtn
=
False
;
return
$rtn
;
}
return
$rtn
;
}
private
function
CheckPaymentKind
(){
$gpsPayments
=
$this
->
getColumnData
(
$this
->
account
,
COLUMN_GPS_KIND_OF_PAYMENT
);
// GPS決済種別
$list
=
$this
->
makeArrayByPowerCommon
(
$gpsPayments
);
return
$list
;
}
//class End
}
?>
\ No newline at end of file
logic/deposit/model.php.bak20180301
deleted
100644 → 0
View file @
67db25e9
logic/deposit/model.php.bak20180328
deleted
100644 → 0
View file @
67db25e9
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment