视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

基礎(chǔ)支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合單支付
付款碼支付
經(jīng)營(yíng)能力
微信支付分(公共API)
微信支付分(免確認(rèn)預(yù)授權(quán)模式)
微信支付分(需確認(rèn)模式)
支付即服務(wù)
行業(yè)方案
智慧商圈
微信支付分停車服務(wù)
電子發(fā)票
營(yíng)銷工具
代金券
商家券
委托營(yíng)銷
支付有禮
小程序發(fā)券插件
H5發(fā)券
圖片上傳(營(yíng)銷專用)
現(xiàn)金紅包
資金應(yīng)用
商家轉(zhuǎn)賬到零錢
分賬
風(fēng)險(xiǎn)合規(guī)
消費(fèi)者投訴2.0
其他能力
清關(guān)報(bào)關(guān)
圖片上傳
視頻上傳
微信支付平臺(tái)證書

支付通知API

最新更新時(shí)間:2019.09.10 版本說明


微信支付通過支付通知接口將用戶支付成功消息通知給商戶

注意:

? 同樣的通知可能會(huì)多次發(fā)送給商戶系統(tǒng)。商戶系統(tǒng)必須能夠正確處理重復(fù)的通知。 推薦的做法是,當(dāng)商戶系統(tǒng)收到通知進(jìn)行處理時(shí),先檢查對(duì)應(yīng)業(yè)務(wù)數(shù)據(jù)的狀態(tài),并判斷該通知是否已經(jīng)處理。如果未處理,則再進(jìn)行處理;如果已處理,則直接返回結(jié)果成功。在對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行狀態(tài)檢查和處理之前,要采用數(shù)據(jù)鎖進(jìn)行并發(fā)控制,以避免函數(shù)重入造成的數(shù)據(jù)混亂。

? 如果在所有通知頻率后沒有收到微信側(cè)回調(diào),商戶應(yīng)調(diào)用查詢訂單接口確認(rèn)訂單狀態(tài)。


特別提醒:商戶系統(tǒng)對(duì)于開啟結(jié)果通知的內(nèi)容一定要做簽名驗(yàn)證,并校驗(yàn)通知的信息是否與商戶側(cè)的信息一致,防止數(shù)據(jù)泄露導(dǎo)致出現(xiàn)“假通知”,造成資金損失。

接口說明

適用對(duì)象: 直連商戶

請(qǐng)求URL:該鏈接是通過[合單APP下單]、[合單H5下單]、[合單JSAPI下單]、[合單小程序下單]、[合單Native下單]提交notify_url參數(shù)設(shè)置,必須為https協(xié)議。如果鏈接無法訪問,商戶將無法接收到微信通知。 通知url必須為直接可訪問的url,不能攜帶參數(shù)。示例: “http://www.tg885.com/wxpay/pay.action”


通知規(guī)則

用戶支付完成后,微信會(huì)把相關(guān)支付結(jié)果和用戶信息發(fā)送給商戶,商戶需要接收處理該消息,并返回應(yīng)答。

對(duì)后臺(tái)通知交互時(shí),如果微信收到商戶的應(yīng)答不符合規(guī)范或超時(shí),微信認(rèn)為通知失敗,微信會(huì)通過一定的策略定期重新發(fā)起通知,盡可能提高通知的成功率,但微信不保證通知最終能成功。(通知頻率為15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 總計(jì) 24h4m)

通知報(bào)文

