//微信回调地址 public function actionNotify(){ // $msg = array(); $postStr = file_get_contents(\'php://input\'); //$postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; $msg = (array)simplexml_load_string($postStr, \'SimpleXMLElement\', LIBXML_NOCDATA); $out_trade_no = $msg[\'out_trade_no\'];//订单号 if (empty($msg[\'out_trade_no\'])) { return Helper::format_data(PARAM_ERROR,[\'data\'=>\'1\']); } $order = new Orders(); if ($msg[\'result_code\'] == \'SUCCESS\') { $data = $order->find()->where([\'order_sn\'=>$out_trade_no])->one(); $data->status = 2; $data->pay_time = time(); if($data->save()){ $wxpay = new Wxpay(); $str = $wxpay->find()->where([\'order_sn\'=>$msg[\'out_trade_no\']])->one(); if(empty($str)){ $wxpay->user_id = $data->user_id; $wxpay->total_fee = $msg[\'total_fee\']/100; $wxpay->order_sn = $msg[\'out_trade_no\']; $wxpay->time_end = $msg[\'time_end\']; $wxpay->create_time = time(); if($wxpay->save(false)){ return Helper::format_data(SUCC,$data->orders_id); } } } } else { return Helper::format_data(PARAM_ERROR, $msg); } } //支付宝回调 public function actionNotifys(){ $out_trade_no = $_POST[\'out_trade_no\']; if (empty($_POST[\'out_trade_no\'])) { return Helper::format_data(PARAM_ERROR,[\'id\'=>\'修改充值记录没有获取POST\']); } if(!empty($_POST[\'trade_status\'])){ //状态值不为空 //检查该账单是否已支付..... if($_POST[\'trade_status\'] == \'TRADE_FINISHED\' OR $_POST[\'trade_status\'] == \'TRADE_SUCCESS\') { $order = new Orders(); $data = $order->find()->where([\'order_sn\'=>$_POST[\'out_trade_no\']])->one(); if(empty($data)){ return Helper::format_data(PARAM_ERROR,[\'id\'=>\'无效的订单号\']); } $data->status = 2; $data->pay_time = time(); $zfbpay = new Zfbpay(); $str = $zfbpay->find()->where([\'order_sn\'=>$_POST[\'out_trade_no\']])->one(); if(!empty($str)){ return Helper::format_data(PARAM_ERROR,[\'id\'=>\'已经存在\']); } $zfbpay->user_id = $data->user_id; $zfbpay->total_fee = $_POST[\'invoice_amount\']; $zfbpay->order_sn = $_POST[\'out_trade_no\']; $zfbpay->create_time = time(); if($data->save() && $zfbpay->save(false)){ return Helper::format_data(SUCC,$data->orders_id); } }else { return Helper::format_data(PARAM_ERROR, $_POST); } } } //将XML转为array public function actionxmlToArray($xml) { //禁止引用外部xml实体 libxml_disable_entity_loader(true); $array = json_decode(json_encode(simplexml_load_string($xml, \'SimpleXMLElement\', LIBXML_NOCDATA)), true); return $array; }