木子炜培先生

⑴2017底=>(年薪15万)=>31岁 ⑵2018=》(生产生活用品)并且年薪20万=>32岁 ⑶2019=>年薪30万=>把小作坊升级为工厂=>33岁 ⑷2020=>再开一个食品工厂

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
<?php
namespace common\services;


use common\models\AdminWechatUser;
use common\models\weixinpay\Wxpay;
use Yii;

class AdminWechatUserService extends AdminWechatUser{

    public function actionNotify(){
        $Wxpay = new Wxpay();
        $verify_result = $Wxpay->verifyNotify();
        if (isset($verify_result['result_code']) && $verify_result['result_code']=='SUCCESS') {
            $requestReturnData = file_get_contents("php://input");
            //商户订单号
            $out_trade_no = $verify_result['out_trade_no'];
            //交易号
            $trade_no     = $verify_result['transaction_id'];
            //交易状态
            $trade_status = $verify_result['result_code'];
            //支付金额
            $total_fee       = $verify_result['total_fee']/100;
            //支付过期时间
            $pay_date       = $verify_result['time_end'];
            //IP
            $pay_ip       = $verify_result['attach'];
            /*
                @todo
                1.更改订单状态为已支付。(需自己完善)
                2.添加付款信息到数据库,方便对账。(需自己完善)
            */
            $pay_arr = array(
                'pay_type'             => isset($_REQUEST['pay_type']) ? $_REQUEST['pay_type'] : '',
                'action'             => 'notify',
                'domain_type'         => isset($_REQUEST['domain_type']) ? $_REQUEST['domain_type'] : '',
                'out_trade_no'         => $out_trade_no,
                'trade_no'             => $trade_no,
                'trade_status'         => $trade_status,
                'trade_return_data' => $requestReturnData,
                'create_ip'         => $pay_ip,
            );
            //处理后同步返回给微信
           return '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>';
        }
        return '<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[ERROR]]></return_msg></xml>';
    }
    //接口输出
    private function echoResult($errorCode = 0, $errorMsg = 'success', $responseData = array())
    {
        $arr = array(
            'errorCode' => $errorCode,
            'errorMsg' => $errorMsg,
            'responseData' => $responseData,
        );
        return json_encode($arr);
    }
    public function actionWxPay($total_fee,$body,$notify_url){
        $Wxpay = new Wxpay();
        $Wxpay->total_fee = intval($total_fee*100);//订单的金额 1元
        $Wxpay->out_trade_no = date('YmdHis') . substr(time(), - 5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));//订单号
        $Wxpay->body = $body;//支付描述信息
        $Wxpay->time_expire = date('YmdHis', time()+86400);//订单支付的过期时间(eg:一天过期)
        $Wxpay->notify_url =$notify_url;//异步通知URL(更改支付状态)

//数据以JSON的形式返回给APP
        $app_response = $Wxpay->doPay();
        if (isset($app_response['return_code']) && $app_response['return_code']=='FAIL') {
            $errorCode = 100;
            $errorMsg = $app_response['return_msg'];
         return  $this->echoResult($errorCode, $errorMsg);
        } else {
            $errorCode = 0;
            $errorMsg = 'success';
            $responseData = array(
                'notify_url' => $Wxpay->notify_url,
                'app_response' => $app_response,
            );
            return $this->echoResult($errorCode, $errorMsg, $responseData);
        }
    }


}

 

posted on 2017-03-08 14:44  木子炜培先生  阅读(475)  评论(0编辑  收藏  举报