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

商戶進(jìn)件
特約商戶進(jìn)件
基礎(chǔ)支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合單支付
付款碼支付
經(jīng)營(yíng)能力
支付即服務(wù)
點(diǎn)金計(jì)劃
行業(yè)方案
平臺(tái)收付通(商戶進(jìn)件)
平臺(tái)收付通(普通支付)
平臺(tái)收付通(合單支付)
平臺(tái)收付通(分賬)
平臺(tái)收付通(補(bǔ)差)
平臺(tái)收付通(退款)
平臺(tái)收付通(余額查詢)
平臺(tái)收付通(商戶提現(xiàn))
平臺(tái)收付通(注銷申請(qǐng))
平臺(tái)收付通(注銷后提現(xiàn))
平臺(tái)收付通(跨境付款)
平臺(tái)收付通(下載賬單)
智慧商圈
微信支付分停車服務(wù)
電子發(fā)票
營(yíng)銷工具
代金券
商家券
委托營(yíng)銷
支付有禮
小程序發(fā)券插件
H5發(fā)券
圖片上傳(營(yíng)銷專用)
現(xiàn)金紅包
資金應(yīng)用
分賬
連鎖品牌分賬
風(fēng)險(xiǎn)合規(guī)
商戶開戶意愿確認(rèn)
消費(fèi)者投訴2.0
商戶違規(guī)通知回調(diào)
其他能力
圖片上傳
視頻上傳
微信支付平臺(tái)證書

領(lǐng)券事件回調(diào)通知API

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


注意:

? 同樣的通知可能會(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ù)混亂。


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

接口說明

適用對(duì)象: 服務(wù)商

請(qǐng)求URL:該鏈接是通過【設(shè)置商家券事件通知地址API】提交notify_url參數(shù)設(shè)置,必須為https協(xié)議。如果鏈接無法訪問,商戶將無法接收到微信通知。 通知url必須為直接可訪問的url,不能攜帶參數(shù)。示例:“http://www.tg885.com/wxpay/pay.action”

通知規(guī)則

領(lǐng)券完成后,微信會(huì)把相關(guān)領(lǐng)券結(jié)果和用戶信息發(fā)送給商戶,商戶需要接收處理,并按照文檔規(guī)范返回應(yīng)答。出于安全的考慮,我們對(duì)支付結(jié)果數(shù)據(jù)進(jìn)行了加密,商戶需要先對(duì)通知數(shù)據(jù)進(jìn)行解密,才能得到支付結(jié)果數(shù)據(jù)。

對(duì)后臺(tái)通知交互時(shí),如果微信收到應(yīng)答不是成功或超時(shí),微信認(rèn)為通知失敗,微信會(huì)通過一定的策略定期重新發(fā)起通知,盡可能提高通知的成功率,但微信不保證通知最終能成功。(通知頻率為60s/次 - 總計(jì)11次 )

通知報(bào)文

領(lǐng)券結(jié)果通知是以POST 方法訪問商戶設(shè)置的通知url,通知的數(shù)據(jù)以JSON 格式通過請(qǐng)求主體(BODY)傳輸。通知的數(shù)據(jù)包括了加密的支付結(jié)果詳情。

參數(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ì)象。

注意:

1、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é)并可能為空。

2、Java回調(diào)解密Json取值不帶引號(hào)

通知參數(shù)

參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
通知ID id string[1,36] 通知的唯一id。
示例值:8b33f79f-8869-5ae5-b41b-3c0b59f957d0
通知?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年5月20日13點(diǎn)29分35秒。
示例值:2019-12-12T16:54:38+08:00
通知類型 event_type string[1,32] 券的回調(diào)通知類型,枚舉值:
COUPON.SEND:領(lǐng)券
示例值:COUPON.SEND
通知數(shù)據(jù)類型 resource_type string[1,32] 通知的資源數(shù)據(jù)類型,券的回調(diào)通知為encrypt-resource。
示例值:encrypt-resource
回調(diào)摘要 summary string[1,64] 回調(diào)摘要
示例值:商家券領(lǐng)券通知
+通知數(shù)據(jù) resource object 通知資源數(shù)據(jù)。
json格式,見示例
參數(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ù)密文。
附加數(shù)據(jù) associated_data string[1,16] 附加數(shù)據(jù)
示例值:coupon
隨機(jī)串 nonce string[1,16] 加密使用的隨機(jī)串。
示例值:j9g1wAzF9Xn1
原始回調(diào)類型 original_type string[1,64] 原始回調(diào)類型,券的原始回調(diào)類型為coupon
示例值:coupon

