# 1. 接口規(guī)則
為了在保證支付安全的前提下,帶給商戶簡(jiǎn)單、一致且易用的開(kāi)發(fā)體驗(yàn),我們推出了全新的微信支付APIv3接口。該版本API的具體規(guī)則請(qǐng)參考“APIv3接口規(guī)則 (opens new window)”。
# 2. 開(kāi)發(fā)環(huán)境搭建
為了幫助開(kāi)發(fā)者更好的調(diào)用接口,我們提供微信支付APIv3官方SDK (opens new window),請(qǐng)根據(jù)自身開(kāi)發(fā)語(yǔ)言,選擇對(duì)應(yīng)的SDK庫(kù)集成到項(xiàng)目。
目前微信支付提供JAVA、PHP、GO三種語(yǔ)言版本的SDK,封裝了簽名生成、簽名驗(yàn)證、敏感信息加/解密、媒體文件上傳等基礎(chǔ)接口功能。
SDK | 說(shuō)明 |
---|---|
wechatpay-java (opens new window) | Java 服務(wù)端 SDK |
wechatpay-php (opens new window) | PHP 服務(wù)端 SDK |
wechatpay-go (opens new window) | GO 服務(wù)端 SDK |
如下通用基礎(chǔ)功能接口,已經(jīng)在SDK中完成封裝,可替換相關(guān)參數(shù)后快速測(cè)試。
若使用的編程語(yǔ)言無(wú)對(duì)應(yīng)的SDK,則需要按照接口規(guī)則與接口詳細(xì)信息自行開(kāi)發(fā)。
# 3. 業(yè)務(wù)接入
# 3.1. 業(yè)務(wù)序列圖
# 3.2. 關(guān)鍵步驟說(shuō)明
# 步驟1:接收商戶平臺(tái)處置記錄通知
1、在調(diào)用接口前,開(kāi)發(fā)者需要根據(jù)商戶平臺(tái)處置通知 (opens new window),完成商戶違規(guī)通知回調(diào)地址的創(chuàng)建,接收商戶平臺(tái)處置回調(diào)通知。
2、在收到商戶平臺(tái)處置回調(diào)通知后,開(kāi)發(fā)者需要關(guān)注回調(diào)通知
字段中event_type
(通知類(lèi)型)為VIOLATION.PUNISH
且回調(diào)通知解密后risk_type
(風(fēng)險(xiǎn)類(lèi)型)為ALL_MERCHANTS_HAVE_CONFIRMED_THE_WILLINGNESS_TO_OPEN_AN_ACCOUNT
的消息,建議將其中sub_mchid
(處置商戶號(hào))、record_id
(通知唯一標(biāo)識(shí))、punish_plan
(處罰方案)和risk_type
(風(fēng)險(xiǎn)類(lèi)型)等信息予以記錄以便后續(xù)使用和問(wèn)題排查。
回調(diào)通知內(nèi)容示例如下:
1{2 "sub_mchid": "1900009231",3 "company_name":"財(cái)付通支付科技有限公司",4 "record_id":"200201820200101080076610000",5 "punish_plan":"關(guān)閉支付權(quán)限,延遲結(jié)算",6 "punish_time":"2015-05-20T13:29:35+08:00",7 "punish_description":"",8 "risk_type":"ALL_MERCHANTS_HAVE_CONFIRMED_THE_WILLINGNESS_TO_OPEN_AN_ACCOUNT",9 "risk_description":"無(wú)交易商戶未確認(rèn)開(kāi)戶意愿"10}
# 步驟2:發(fā)起不活躍商戶身份核實(shí)
1、同一商戶同一時(shí)間只會(huì)存在一筆核實(shí)單,如果針對(duì)該商戶重復(fù)發(fā)起核實(shí),接口會(huì)返回成功以及流程中的核實(shí)單單號(hào)。
2、發(fā)起不活躍商戶身份核實(shí)接口采用異步處理模式,即在接收到服務(wù)商請(qǐng)求后,優(yōu)先受理請(qǐng)求再異步處理,最終的核實(shí)結(jié)果可以通過(guò)查詢接口獲得。
# 步驟3:查詢不活躍商戶身份核實(shí)結(jié)果
1、不活躍商戶身份核實(shí)結(jié)束后,目前不會(huì)有回調(diào)通知,需要開(kāi)發(fā)者對(duì)已發(fā)起單據(jù)進(jìn)行輪詢。
2、當(dāng)查詢到核實(shí)單狀態(tài)為SUCCESS或FAIL時(shí),即可停止輪詢,核實(shí)單狀態(tài)不再改變。
3、核實(shí)單除了記錄單號(hào)和單據(jù)狀態(tài)外,還會(huì)記錄失敗原因,當(dāng)核實(shí)單狀態(tài)為FAIL時(shí)返回,可以協(xié)助判斷問(wèn)題。
注意
一般三天內(nèi)單據(jù)即會(huì)流轉(zhuǎn)為終態(tài),建議輪詢時(shí)間3天,輪詢頻率每小時(shí)1次。