You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.8 KiB
83 lines
1.8 KiB
#!/usr/bin/env php
|
|
<?php
|
|
|
|
define("API_AUTH_SECRET", "secret");
|
|
define("SERVER_DOMAIN", 'http://localhost:8000');
|
|
define('N', '
|
|
');
|
|
|
|
|
|
function calc_hash($str)
|
|
{
|
|
$hash = bin2hex(mhash(MHASH_SHA256,$str));
|
|
return $hash;
|
|
}
|
|
|
|
|
|
function make_sign($data)
|
|
{
|
|
asort($data, SORT_STRING);
|
|
array_push($data, API_AUTH_SECRET);
|
|
$str_to_hash = join('_', $data);
|
|
return calc_hash($str_to_hash);
|
|
}
|
|
|
|
|
|
function send_to($data)
|
|
{
|
|
$sign = make_sign($data);
|
|
$data['sign'] = $sign;
|
|
$url_params = http_build_query($data);
|
|
$r = file_get_contents(SERVER_DOMAIN."/abons/api/duplicate_pay/?".$url_params);
|
|
return $r;
|
|
}
|
|
|
|
|
|
|
|
function forward_pay_request($act, $pay_account, $service_id, $trade_point, $receipt_num, $pay_id, $pay_amount)
|
|
{
|
|
require('./users_uname_pk_pairs.php');
|
|
|
|
// $user_id_pairs
|
|
|
|
if($act == 1)
|
|
{
|
|
$pay = [
|
|
"ACT" => 1,
|
|
"PAY_ACCOUNT" => $user_id_pairs[$pay_account]
|
|
];
|
|
return send_to($pay);
|
|
}else if($act == 4)
|
|
{
|
|
$pay = [
|
|
"ACT" => 4,
|
|
"PAY_ACCOUNT" => $user_id_pairs[$pay_account],
|
|
"TRADE_POINT" => $trade_point,
|
|
"RECEIPT_NUM" => $receipt_num,
|
|
"PAY_ID" => $pay_id,
|
|
"PAY_AMOUNT" => $pay_amount,
|
|
"SERVICE_ID" => $service_id
|
|
];
|
|
return send_to($pay);
|
|
}else if($act == 7)
|
|
{
|
|
$pay = [
|
|
"ACT" => 7,
|
|
"PAY_ID" => $pay_id,
|
|
"SERVICE_ID" => $service_id
|
|
];
|
|
return send_to($pay);
|
|
}
|
|
|
|
}
|
|
|
|
# Request
|
|
echo forward_pay_request(1, '1234', null, null, null, null, null);
|
|
|
|
# Add cash
|
|
echo forward_pay_request('4', '1234', 'mypaysrv', '3432', '289473', '897879-989-68669', '1');
|
|
|
|
# check cash
|
|
echo forward_pay_request(7, null, 'mypaysrv', null, null, '897879-989-68669', null);
|
|
|
|
?>
|