日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

微信对账单 java_微信支付对账,你是如何处理的?

發布時間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信对账单 java_微信支付对账,你是如何处理的? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

支付對賬,即檢查第三方支付與數據庫中賬單是否一一對應,涉及到微信對賬單的處理,成功時,微信賬單接口返回數據以文本表格的方式返回,第一行為表頭,后面各行為對應的字段內容,字段內容跟查詢訂單或退款結果一致,具體字段說明可查閱相應接口。

Ps:至于如何調用微信接口下載對賬單,在微信的官方SDK包中就有現成的方法,直接調用即可。注意對賬單接口一次只能查詢一天的數據。

代碼大致如下:

// 引入微信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 個字段為賬單的匯總信息。因此通過循環就可以遍歷整個賬單。

關于找一找教程網

本站文章僅代表作者觀點,不代表本站立場,所有文章非營利性免費分享。

本站提供了軟件編程、網站開發技術、服務器運維、人工智能等等IT技術文章,希望廣大程序員努力學習,讓我們用科技改變世界。

[微信支付對賬,你是如何處理的?]http://www.zyiz.net/tech/detail-140097.html

總結

以上是生活随笔為你收集整理的微信对账单 java_微信支付对账,你是如何处理的?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。