Exemple #1
0
 private function get_cft_package($partnerKey)
 {
     try {
         if (null == $partnerKey || "" == $partnerKey) {
             throw new Exception("密钥不能为空!" . "<br>");
         }
         ksort($this->fields);
         $unSignParaString = weixin_util::formatQueryParaMap($this->fields, false);
         $paraString = weixin_util::formatQueryParaMap($this->fields, true);
         return $paraString . "&sign=" . weixin_util::sign($unSignParaString, weixin_util::trimString($partnerKey));
     } catch (Exception $e) {
         die($e->getMessage());
     }
 }
Exemple #2
0
 public function delivernotify($postData)
 {
     $payData = app::get('ectools')->getConf('weixin_payment_plugin_wxpay');
     $payData = unserialize($payData);
     $postData['appid'] = trim($payData['setting']['appId']);
     $bindData = app::get('weixin')->model('bind')->getRow('id', array('appid' => $postData['appid']));
     $access_token = $this->get_basic_accesstoken($bindData['id']);
     $url = "https://api.weixin.qq.com/pay/delivernotify?access_token={$access_token}";
     $paySignKey = trim($payData['setting']['paySignKey']);
     // 财付通商户权限密钥 Key
     $sign = weixin_util::sign_sha1($postData, weixin_util::trimString($paySignKey));
     $postData['app_signature'] = $sign;
     $postData['sign_method'] = 'sha1';
     $httpclient = kernel::single('base_httpclient');
     $postData = json_encode($postData);
     $response = $httpclient->set_timeout(6)->post($url, $postData);
     $result = json_decode($response, true);
     if ($result['errcode'] == 0) {
         return true;
     } else {
         $msg = "发货通知到微信,微信返回的错误码为 {$result['errcode']}\n,错误信息:{$result['errmsg']}";
         logger::info($msg);
         return false;
     }
 }