Change-Id: Ifd2f93afda6e5cbc32ea08c0e30e2cf124775bed
This commit is contained in:
vguanyiwgd 2024-04-15 17:37:38 +08:00
parent ae66ccc595
commit debe35ef89
1 changed files with 19 additions and 21 deletions

View File

@ -6,22 +6,22 @@ if(!$wxpay_recvxml) {
$xmls = $wxpay_recvxml;
}
/*$xmls = "
<xml><appid><![CDATA[wx426b3015555a46be]]></appid>
<bank_type><![CDATA[CFT]]></bank_type>
<xml><appid><![CDATA[wxe2fcb7edf7f486e1]]></appid>
<bank_type><![CDATA[OTHERS]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[N]]></is_subscribe>
<mch_id><![CDATA[1900009851]]></mch_id>
<nonce_str><![CDATA[e3f706fd27cd18b1bbf35ba694338ad5]]></nonce_str>
<openid><![CDATA[oHZx6uBiKW-vf-RPqr3UYJslWgQQ]]></openid>
<out_trade_no><![CDATA[572197987712]]></out_trade_no>
<mch_id><![CDATA[1673517104]]></mch_id>
<nonce_str><![CDATA[dd69bd18080e98ab076488ccc37b8819]]></nonce_str>
<openid><![CDATA[oCzar63sIJh1F62-z0mOMS4FkPGA]]></openid>
<out_trade_no><![CDATA[FTDC20240415396334855428]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[25F58F2EE0A837F5EC7B075D1D80AD11]]></sign>
<time_end><![CDATA[20170321103822]]></time_end>
<sign><![CDATA[92CEE54CA3E4392E7B0A3D8279B582BB]]></sign>
<time_end><![CDATA[20240415165129]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[NATIVE]]></trade_type>
<transaction_id><![CDATA[4004242001201703214106194791]]></transaction_id>
<trade_type><![CDATA[JSAPI]]></trade_type>
<transaction_id><![CDATA[4200002207202404151893470332]]></transaction_id>
</xml>
";*/
//if(!$xmls) exit;
@ -35,18 +35,17 @@ foreach($xml->children() as $name => $node) {
$data[$name.""] = $node."";
}
if(!$data) exit;
if(!$wxpay_key) {
$wxpay_key = 'a8555efc5395420ae8c62483f8732f84';
$out_trade_no = $data['out_trade_no'];
if($out_trade_no) {
$ddInfo = $db->get_one("select a.*, c.company_name, c.wxpay_key from tb_recharge_pay_weixin a, tb_user b, tb_company c where a.uid=b.id and b.company_id=c.id and a.code = '{$out_trade_no}'");
$out_trade_no = $data['out_trade_no'];
if($out_trade_no) {
$ddInfo = $db->get_one("select a.*, c.company_name, c.applet_key from tb_recharge_pay_weixin a, tb_user b, tb_company c where a.uid=b.id and b.company_id=c.id and a.code = '{$out_trade_no}'");
if(!$ddInfo) exit;
$wxpay_key = $ddInfo['applet_key'];
}
$applet_key = $ddInfo['applet_key'];
}
$db->query("insert into tb_recharge_pay_weixin_recv set bank_type='".$data['bank_type']."',cash_fee='".$data['cash_fee']."',fee_type='".$data['fee_type']."',is_subscribe='".$data['is_subscribe']."',openid='".$data['openid']."',out_trade_no='".$data['out_trade_no']."',result_code='".$data['result_code']."',return_code='".$data['return_code']."',sign='".$data['sign']."',time_end='".$data['time_end']."',total_fee='".$data['total_fee']."',trade_type='".$data['trade_type']."',transaction_id='".$data['transaction_id']."',trade_state='".$data['trade_state']."',trade_state_desc='".addslashes($data['trade_state_desc'])."',err_code='".$data['err_code']."',err_code_des='".$data['err_code_des']."',addtime=now()");
//$db->query("insert into tb_recharge_pay_weixin_recv set bank_type='".$data['bank_type']."',cash_fee='".$data['cash_fee']."',fee_type='".$data['fee_type']."',is_subscribe='".$data['is_subscribe']."',openid='".$data['openid']."',out_trade_no='".$data['out_trade_no']."',result_code='".$data['result_code']."',return_code='".$data['return_code']."',sign='".$data['sign']."',time_end='".$data['time_end']."',total_fee='".$data['total_fee']."',trade_type='".$data['trade_type']."',transaction_id='".$data['transaction_id']."',trade_state='".$data['trade_state']."',trade_state_desc='".addslashes($data['trade_state_desc'])."',err_code='".$data['err_code']."',err_code_des='".$data['err_code_des']."',addtime=now()");
$sign = $data['sign'];
if(!$sign) exit;
@ -62,11 +61,10 @@ foreach($data as $key => $item) {
$s1 .= $key."=".$item;
}
}
$s = $s1. "&key=".$wxpay_key;
$s = $s1. "&key=".$applet_key;
$sign2 = strtoupper(md5($s));
if($sign != $sign2) exit;
$code = $data['out_trade_no'];
$orderInfo = $db->get_one("select * from tb_recharge_pay_weixin where code = '{$code}'");
if(!$orderInfo) exit;