您好,登錄后才能下訂單哦!
使用PHP怎么處理微信賬單?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
// 引入微信sdk文件 require_once APP_DIR . '/ome/lib/wxpay/lib/WxPay.Api.php'; require_once APP_DIR . '/ome/lib/wxpay/log.php'; // 實列化下載對賬單對象 $input = new WxPayDownloadBill(); // 對賬單日期 $input->SetBill_date(date("Ymd", strtotime("-1 day"))); // 對賬單類型 $input->SetBill_type('ALL'); // 獲取賬單信息 $downloadBillResult = WxPayApi::downloadBill($input);
打印$downloadBillResult就會發現他是一個數據文本(string),本文程序需要實現的功能就是從這個字符串從提取每一筆訂單中的有效信息,參考代碼如下:
/** * 微信對賬單數據處理 * @param $response 對賬單數據 * @return array 返回結果 */ public function deal_WeChat_response($response){ $result = array(); $response = str_replace(","," ",$response); $response = explode(PHP_EOL, $response); foreach ($response as $key=>$val){ if(strpos($val, '`') !== false){ $data = explode('`', $val); array_shift($data); // 刪除第一個元素并下標從0開始 if(count($data) == 24){ // 處理賬單數據 $result['bill'][] = array( 'pay_time' => $data[0], // 支付時間 'APP_ID' => $data[1], // app_id 'MCH_ID' => $data[2], // 商戶id 'IMEI' => $data[4], // 設備號 'order_sn_wx' => $data[5], // 微信訂單號 'order_sn_sh' => $data[6], // 商戶訂單號 'user_tag' => $data[7], // 用戶標識 'pay_type' => $data[8], // 交易類型 'pay_status' => $data[9], // 交易狀態 'bank' => $data[10], // 付款銀行 'money_type' => $data[11], // 貨幣種類 'total_amount' => $data[12], // 總金額 'coupon_amount' => $data[13], // 代金券或立減優惠金額 'refund_number_wx' => $data[14], // 微信退款單號 'refund_number_sh' => $data[15], // 商戶退款單號 'refund_amount' => $data[16], // 退款金額 'coupon_refund_amount' => $data[17], // 代金券或立減優惠退款金額 'refund_type' => $data[18], // 退款類型 'refund_status' => $data[19], // 退款狀態 'goods_name' => $data[20], // 商品名稱 'service_charge' => $data[22], // 手續費 'rate' => $data[23], // 費率 ); } if(count($data) == 5){ // 統計數據 $result['summary'] = array( 'order_num' => $data[0], // 總交易單數 'turnover' => $data[1], // 總交易額 'refund_turnover' => $data[2], // 總退款金額 'coupon_turnover' => $data[3], // 總代金券或立減優惠退款金額 'rate_turnover' => $data[4], // 手續費總金額 ); } } } return $result; }
返回的數據分為2部分,bill節點下存放的是具體流水數據,summary節點下存放的是統計數據
主要的思路是微信賬單返回的結果格式是固定的,可以用 '`',換行符(PHP_EOL)實現字符串的分割,然后每 24 個 字段為一個訂單的描述信息,最后 6 個字段為賬單的匯總信息。因此通過循環就可以遍歷整個賬單。
一、phpStudy,是一個新手入門最常用的開發環境。二、WampServer,WampServer也同樣的也是和phpStudy一樣操作簡單對小白比較友好。三、XAMPP,XAMPP(Apache+MySQL+PHP+PERL)是一個功能強大的建站集成軟件包;四、MAMP,MAMP分為兩種MAMP和MAMP Pro for Mac。五、寶塔面板,寶塔面板是一款服務器管理軟件,支持windows和linux系統。六、UPUPW,UPUPW是目前Windows平臺下最具特色的Web服務器PHP套件。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。