婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > PHP實(shí)現(xiàn)微信對(duì)賬單處理

PHP實(shí)現(xiàn)微信對(duì)賬單處理

熱門標(biāo)簽:太原400電話申請(qǐng)流程 電信外呼系統(tǒng)多少錢一個(gè)月 企業(yè)400電話辦理多少費(fèi)用 神龍斗士電話機(jī)器人 代理打電話機(jī)器人 合肥企業(yè)外呼系統(tǒng)線路 桂陽公司如何做地圖標(biāo)注 宿州正規(guī)外呼系統(tǒng)軟件 萍鄉(xiāng)商鋪地圖標(biāo)注

最近要做支付對(duì)賬,即檢查第三方支付與數(shù)據(jù)庫中賬單是否一一對(duì)應(yīng),涉及到微信對(duì)賬單的處理,成功時(shí),微信賬單接口返回?cái)?shù)據(jù)以文本表格的方式返回,第一行為表頭,后面各行為對(duì)應(yīng)的字段內(nèi)容,字段內(nèi)容跟查詢訂單或退款結(jié)果一致,具體字段說明可查閱相應(yīng)接口。

Ps:至于如何調(diào)用微信接口下載對(duì)賬單,在微信的官方SDK包中就有現(xiàn)成的方法,直接調(diào)用即可。注意對(duì)賬單接口一次只能查詢一天的數(shù)據(jù)。代碼大致如下:

// 引入微信sdk文件
require_once APP_DIR . '/ome/lib/wxpay/lib/WxPay.Api.php';
require_once APP_DIR . '/ome/lib/wxpay/log.php';
    
// 實(shí)列化下載對(duì)賬單對(duì)象
$input = new WxPayDownloadBill();
// 對(duì)賬單日期
$input->SetBill_date(date("Ymd", strtotime("-1 day")));
// 對(duì)賬單類型
$input->SetBill_type('ALL');
// 獲取賬單信息
$downloadBillResult = WxPayApi::downloadBill($input);

打印$downloadBillResult就會(huì)發(fā)現(xiàn)他是一個(gè)數(shù)據(jù)文本(string),本文程序需要實(shí)現(xiàn)的功能就是從這個(gè)字符串從提取每一筆訂單中的有效信息,參考代碼如下:

/**
 * 微信對(duì)賬單數(shù)據(jù)處理
 * @param $response 對(duì)賬單數(shù)據(jù)
 * @return array 返回結(jié)果
 */
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); // 刪除第一個(gè)元素并下標(biāo)從0開始
      if(count($data) == 24){ // 處理賬單數(shù)據(jù)
        $result['bill'][] = array(
          'pay_time'       => $data[0], // 支付時(shí)間
          'APP_ID'        => $data[1], // app_id
          'MCH_ID'        => $data[2], // 商戶id
          'IMEI'         => $data[4], // 設(shè)備號(hào)
          'order_sn_wx'     => $data[5], // 微信訂單號(hào)
          'order_sn_sh'     => $data[6], // 商戶訂單號(hào)
          'user_tag'       => $data[7], // 用戶標(biāo)識(shí)
          'pay_type'       => $data[8], // 交易類型
          'pay_status'      => $data[9], // 交易狀態(tài)
          'bank'         => $data[10], // 付款銀行
          'money_type'      => $data[11], // 貨幣種類
          'total_amount'     => $data[12], // 總金額
          'coupon_amount'    => $data[13], // 代金券或立減優(yōu)惠金額
          'refund_number_wx'   => $data[14], // 微信退款單號(hào)
          'refund_number_sh'   => $data[15], // 商戶退款單號(hào)
          'refund_amount'    => $data[16], // 退款金額
          'coupon_refund_amount' => $data[17], // 代金券或立減優(yōu)惠退款金額
          'refund_type'     => $data[18], // 退款類型
          'refund_status'    => $data[19], // 退款狀態(tài)
          'goods_name'      => $data[20], // 商品名稱
          'service_charge'    => $data[22], // 手續(xù)費(fèi)
          'rate'         => $data[23], // 費(fèi)率
        );
      }
      if(count($data) == 5){ // 統(tǒng)計(jì)數(shù)據(jù)
        $result['summary'] = array(
          'order_num'    => $data[0],  // 總交易單數(shù)
          'turnover'    => $data[1],  // 總交易額
          'refund_turnover' => $data[2],  // 總退款金額
          'coupon_turnover' => $data[3],  // 總代金券或立減優(yōu)惠退款金額
          'rate_turnover'  => $data[4],  // 手續(xù)費(fèi)總金額
        );
      }
    }
  }
  return $result;
}

返回的數(shù)據(jù)分為2部分,bill節(jié)點(diǎn)下存放的是具體流水?dāng)?shù)據(jù),summary節(jié)點(diǎn)下存放的是統(tǒng)計(jì)數(shù)據(jù)

主要的思路是微信賬單返回的結(jié)果格式是固定的,可以用 '`',換行符(PHP_EOL)實(shí)現(xiàn)字符串的分割,然后每 24 個(gè) 字段為一個(gè)訂單的描述信息,最后 6 個(gè)字段為賬單的匯總信息。因此通過循環(huán)就可以遍歷整個(gè)賬單。

大家有更好的解決方案,歡迎把代碼貼出來一起交流!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 微信企業(yè)轉(zhuǎn)賬之入口類分裝php代碼
  • php實(shí)現(xiàn)微信公眾號(hào)企業(yè)轉(zhuǎn)賬功能
  • PHP實(shí)現(xiàn)微信退款功能
  • PHP實(shí)現(xiàn)微信申請(qǐng)退款功能
  • php提取微信賬單的有效信息
  • PHP APP微信提現(xiàn)接口代碼
  • 基于php的微信公眾平臺(tái)開發(fā)入門實(shí)例
  • php判斷頁面是否是微信打開的示例(微信打開網(wǎng)頁)
  • PHP對(duì)接微信公眾平臺(tái)消息接口開發(fā)流程教程
  • php實(shí)現(xiàn)微信企業(yè)轉(zhuǎn)賬功能

標(biāo)簽:崇左 白銀 辛集 衡陽 廊坊 太原 綏化 鄂州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實(shí)現(xiàn)微信對(duì)賬單處理》,本文關(guān)鍵詞  PHP,實(shí)現(xiàn),微信,對(duì),賬單,處理,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實(shí)現(xiàn)微信對(duì)賬單處理》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實(shí)現(xiàn)微信對(duì)賬單處理的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 隆化县| 大安市| 宣武区| 江西省| 梁河县| 延寿县| 于都县| 招远市| 荥阳市| 曲麻莱县| 类乌齐县| 高安市| 莱州市| 疏勒县| 浦江县| 贵州省| 临海市| 吴堡县| 喀喇沁旗| 阿克陶县| 嘉鱼县| 仁怀市| 罗城| 陈巴尔虎旗| 兴化市| 新田县| 从化市| 七台河市| 科尔| 高密市| 如东县| 同仁县| 辽宁省| 盘山县| 新乡县| 岗巴县| 花莲市| 乌苏市| 辛集市| 土默特左旗| 玉溪市|