微信支付結果通用通知

2022-07-15 11:54:11 字數 2678 閱讀 8526

由於存在重新傳送後台通知的情況,因此同樣的通知可能會多次傳送給商戶系統。商戶系統必須能夠正確處理重複的通知。

推薦的做法是,當收到通知進行處理時,首先檢查對應業務資料的狀態,判斷該通知是否已經處理過,如果沒有處理過再進行處理,如果處理過直接返回結果成功。在對業務資料進行狀態檢查和處理之前,要採用資料鎖進行併發控制,以避免函式重入造成的資料混亂。

不需要。

欄位名變數名

必填型別

示例值描述

返回狀態碼

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...