PHP接收並解析微信支付結果通知

2021-08-10 05:14:40 字數 615 閱讀 1625

資訊格式大致如下:1

php可使用如下方法接收資訊:

$xmldata = file_get_contents('php://input');
解析方法如下:

libxml_disable_entity_loader(true);

$data = json_decode(json_encode(******xml_load_string($xmldata, '******xmlelement', libxml_nocdata)), true);

對於支付結果通知的內容一定要做簽名驗證,防止資料洩漏導致出現「假通知」,造成資金損失。簽名驗證方法如下:

ksort($data);

$buff = '';

foreach ($data as $k => $v)

}$stringsigntemp = $buff . 'key=192006250b4c09247ec02edce69f6a2d';//key為證書金鑰

$sign = strtoupper(md5($stringsigntemp));

//判斷算出的簽名和通知資訊的簽名是否一致

if($sign == $data['sign'])

PHP 微信支付

use think model 使用示例 options array 統一下單方法 params body 商品描述 商品描述 params out trade no 1217752501201407 自定義的訂單號 params total fee 100 訂單金額 只能為整數 單位為分 下單方法...

微信支付結果通用通知

由於存在重新傳送後台通知的情況,因此同樣的通知可能會多次傳送給商戶系統。商戶系統必須能夠正確處理重複的通知。推薦的做法是,當收到通知進行處理時,首先檢查對應業務資料的狀態,判斷該通知是否已經處理過,如果沒有處理過再進行處理,如果處理過直接返回結果成功。在對業務資料進行狀態檢查和處理之前,要採用資料鎖...

PHP微信支付 支付結果通用通知獲取不到資料的問題

但是這個http raw post data是基於register globals來設定的值。這個在5.4以上版本已經移除了。所以要修改為file get contents php input 來獲取xml的值。post 通過 http post 方法傳遞的變數組成的陣列。是自動全域性變數。post...