支付結(jié)果通知是以POST 方法訪問商戶設(shè)置的通知url,通知的數(shù)據(jù)以JSON 格式通過請(qǐng)求主體(BODY)傳輸。通知的數(shù)據(jù)包括了加密的支付結(jié)果詳情。
(注:由于涉及到回調(diào)加密和解密,商戶必須先設(shè)置好apiv3密鑰后才能解密回調(diào)通知,apiv3密鑰設(shè)置文檔指引詳見APIv3密鑰設(shè)置指引

參數(shù)解密

下面詳細(xì)描述對(duì)通知數(shù)據(jù)進(jìn)行解密的流程:

  1. 1、用商戶平臺(tái)上設(shè)置的APIv3密鑰【微信商戶平臺(tái)—>賬戶設(shè)置—>API安全—>設(shè)置APIv3密鑰】,記為key;
  2. 2、針對(duì)resource.algorithm中描述的算法(目前為AEAD_AES_256_GCM),取得對(duì)應(yīng)的參數(shù)nonce和associated_data;
  3. 3、使用key、nonce和associated_data,對(duì)數(shù)據(jù)密文resource.ciphertext進(jìn)行解密,得到JSON形式的資源對(duì)象;

注: AEAD_AES_256_GCM算法的接口細(xì)節(jié),請(qǐng)參考rfc5116。微信支付使用的密鑰key長(zhǎng)度為32個(gè)字節(jié),隨機(jī)串nonce長(zhǎng)度12個(gè)字節(jié),associated_data長(zhǎng)度小于16個(gè)字節(jié)并可能為空字符串。

通知參數(shù)

參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
通知ID id string[1,36] 通知的唯一ID
示例值:EV-2018022511223320873
通知?jiǎng)?chuàng)建時(shí)間 create_time string[1,32] 通知?jiǎng)?chuàng)建的時(shí)間, 遵循rfc3339標(biāo)準(zhǔn)格式,格式為yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出現(xiàn)在字符串中,表示time元素的開頭,HH:mm:ss.表示時(shí)分秒,TIMEZONE表示時(shí)區(qū)(+08:00表示東八區(qū)時(shí)間,領(lǐng)先UTC 8小時(shí),即北京時(shí)間)。例如:2015-05-20T13:29:35+08:00表示北京時(shí)間2015年05月20日13點(diǎn)29分35秒。
示例值:2015-05-20T13:29:35+08:00
通知類型 event_type string[1,32] 通知的類型,支付成功通知的類型為TRANSACTION.SUCCESS
示例值:TRANSACTION.SUCCESS
通知數(shù)據(jù)類型 resource_type string[1,32] 通知的資源數(shù)據(jù)類型,支付成功通知為encrypt-resource
示例值:encrypt-resource
+通知數(shù)據(jù) resource object 通知資源數(shù)據(jù)
json格式,見示例
回調(diào)摘要 summary string[1,64] 回調(diào)摘要
示例值:支付成功
參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
加密算法類型 algorithm string[1,32] 對(duì)開啟結(jié)果數(shù)據(jù)進(jìn)行加密的加密算法,目前只支持AEAD_AES_256_GCM
示例值:AEAD_AES_256_GCM
數(shù)據(jù)密文 ciphertext string[1,1048576] Base64編碼后的開啟/停用結(jié)果數(shù)據(jù)密文
示例值:sadsadsadsad
附加數(shù)據(jù) associated_data string[1,16] 附加數(shù)據(jù)
示例值:fdasfwqewlkja484w
隨機(jī)串 nonce string[1,16] 加密使用的隨機(jī)串
示例值:fdasflkja484w

通知簽名

加密不能保證通知請(qǐng)求來自微信。微信會(huì)對(duì)發(fā)送給商戶的通知進(jìn)行簽名,并將簽名值放在通知的HTTP頭Wechatpay-Signature。商戶應(yīng)當(dāng)驗(yàn)證簽名,以確認(rèn)請(qǐng)求來自微信,而不是其他的第三方。簽名驗(yàn)證的算法請(qǐng)參考 《微信支付API v3簽名驗(yàn)證》

回調(diào)示例

支付成功結(jié)果通知


{
    "id":"EV-2018022511223320873",
    "create_time":"2015-05-20T13:29:35+08:00",
    "resource_type":"encrypt-resource",
    "event_type":"TRANSACTION.SUCCESS",
    "resource" : {
        "algorithm":"AEAD_AES_256_GCM",
        "ciphertext": "...",
        "nonce": "...",
        "associated_data": ""
    }
}

