天天看點

微信紅包接入1-接入前準備

參考:

官方文檔: 

發放規則 (https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_2) 對于小應用或者基礎功能內建測試來說可以不管

調用紅包接口流程(https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_3) 關鍵,接口內建相關;

如果您對下面的都有所了解可以直接調到下一篇:微信紅包接入2-項目內建

最近項目中需要接入微信紅包接口(目前走現金紅包,其實我看了一下和裂變紅包也沒啥大的差別),需求就是,應用中有一個虛拟的秀币(類似q币的東東),使用者可以申請提現(在服務号應用中,暫不涉及原始用戶端sdk),會員加入有500秀币,在「提現」的錄入頁面送出表單,假如提400,那麼我們将需要借助微信紅包接口,将應用綁定商戶(微信商戶平台https://pay.weixin.qq.com/index.php)的賬戶中的餘額進行抵扣,直接以現金紅包的方式打到會員的微信賬戶;

以上的流程可以接官方的使用者互動流程來說明(https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_4):

需要注意的是,在微信下發和使用者錄取的時候,在微信自身的流轉可能會由于微信app的版本的不同而有所變化,不過這個對于我們內建來說沒有印象,如果需要可以在調用接口前做相應的提醒。

引用:

調用現金紅包接口,發放成功後,使用者領取紅包流程如下:

步驟(一):收到領取紅包消息,根據使用者微信版本不同,分為:

    • 微信版本在6.1及以上的使用者收到企業自身微信号(調用接口時傳入appid對應的商戶号)下發領取消息;如果使用者未關注微信号,那麼會收到由“服務通知”下發的消息
  1. 微信紅包接入1-接入前準備
    微信紅包接入1-接入前準備
  • 微信版本在6.1以下的使用者仍按原流程收取消息:由微信紅包公衆号下發領取消息
  1. 微信紅包接入1-接入前準備

(沒有測試過,不知道沒有關注 微信紅包公衆号會出現啥情況,如果微信讓使用者「被關注」了,那麼嘿嘿就又是黑接口了,大家不用奇怪,請試過的朋友留言交流一下:))

接下來看,我們實際內建前應該做些啥?跟我們真正開發相關的事兒(https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_3): 接官方的文檔我這裡做一下個人的了解解讀:

商戶側調用紅包接口流程

1. 登入微信支付商戶平台下載下傳證書以及充值

a. 下載下傳證書,商戶調用微信紅包接口時,伺服器會進行證書驗證,請在商戶平台下載下傳證書。(由于紅包接口是直接動漲的,是以接口需要更高的安全級别保護,就需要該證書進行身份認證等,在接口被調的時候,先拿下來,之後下面在使用的時候會對其作用進行補充說明)

微信紅包接入1-接入前準備

直接點選下載下傳證書。

微信紅包接入1-接入前準備

我使用的java進行應用開發,關鍵的是第一個,不過這裡是打包下載下傳的,需要:

微信紅包接入1-接入前準備

當時申請商戶平台的時候填寫的手機号進行認證,才能拖下來;

下載下傳下來就類似:

微信紅包接入1-接入前準備

file:///Users/zhaojin/Downloads/cert/證書使用說明.txt file:///Users/zhaojin/Downloads/cert/apiclient_cert.p12 file:///Users/zhaojin/Downloads/cert/apiclient_cert.pem file:///Users/zhaojin/Downloads/cert/apiclient_key.pem file:///Users/zhaojin/Downloads/cert/rootca.pem

接下來要給賬戶充點錢,除非你要測試餘額不足的錯誤提示:

充值

發放現金紅包将扣除商戶的可用餘額,請注意,可用餘額并不是微信支付交易額,需要預先充值,確定可用餘額充足。檢視可用餘額、充值、提現請登入微信支付商戶平台,進入“資金管理”菜單,進行操作

微信紅包接入1-接入前準備

你可以點選下面的提現看看目前賬戶的餘額,我就不接圖了,用ps改來改去麻煩;

下面就來看,這段文藝的描述: 2. 微信紅包接口調用流程

 ◆ 背景API調用:待進入聯調過程時與開發進行詳細溝通;

 ◆ 告知伺服器:告知伺服器接收微信紅包的使用者openID,告知伺服器該使用者獲得的金額;

 ◆ 從商務号扣款:伺服器擷取資訊後從對應的商務号扣取對應的金額;

 ◆ 調用失敗:因不符合發送規則,商務号餘額不足等原因造成調用失敗,回報至調用方;

 ◆ 發送成功:以微信紅包公衆賬号發送對應紅包至對應使用者;

微信紅包接入1-接入前準備

其實好像微信寫這個文檔是給商務看的哈,我靠。我們隻需要關注上面的這個時序圖就行了,無非就是前台頁面發起交易,我們背景響應之後,組裝接口所需參數,并按需要進行加密等,使得參數合格,調用微信的紅包接口,判斷響應的結果,走不同的分支;

具體下一篇中我會借用這副圖來表述實際開發的個個節點和code的對應;

謝謝大家,需要交流的朋友可以關注我們的服務号(還在開發,有時候不能及時回複請見諒),之後在服務号的管理背景會把相關代碼打包提供給需要的關注使用者:)

微信紅包接入1-接入前準備

微信号:PlayPlayInteractive