通知簽名

加密不能保證通知請(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)示例

領(lǐng)券成功通知結(jié)果


{ 
    "id":"8b33f79f-8869-5ae5-b41b-3c0b59f957d0",
    "create_time":"2019-12-12T16:54:38+08:00",
    "resource_type":"encrypt-resource",
    "event_type":"COUPON.SEND",
    "summary":"商家券領(lǐng)券通知",
    "resource":{
        "original_type":"coupon",
        "algorithm":"AEAD_AES_256_GCM",
        "ciphertext":"xxx",
        "associated_data":"coupon",
        "nonce":"j9g1wAzF9Xn1"
     } 
} 

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


{   
	"event_type":"EVENT_TYPE_BUSICOUPON_SEND",
	"coupon_code":"1227944959000000911017",
	"stock_id":"1286950000000039",
	"send_time":"2019-12-17T10:35:53+08:00",
	"openid":"odXnH1CJjeQoWTld48db-pnxs-Wg",
	"unionid":"oOuyajgxj0oVwjocSoQm6mp7PGKw",
	"send_channel":"BUSICOUPON_SEND_CHANNEL_PAYGIFT", 
	"send_merchant":"98568888",
	"attach_info":{
		"transaction_id":"4200000462220200226114599",
		"act_code":"540358695"
		}
}

領(lǐng)券成功通知參數(shù)

