Merge pull request 'feature/0302' (#9) from feature/0302 into master

Reviewed-on: http://8.136.139.249:3000/wmtx/sdk/pulls/9
master
廖金灵 4 years ago
commit de8d626463

@ -501,7 +501,7 @@ class NotifyController extends BaseController
'identifier' => $merNo
])->find();
if (!$merchant) {
$this->record_logs("找不到商户!".$notify['auth_app_id']);
$this->record_logs("找不到商户!".$merNo);
echo 'fail';
exit();
}
@ -543,101 +543,66 @@ class NotifyController extends BaseController
public function heepay_callback()
{
Log::write(serialize($_REQUEST), Log::DEBUG);
$result = $_GET['result'];
$pay_message = $_GET['pay_message'];
$agent_id = $_GET['agent_id'];
$jnet_bill_no = $_GET['jnet_bill_no'];
$agent_bill_id = $_GET['agent_bill_id'];
$pay_type = $_GET['pay_type'];
$pay_amt = $_GET['pay_amt'];
$remark = $_GET['remark'];
$return_sign = $_GET['sign'];
$merchant = M('payment_merchant', 'tab_')->where([
'identifier' => $agent_id
])->find();
if (!$merchant) {
$this->record_logs("找不到商户!".$agent_id);
echo 'fail';
exit();
}
$remark = iconv("GB2312", "UTF-8//IGNORE", urldecode($remark));//签名验证中的中文采用UTF-8编码;
$signStr = '';
$signStr = $signStr . 'result=' . $result;
$signStr = $signStr . '&agent_id=' . $agent_id;
$signStr = $signStr . '&jnet_bill_no=' . $jnet_bill_no;
$signStr = $signStr . '&agent_bill_id=' . $agent_bill_id;
$signStr = $signStr . '&pay_type=' . $pay_type;
$signStr = $signStr . '&pay_amt=' . $pay_amt;
$signStr = $signStr . '&remark=' . $remark;
$signStr = $signStr . '&key=' . C('heepay.key'); //商户签名密钥
$sign = '';
$payConf = json_decode($merchant['config'], true);
$signStr = $signStr . '&key=' . $payConf['secret']; //商户签名密钥
$sign = strtolower(md5($signStr));
if ($sign == $return_sign) { //比较签名密钥结果是否一致,一致则保证了数据的一致性
//商户自行处理自己的业务逻辑
$pay_where = substr($agent_bill_id, 0, 2);
$data['trade_no'] = $_GET['jnet_bill_no'];
$data['out_trade_no'] = $_GET['agent_bill_id'];
switch ($pay_where) {
case 'SP':
$result = $this->set_spend($data);
break;
case 'PF':
$result = $this->set_deposit($data);
break;
case 'AG':
$result = $this->set_agent($data);
break;
default:
exit('accident order data');
break;
}
echo 'ok';
} else {
echo 'error';
//商户自行处理,可通过查询接口更新订单状态,也可以通过商户后台自行补发通知,或者反馈运营人工补发
}
}

@ -775,26 +775,34 @@ class PayH5Controller extends BaseController{
// redirect(U('Spend/notice',array('user_id'=>$user_id, 'is_platform' => 1,'game_id'=>$game_id,'msg'=>'支付失败', 'user_token' => $this->userToken)));exit;
}
}elseif ($pay_info['channel'] == 5) { // 汇付宝
$request['pay_way'] = C('PAY_WAY.WFT_PAY'); // 威富通wx
$request['pay_way'] = self::WX_PAY; // 威富通wx
$pay['agent_id'] = C('heepay.partner');//商户号
$pay['agent_id'] = $pay_conf['merno'];//商户号
$pay['order_no'] = $request['pay_order_number'];
$pay['time'] = date('YmdHis', time());
$pay['pay_type'] = 30;
$pay['amount'] = $request['price'];
$pay['user_ip'] = get_client_ip();
$pay['sign_key'] = C('heepay.key');//密钥
$pay['sign_key'] = $pay_conf['secret'];//密钥
$pay['payerName'] = iconv("UTF-8", "gb2312//IGNORE", "万盟天下");
$pay['number'] = 1;
$pay['goods_note']= "消费-".$request["pay_order_number"];
$pay['device'] = "wap";
$pay['bank_card_type'] = 0;
$pay['notify_url'] = C('PAY_DOMAIN')."/callback.php/Notify/heepay_callback";
$pay['return_url'] = C('PAY_DOMAIN')."sdk.php/Spend/paycallback/orderno/{$request['pay_order_number']}/user_token/".$this->userToken."/paytype/weixinpay/game_id/{$game_id}";
$heepay = new Heepay();
$url = $heepay->wxh5_pay($pay);
$request['pay_url'] = $url;//."&tx_client=hideopen";
$this->add_deposit($request, 1);
$json_data = $heepay->wxh5_pay($pay);
if($json_data['ret_code'] == "0000"){
$request['pay_url'] = $json_data['url'] . "&tx_client=hideopen";
$request['merchant_id'] = $pay_info['id'];
$request['merchant_way'] = self::WX_PAY;
$request['main_id'] = $main_id;
$this->add_deposit($request, 1);
} else {
jsonOutput(0, "支付失败");
exit;
}
}elseif(get_wx_pay_type() == 2){
if($request['code']==1){
@ -1400,11 +1408,8 @@ class PayH5Controller extends BaseController{
*/
public function weixin_pay($user_id,$game_id) {
/* $file=file_get_contents("./Application/Sdk/OrderNo/".$user_id."-".$game_id.".txt");
$request = json_decode(think_decrypt($file),true); */
$request = $this->get_sdk_request($game_id);
// $request['pay_order_number'] = "SP_".date('Ymd').date('His').sp_random_string(4);
$request['pay_status'] = 0;
$request['pay_way'] = C("PAY_WAY.WEIXIN");
$request['spend_ip'] = get_client_ip();
@ -1499,15 +1504,15 @@ class PayH5Controller extends BaseController{
// redirect(U('Spend/notice',array('user_id'=>$user_id,'game_id'=>$game_id,'msg'=>'支付失败', 'user_token' => $this->userToken)));exit;
}
}elseif ($pay_info['channel'] == 5) {
$request['pay_way'] = C('PAY_WAY.WFT_PAY'); // 威富通wx
$request['pay_way'] = self::WX_PAY;
$pay['agent_id'] = C('heepay.partner');//商户号
$pay['agent_id'] = $pay_conf['merno'];//商户号
$pay['order_no'] = $request['pay_order_number'];
$pay['time'] = date('YmdHis', time());
$pay['pay_type'] = 30;
$pay['amount'] = $request['price'];
$pay['user_ip'] = get_client_ip();
$pay['sign_key'] = C('heepay.key');//密钥
$pay['sign_key'] = $pay_conf['secret'];//密钥
$pay['payerName'] = iconv("UTF-8", "gb2312//IGNORE", "万盟天下");
$pay['number'] = 1;
$pay['goods_note']= "消费-".$request["pay_order_number"];
@ -1519,6 +1524,9 @@ class PayH5Controller extends BaseController{
$json_data = $heepay->wxh5_pay($pay);
if($json_data['ret_code'] == "0000"){
$request['pay_url'] = $json_data['url'] . "&tx_client=hideopen";
$request['merchant_id'] = $pay_info['id'];
$request['merchant_way'] = self::WX_PAY;
$request['main_id'] = $main_id;
$this->add_spend($request,1);
} else {
echo json_encode(['code'=>0,'msg'=> '支付失败,请重试'.$json_data['ret_msg']]);

Loading…
Cancel
Save