由於存在重新傳送後台通知的情況,因此同樣的通知可能會多次傳送給商戶系統。商戶系統必須能夠正確處理重複的通知。
推薦的做法是,當收到通知進行處理時,首先檢查對應業務資料的狀態,判斷該通知是否已經處理過,如果沒有處理過再進行處理,如果處理過直接返回結果成功。在對業務資料進行狀態檢查和處理之前,要採用資料鎖進行併發控制,以避免函式重入造成的資料混亂。
不需要。
欄位名變數名
必填型別
示例值描述
返回狀態碼
return_code
是string(16)
success
success/fail
此字段是通訊標識,非交易標識,交易是否成功需要檢視result_code來判斷
返回資訊
return_msg
否string(128)
簽名失敗
返回資訊,如非空,為錯誤原因
簽名失敗
引數格式校驗錯誤
以下欄位在return_code為success的時候有返回
欄位名變數名
必填型別
示例值描述
公眾賬號id
是string(32)
wx8888888888888888
商戶號mch_id
是string(32)
1900000109
裝置號device_info
否string(32)
013467007045764
隨機字串
nonce_str
是string(32)
5k8264iltkch16cq2502si8znmtm67vs
隨機字串,不長於32位
簽名sign
是string(32)
c380bec2bfd727a4b6845133519f3ad6
業務結果
result_code
是string(16)
success
success/fail
錯誤**
err_code
否string(32)
systemerror
錯誤返回的資訊描述
錯誤**描述
err_code_des
否string(128)
系統錯誤
錯誤返回的資訊描述
使用者標識
openid
是string(128)
wxd930ea5d5a258f4f
是否關注公眾賬號
is_subscribe
否string(1)
y使用者是否關注公眾賬號,y-關注,n-未關注,僅在公眾賬號型別支付有效
交易型別
trade_type
是string(16)
jsapi
付款銀行
bank_type
是string(16)
cmc總金額
total_fee
是int
100訂單總金額,單位為分
貨幣種類
fee_type
否string(8)
cny現金支付金額
cash_fee
是int
100現金支付貨幣型別
cash_fee_type
否string(16)
cny代金券或立減優惠金額
coupon_fee
否int
10代金券或立減優惠使用數量
coupon_count
否int
1代金券或立減優惠使用數量
代金券或立減優惠id
coupon_id_$n
否string(20)
10000
代金券或立減優惠id,$n為下標,從0開始編號
單個代金券或立減優惠支付金額
coupon_fee_$n
否int
100單個代金券或立減優惠支付金額,$n為下標,從0開始編號
transaction_id
是string(32)
1217752501201407033233368018
商戶訂單號
out_trade_no
是string(32)
1212321211201407033568112322
商戶系統的訂單號,與請求一致。
商家資料報
attach
否string(128)
123456
商家資料報,原樣返回
支付完成時間
time_end
是string(14)
20141030133525
舉例如下:
1欄位名
變數名必填
型別示例值
描述返回狀態碼
return_code
是string(16)
success
success/fail
success表示商戶接收通知成功並校驗成功
返回資訊
return_msg
否string(128)
ok返回資訊,如非空,為錯誤原因:
簽名失敗
引數格式校驗錯誤
舉例如下:
Atitit 微信支付 支付結果通用通知
支付結果通用通知 該鏈結是通過 統一下單api 通知url必須為直接可訪問的 url,不能攜帶引數。示例 notify url 欄位名 變數名 必填 型別 示例值 描述 返回狀態碼 return code 是string 16 success success fail 此字段是通訊標識,非交易標識,...
java微信app支付 支付結果通用通知
通知url必須為直接可訪問的url,不能攜帶引數。示例 notify url inputstream instream request.getinputstream bytearrayoutputstream outsteam new bytearrayoutputstream byte buffe...
PHP微信支付 支付結果通用通知獲取不到資料的問題
但是這個http raw post data是基於register globals來設定的值。這個在5.4以上版本已經移除了。所以要修改為file get contents php input 來獲取xml的值。post 通過 http post 方法傳遞的變數組成的陣列。是自動全域性變數。post...