參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
事件類型 event_type string[1,32] 業(yè)務(wù)細(xì)分事件類型,枚舉值:
EVENT_TYPE_BUSICOUPON_SEND:商家券用戶領(lǐng)券通知
示例值:EVENT_TYPE_BUSICOUPON_SEND
券code coupon_code string[1,32] 券的唯一標(biāo)識(shí)。
示例值:1227944959000000911017
批次號(hào) stock_id string[1,32] 批次號(hào)
示例值:1286950000000039
發(fā)放時(shí)間 send_time string[1,32] 發(fā)放時(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年5月20日 13點(diǎn)29分35秒。
示例值:2015-05-20T13:29:35+08:00
用戶標(biāo)識(shí) openid string[1,128] 微信用戶在appid下的唯一標(biāo)識(shí)。
示例值:odXnH1CJjeQ6666648db-pnxs-Wg
用戶統(tǒng)一標(biāo)識(shí) unionid string[1,128] 微信用戶在同一個(gè)微信開放平臺(tái)賬號(hào)下的唯一用戶標(biāo)識(shí),unionid獲取方式請(qǐng)參見《UnionID機(jī)制說明》文檔。
示例值:oOuyajgxj0oVw888SoQm6mp7PGKw
發(fā)放渠道 send_channel string 發(fā)放渠道,枚舉值:
BUSICOUPON_SEND_CHANNEL_MINIAPP:小程序
BUSICOUPON_SEND_CHANNEL_API:API
BUSICOUPON_SEND_CHANNEL_PAYGIFT:支付有禮
BUSICOUPON_SEND_CHANNEL_H5:H5
BUSICOUPON_SEND_CHANNEL_FTOF:面對(duì)面
BUSICOUPON_SEND_CHANNEL_MEMBERCARD_ACT:會(huì)員卡活動(dòng)
BUSICOUPON_SEND_CHANNEL_HALL:掃碼領(lǐng)券(營(yíng)銷館)
BUSICOUPON_SEND_CHANNEL_JSAPI:JSAPI
BUSICOUPON_SEND_CHANNEL_MINI_APP_LIVE:微信小程序直播
BUSICOUPON_SEND_CHANNEL_WECHAT_SEARCH:搜一搜
BUSICOUPON_SEND_CHANNEL_PAY_HAS_DISCOUNT:微信支付有優(yōu)惠
BUSICOUPON_SEND_CHANNEL_WECHAT_AD:微信廣告
BUSICOUPON_SEND_CHANNEL_RIGHTS_PLATFORM:權(quán)益平臺(tái)
BUSICOUPON_SEND_CHANNEL_RECEIVE_MONEY_GIFT:收款有禮
BUSICOUPON_SEND_CHANNEL_MEMBER_PAY_RIGHT:會(huì)員付費(fèi)權(quán)益
BUSICOUPON_SEND_CHANNEL_BUSI_SMART_RETAIL:智慧零售活動(dòng)
BUSICOUPON_SEND_CHANNEL_FINDER_LIVEROOM:視頻號(hào)直播
示例值:BUSICOUPON_SEND_CHANNEL_MINIAPP
發(fā)券商戶號(hào) send_merchant string[1,16] 發(fā)券商戶號(hào)
示例值:98568888
+ 發(fā)券附加信息 attach_info object 僅在支付有禮、掃碼領(lǐng)券(營(yíng)銷館)、會(huì)員有禮發(fā)放渠道,才有該信息
參數(shù)名 變量 類型[長(zhǎng)度限制] 必填 描述
交易訂單編號(hào) transaction_id string[1,32] 僅在支付有禮渠道,才有該信息,對(duì)應(yīng)支付有禮曝光支付訂單編號(hào)信息?
示例值:4200000462220200226114599
支付有禮活動(dòng)編號(hào) act_code string[1,32] 二選一 僅在支付有禮渠道,才有該信息,對(duì)應(yīng)支付有禮活動(dòng)編號(hào)信息?。該字段并不會(huì)和掃碼領(lǐng)券(act_code)同時(shí)出現(xiàn)。
示例值:540358695
營(yíng)銷館活動(dòng)ID act_code string[1,32] 僅在掃碼領(lǐng)券(營(yíng)銷館)渠道,才有該信息,對(duì)應(yīng)領(lǐng)券的營(yíng)銷館領(lǐng)券活動(dòng)ID信息。該字段并不會(huì)和支付有禮活動(dòng)編碼(act_code)同時(shí)出現(xiàn)。
示例值:v3OlhIVg6HpBi2WP2bjNXw
營(yíng)銷館ID hall_code string[1,32] 僅在掃碼領(lǐng)券(營(yíng)銷館)渠道,才有該信息,對(duì)應(yīng)領(lǐng)券的營(yíng)銷館ID信息
示例值:7xcvJIFPzxucJMd3tUeNHg
營(yíng)銷館所屬商戶號(hào) hall_belong_mch_id int 僅在掃碼領(lǐng)券(營(yíng)銷館)渠道,才有該信息,對(duì)應(yīng)領(lǐng)券的營(yíng)銷館所屬商戶號(hào)信息
示例值:1900120923
會(huì)員卡ID card_id string[1,32] 僅在會(huì)員卡活動(dòng)渠道,才有該信息,對(duì)應(yīng)會(huì)員卡Card_ID信息
示例值:pbLatjuzLrql_szmIQZhhTTPwBcg
會(huì)員卡code code string[1,32] 僅在會(huì)員卡活動(dòng)渠道,才有該信息,對(duì)應(yīng)用戶卡包會(huì)員卡Code信息
示例值:15994704420
會(huì)員活動(dòng)ID activity_id string[1,32] 僅在會(huì)員卡活動(dòng)渠道,才有該信息,對(duì)應(yīng)會(huì)員有禮活動(dòng)ID信息
示例值:42001

通知應(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為接收成功,其他錯(cuò)誤碼為失敗。
示例值:FAIL
返回信息 message string[1,64] 返回信息,如非空,為錯(cuò)誤原因。
示例值:失敗


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


技術(shù)咨詢

文檔反饋