swoft 处理微信回调

/**
     * @RequestMapping(route="order_notify",method={RequestMethod::POST,RequestMethod::GET,RequestMethod::PUT})
     * 订单回调
     */
    public function order_notify()
    {
        $response = Context::get()->getResponse();
        $request = Context::get()->getRequest();
        $data = $request->getRawBody();
        $resHandler = new WxClientResponseHandler();
        $resHandler->setContent($data);
        if ($resHandler->getParameter('return_code') == 'SUCCESS' && $resHandler->getParameter('result_code') == 'SUCCESS') {


            $orderSn = $resHandler->getParameter('out_trade_no');//获取订单号
            $order = Db::table('order')->first();
            if (!$order) {
                $return = ['return_code' => 'FAIL', 'return_msg' => '没有需要支付的订单!'];
                return $resHandler->arr2xml($return);
            } else {
                if ($resHandler->getParameter('total_fee') / 100 != $order['order_price']) {
                    $return = ['return_code' => 'FAIL', 'return_msg' => '金额有误!'];
                    return $this->arr2xml($return);
                } else {
                    Db::table('order')->update(['order_pay_status'=>'done']);
                    $return = ['return_code' => 'SUCCESS', 'return_msg' => 'OK'];
                    return $this->arr2xml($return);
                }

            }
        } else {
            $return = ['return_code' => 'FAIL', 'return_msg' => $resHandler->getParameter('return_msg')];
            return $this->arr2xml($return);
        }
    }

 

你可能感兴趣的:(swoft2.0)