Example #1
0
 /**
  * 下载对账单,WxPayDownloadBill中bill_date为必填参数
  * appid、mchid、spbill_create_ip、nonce_str不需要填入
  * @param WxPayDownloadBill $inputObj
  * @param int $timeOut
  * @throws WxPayException
  * @return 成功时返回,其他抛异常
  */
 public static function downloadBill($inputObj, $timeOut = 6)
 {
     // $url = "https://api.mch.weixin.qq.com/pay/downloadbill";
     $url = WxPayConfig::DOWNLOAD_BILL_URL;
     // 检测必填参数
     if (!$inputObj->IsBill_dateSet()) {
         throw new WxPayException("对账单接口中,缺少必填参数bill_date!");
     }
     // $inputObj->SetAppid(WxPayConfig::APPID);//公众账号ID
     $inputObj->SetAppid(WxPayConfig::$appId);
     $inputObj->SetMch_id(WxPayConfig::$mchId);
     //商户号
     $inputObj->SetNonce_str(self::getNonceStr());
     //随机字符串
     $inputObj->SetSign();
     //签名
     $xml = $inputObj->ToXml();
     $response = self::postXmlCurl($xml, $url, false, $timeOut);
     if (substr($response, 0, 5) == "<xml>") {
         return "";
     }
     return $response;
 }
 /**
  * 下载对账单
  * @throws WxPayException
  */
 public function actionDownloadBill()
 {
     if (isset($_REQUEST["bill_date"]) && $_REQUEST["bill_date"] != "") {
         $bill_date = $_REQUEST["bill_date"];
         $bill_type = $_REQUEST["bill_type"];
         $input = new WxPayDownloadBill();
         $input->SetBill_date($bill_date);
         $input->SetBill_type($bill_type);
         $file = WxPayApi::downloadBill($input);
         // TODO:: 对账单文件处理
         exit(0);
     }
 }