public function returnpay(){
// 获取微信回调的数据
$notifiedData = file_get_contents('php://input');
//XML格式转换
$xmlObj = simplexml_load_string($notifiedData, 'SimpleXMLElement', LIBXML_NOCDATA);
$xmlObj = json_decode(json_encode($xmlObj),true);
// 当支付通知返回支付成功时
if ($xmlObj['return_code'] == "SUCCESS" && $xmlObj['result_code'] == "SUCCESS") {
//获取返回的所以参数
//这里是要把微信返给我们的所有值,先删除sign的值,其他值 按ASCII从小到大排序,md5加密+‘key’;
foreach( $xmlObj as $k=>$v) {
if($k == 'sign') {
$xmlSign = $xmlObj[$k];
unset($xmlObj[$k]);
};
}
$sign = http_build_query($xmlObj);
//md5处理
$sign = md5($sign.'&key=fwFKUSBIDAAEEYv9dK3IZ4qWGqX9zRK1');
//转大写
$sign = strtoupper($sign);
//验签名。默认支持MD5
if ( $sign === $xmlSign) {
// 总订单号
$trade_no = $xmlObj['out_trade_no'];
$where['order_code'] = $trade_no;
$res = db('plat_card')->where($where)->update(['status'=>1]);
if($res){
exit();
}
//处理你商城购物的操作信息
}
}
}