商戶對(duì)resource對(duì)象進(jìn)行解密后,得到的資源對(duì)象示例


{
 "combine_appid": "wxd678efh567hg6787",
 "combine_out_trade_no": "20150806125346",
 "combine_mchid": "1900000109",
 "scene_info": {
   "device_id": "POS1:1"
 },
 "sub_orders": [
   {
     "mchid": "1900000109",
     "trade_type": "JSAPI",
     "trade_state": "SUCCESS",
     "bank_type": "CMC",
     "attach": "深圳分店",
     "amount": {
       "total_amount": 10,
       "currency": "CNY",
       "payer_amount": 10,
       "payer_currency": "CNY"
     },
     "success_time": "2015-05-20T13:29:35.120+08:00",
     "transaction_id": "1009660380201506130728806387",
     "out_trade_no": "20150806125346"
   }
 ],
 "combine_payer_info": {
   "openid": "oUpF8uMuAJO_M2pxb1Q9zNjWeS6o"
 }
}

支付成功通知參數(shù)

參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
合單商戶appid combine_appid string[1,32] 合單發(fā)起方的appid。
示例值:wxd678efh567hg6787
合單商戶號(hào) combine_mchid string[1,32] 合單發(fā)起方商戶號(hào)。
示例值:1900000109
合單商戶訂單號(hào) combine_out_trade_no string[1,32] 合單支付總訂單號(hào),要求32個(gè)字符內(nèi),只能是數(shù)字、大小寫字母_-|*@ ,且在同一個(gè)商戶號(hào)下唯一。
示例值:P20150806125346
+場(chǎng)景信息 scene_info object 支付場(chǎng)景信息描述
參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
商戶端設(shè)備號(hào) device_id string[7,16] 終端設(shè)備號(hào)(門店號(hào)或收銀設(shè)備ID)。
特殊規(guī)則:長(zhǎng)度最小7個(gè)字節(jié)
示例值:POS1:1
+子單信息 sub_orders array 最多支持子單條數(shù):10
參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
子單商戶號(hào) mchid string[1,32]

子單發(fā)起方商戶號(hào),必須與發(fā)起方Appid有綁定關(guān)系。
示例值:1900000109

