/** * 下载对账单,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); } }