最近要做支付對賬,即檢查第三方支付與數(shù)據(jù)庫中賬單是否一一對應(yīng),涉及到微信對賬單的處理,微信賬單接口返回為一個字符串類似如下結(jié)果:
程序需要實現(xiàn)的功能就是從這個字符串從提取每一筆訂單中的有效信息,參考代碼如下:
function deal_wechat_return_result($reponse)
{
$result = array();
$reponse = str_replace(","," ",$reponse);
$reponse = explode("`",$reponse);
$total_order_count =( count($reponse) - 6 ) / 24;
for($i = 0; $i $total_order_count; $i++)
{
$base_index = 24 * $i;
$result[$reponse[$base_index + 7]] = array(
'wechat_order_no' => $reponse[$base_index + 6],
'order_count' => $reponse[$base_index + 13],
'order_discount' => $reponse[$base_index + 23]
);
}
return $result;
}
主要的思路是微信賬單返回的結(jié)果格式是固定的,可以用 '`' 實現(xiàn)字符串的分割,然后每 24 個 字段為一個訂單的描述信息,最后 6 個字段為賬單的匯總信息。因此通過 for 循環(huán)就可以遍歷整個賬單,代碼里面只取了我需要的字段,如果還需要其它的字段可按照此格式自行加入即可。
代碼還有以下幾點有待完善:
1. 沒有考慮字符串特別大的情況,可能會導(dǎo)致 php 進程分配的內(nèi)存耗盡,對于普通的商戶訂單,每天成交量不是特別大的情形是夠用的。
2. 默認了微信返回的格式是固化的,其實可以根據(jù)微信返回的字符串頭和尾進行動態(tài)的匹配。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- 微信企業(yè)轉(zhuǎn)賬之入口類分裝php代碼
- php實現(xiàn)微信公眾號企業(yè)轉(zhuǎn)賬功能
- PHP實現(xiàn)微信退款功能
- PHP實現(xiàn)微信申請退款功能
- PHP實現(xiàn)微信對賬單處理
- PHP APP微信提現(xiàn)接口代碼
- 基于php的微信公眾平臺開發(fā)入門實例
- php判斷頁面是否是微信打開的示例(微信打開網(wǎng)頁)
- PHP對接微信公眾平臺消息接口開發(fā)流程教程
- php實現(xiàn)微信企業(yè)轉(zhuǎn)賬功能