交易類型 trade_type string[1,16] 枚舉值:
NATIVE:掃碼支付
JSAPI:公眾號(hào)支付
APP:APP支付
MWEB:H5支付
示例值:?JSAPI
交易狀態(tài) trade_state string[1,32] 枚舉值:
SUCCESS:支付成功
REFUND:轉(zhuǎn)入退款
NOTPAY:未支付
CLOSED:已關(guān)閉
USERPAYING:用戶支付中
PAYERROR:支付失敗(其他原因,如銀行返回失敗)
示例值:?SUCCESS
付款銀行 bank_type string[1,32] 銀行類型,采用字符串類型的銀行標(biāo)識(shí)。銀行標(biāo)識(shí)請(qǐng)參考《銀行類型對(duì)照表
示例值:CMC
附加信息 attach string[1,128] 附加數(shù)據(jù),在查詢API和支付通知中原樣返回,可作為自定義參數(shù)使用。
示例值:深圳分店
支付完成時(shí)間 success_time string[1,32] 訂單支付時(shí)間,遵循rfc3339標(biāo)準(zhǔn)格式,格式為yyyy-MM-DDTHH:mm:ss:sss+TIMEZONE,yyyy-MM-DD表示年月日,T出現(xiàn)在字符串中,表示time元素的開頭,HH:mm:ss:sss表示時(shí)分秒毫秒,TIMEZONE表示時(shí)區(qū)(+08:00表示東八區(qū)時(shí)間,領(lǐng)先UTC 8小時(shí),即北京時(shí)間)。例如:2015-05-20T13:29:35.120+08:00表示,北京時(shí)間2015年5月20日 13點(diǎn)29分35秒。
示例值:2015-05-20T13:29:35.120+08:00
微信訂單號(hào) transaction_id string[1,32] 微信支付訂單號(hào)。
示例值: 1009660380201506130728806387
子單商戶訂單號(hào) out_trade_no string[6,32] 商戶系統(tǒng)內(nèi)部訂單號(hào),要求32個(gè)字符內(nèi),只能是數(shù)字、大小寫字母_-|*@ ,且在同一個(gè)商戶號(hào)下唯一。
特殊規(guī)則:最小字符長(zhǎng)度為6
示例值:20150806125346
+訂單金額 amount object 訂單金額信息
參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
標(biāo)價(jià)金額 total_amount int64 子單金額,單位為分。
示例值:100
標(biāo)價(jià)幣種 currency string[1,16] 符合ISO 4217標(biāo)準(zhǔn)的三位字母代碼,人民幣:CNY。
示例值:CNY
現(xiàn)金支付金額 payer_amount int64 訂單現(xiàn)金支付金額。
示例值:10
現(xiàn)金支付幣種 payer_currency string[1,8] 貨幣類型,符合ISO 4217標(biāo)準(zhǔn)的三位字母代碼,默認(rèn)人民幣:CNY。
示例值: CNY
+優(yōu)惠功能 promotion_detail array 優(yōu)惠功能,子單有核銷優(yōu)惠券時(shí)有返回
參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
券ID coupon_id string[1, 32] 券ID
示例值:109519
優(yōu)惠名稱 name string[1, 64] 優(yōu)惠名稱
示例值:?jiǎn)纹坊?6
優(yōu)惠范圍 scope string[1, 32] GLOBAL:全場(chǎng)代金券
SINGLE:?jiǎn)纹穬?yōu)惠
示例值:GLOBALSINGLE
優(yōu)惠類型 type string[1,8] CASH:充值型代金券
NOCASH:免充值型代金券
示例值:CASH
優(yōu)惠券金額 amount int 當(dāng)前子單中享受的優(yōu)惠券金額
示例值:100
活動(dòng)ID stock_id string[1, 32] 活動(dòng)ID,批次ID
示例值:931386
微信出資 wechatpay_contribute int 單位為分
示例值:100
商戶出資 merchant_contribute int 單位為分
示例值:100
其他出資 other_contribute int 單位為分
示例值:100
優(yōu)惠幣種 currency string[1,16] CNY:人民幣,境內(nèi)商戶號(hào)僅支持人民幣。
示例值:CNY
+單品列表 goods_detail array 單品列表
參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
商品編碼 goods_id string[1, 32] 商品編碼
示例值:M1006
商品數(shù)量 quantity int 商品數(shù)量
示例值:1
商品價(jià)格 unit_price int 商品價(jià)格
示例值:100
商品優(yōu)惠金額 discount_amount int 商品優(yōu)惠金額
示例值:1
商品備注 goods_remark string[1, 128] 商品備注
示例值:商品備注信息
+支付者 combine_payer_info object 示例值:見請(qǐng)求示例
參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
用戶標(biāo)識(shí) openid string[1,128] 使用合單appid獲取的對(duì)應(yīng)用戶openid。是用戶在商戶appid下的唯一標(biāo)識(shí)。
獲取用戶openid指引
示例值:oUpF8uMuAJO_M2pxb1Q9zNjWeS6o

通知應(yīng)答

接收成功:HTTP應(yīng)答狀態(tài)碼需返回200或204,無需返回應(yīng)答報(bào)文。

接收失敗:HTTP應(yīng)答狀態(tài)碼需返回5XX或4XX,同時(shí)需返回應(yīng)答報(bào)文,格式如下:

參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
返回狀態(tài)碼 code string[1,32] 錯(cuò)誤碼,SUCCESS為清算機(jī)構(gòu)接收成功,其他錯(cuò)誤碼為失敗。
示例值:FAIL
返回信息 message string[1,64] 返回信息,如非空,為錯(cuò)誤原因。
示例值:失敗


{  
    "code": "FAIL",
    "message": "失敗"
}


技術(shù)咨詢

文檔反饋