Exemple #1
0
 public function unifiedOrder($data = array())
 {
     $data['appid'] = $this->appid;
     $data['nonce_str'] = $this->createRand($this->nonceStrLength);
     $data['fee_type'] = "CNY";
     $data['mch_id'] = $this->mch_id;
     //商户号
     $data['trade_type'] = $this->trade_type;
     //商户号
     $data['time_start'] = date("YmdHis", time());
     //订单开始时间
     $data['time_expire'] = date("YmdHis", time() + 300);
     //订单失效时间
     $data['notify_url'] = $this->notifyUrl;
     $data['spbill_create_ip'] = $this->spbill_create_ip;
     $data['sign'] = $this->makeSign($data);
     $data = Utility::toXml($data);
     $result = $this->postXmlCurl($data, $this->orderUrl);
     $result = Utility::decodeXml($result);
     return $result;
 }
Exemple #2
0
 public function wxSpecialNotifyAction()
 {
     $xml = $GLOBALS['HTTP_RAW_POST_DATA'];
     $postData = Utility::decodeXml($xml);
     /*$postData =  array(
           'return_code' => 'SUCCESS',
           'result_code' => 'SUCCESS',
           'out_trade_no' => '1606231043392673',
           'total_fee' => '399'
       );*/
     if ($postData['return_code'] == 'SUCCESS' && $postData['result_code'] == 'SUCCESS') {
         $unitePayID = $postData['out_trade_no'];
         $price = $postData['total_fee'];
         $payDetail = $this->specialModel->select(array('unitePayID' => $unitePayID))->current();
         if ($this->siteSettings['specialMoney'] * 100 == $price && $payDetail['isPaid'] == 0) {
             $this->sm->get("COM\\Service\\PayMod\\WxPay")->specialNotify($unitePayID);
             $requestUri = $_SERVER['REQUEST_URI'];
             $data = array('money' => $this->siteSettings['specialMoney'], 'payNotifyInfo' => $requestUri, 'postData' => json_encode($postData), 'unitePayID' => $unitePayID, 'payType' => 5, 'type' => 3);
             $this->payNotifyLogModel->insert($data);
             Utility::returnXml(array('return_code' => 'SUCCESS', 'return_msg' => '成功'));
         } else {
             Utility::returnXml(array('return_code' => 'FAIL', 'return_msg' => '金额错误'));
         }
     } else {
         Utility::returnXml(array('return_code' => 'FAIL', 'return_msg' => '失败'));
     }
 }