調(diào)用微信公眾號(hào)現(xiàn)金紅包接口給用戶發(fā)放普通紅包

功能

  1. 商戶調(diào)用接口時(shí),通過指定發(fā)送對(duì)象以及發(fā)送金額的方式發(fā)放紅包。
  2. 領(lǐng)取到紅包后,用戶的資金直接進(jìn)入微信零錢。
  3. 調(diào)用現(xiàn)金紅包接口需要使用到證書,請(qǐng)前往商戶平臺(tái)下載證書。
  4. 因?yàn)榘l(fā)送現(xiàn)金紅包是從商戶平臺(tái)余額扣款,所以商戶平臺(tái)的賬戶余額必須有充足的余額

接口

請(qǐng)求Url: https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack
請(qǐng)求方式: POST
是否需要證書:

請(qǐng)求參數(shù)

nonce_str 隨機(jī)字符串,長(zhǎng)度不超32位(必選字段)
sign 簽名(必選字段)
mch_billno 商戶訂單號(hào),每個(gè)訂單號(hào)必須唯一。接口根據(jù)商戶訂單號(hào)支持重入,如出現(xiàn)超時(shí)可再調(diào)用(必選字段)
mch_id 商戶號(hào),微信支付分配的商戶號(hào)(必選字段)
wxappid 公眾賬號(hào)appid,微信分配的公眾賬號(hào)ID,接口傳入的所有appid應(yīng)該為公眾號(hào)的appid (必選字段)
send_name 商戶名稱,紅包發(fā)送者名稱(必選字段)
re_openid 用戶openid,接受紅包的用戶。用戶在wxappid下的openid (必選字段)
total_amount 付款金額(必選字段)
total_num 紅包發(fā)放總?cè)藬?shù)(必選字段)
wishing 紅包祝福語(yǔ)(必選字段)
client_ip 調(diào)用接口的機(jī)器ip地址(必選字段)
act_name 活動(dòng)名稱(必選字段)
remark 備注信息(必選字段)
scene_id 發(fā)放紅包使用場(chǎng)景,紅包金額大于200時(shí)必傳(非必選字段)
PRODUCT_1:商品促銷
PRODUCT_2:抽獎(jiǎng)
PRODUCT_3:虛擬物品兌獎(jiǎng)
PRODUCT_4:企業(yè)內(nèi)部福利
PRODUCT_5:渠道分潤(rùn)
PRODUCT_6:保險(xiǎn)回饋
PRODUCT_7:彩票派獎(jiǎng)
PRODUCT_8:稅務(wù)刮獎(jiǎng)
risk_info 活動(dòng)信息(非必選字段)
consume_mch_id 資金授權(quán)商戶號(hào),服務(wù)商替特約商戶發(fā)放時(shí)使用(非必選字段)

數(shù)據(jù)示例

<xml> 
<sign><![CDATA[E1EE61A91C8E90F299DE6AE075D60A2D]]></sign> 
<mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno> 
<mch_id><![CDATA[888]]></mch_id> 
<wxappid><![CDATA[wxcbda96de0b165486]]></wxappid> 
<send_name><![CDATA[send_name]]></send_name> 
<re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid> 
<total_amount><![CDATA[200]]></total_amount> 
<total_num><![CDATA[1]]></total_num> 
<wishing><![CDATA[恭喜發(fā)財(cái)]]></wishing> 
<client_ip><![CDATA[127.0.0.1]]></client_ip> 
<act_name><![CDATA[新年紅包]]></act_name> 
<remark><![CDATA[新年紅包]]></remark> 
<scene_id><![CDATA[PRODUCT_2]]></scene_id> 
<consume_mch_id><![CDATA[10000097]]></consume_mch_id> 
<nonce_str><![CDATA[50780e0cca98c8c8e814883e5caa672e]]></nonce_str> 
<risk_info>posttime%3d123123412%26clientversion%3d234134%26mobile%3d122344545%26deviceid%3dIOS</risk_info> 
</xml> 

返回參數(shù)

return_code 返回狀態(tài)碼,此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí),交易是否成功需要查看result_code來(lái)判斷(必選字段)
return_msg 返回信息,為錯(cuò)誤原因(非必選字段)
簽名失敗
參數(shù)格式校驗(yàn)錯(cuò)誤

return_code為SUCCESS的時(shí)候返回

sign 簽名(必選字段)
result_code 業(yè)務(wù)結(jié)果(必選字段)
err_code 錯(cuò)誤代碼(非必選字段)
err_code_des 錯(cuò)誤代碼描述(非必選字段)

在return_code和result_code都為SUCCESS的時(shí)候有返回

mch_billno 商戶訂單號(hào),每個(gè)訂單號(hào)必須唯一。
組成:mch_id+yyyymmdd+10位一天內(nèi)不能重復(fù)的數(shù)字。(必選字段)
mch_id 商戶號(hào),微信支付分配的商戶號(hào)(必選字段)
wxappid 公眾賬號(hào),接口傳入的所有appid應(yīng)該為公眾號(hào)的appid (必選字段)
re_openid 用戶openid,接受收紅包的用戶(必選字段)
total_amount 付款金額(必選字段)
send_listid 微信單號(hào),紅包訂單的微信單號(hào)(必選字段)

成功示例

<xml> 
<return_code><![CDATA[SUCCESS]]></return_code> 
<return_msg><![CDATA[發(fā)放成功.]]></return_msg> 
<result_code><![CDATA[SUCCESS]]></result_code> 
<err_code><![CDATA[0]]></err_code> 
<err_code_des><![CDATA[發(fā)放成功.]]></err_code_des> 
<mch_billno><![CDATA[0010010404201411170000046545]]></mch_billno> 
<mch_id>10010404</mch_id> 
<wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid> 
<re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid> 
<total_amount>1</total_amount> 
</xml> 

失敗示例

<xml> 
<return_code><![CDATA[FAIL]]></return_code> 
<return_msg><![CDATA[系統(tǒng)繁忙,請(qǐng)稍后再試.]]></return_msg> 
<result_code><![CDATA[FAIL]]></result_code> 
<err_code><![CDATA[268458547]]></err_code> 
<err_code_des><![CDATA[系統(tǒng)繁忙,請(qǐng)稍后再試.]]></err_code_des> 
<mch_billno><![CDATA[0010010404201411170000046542]]></mch_billno> 
<mch_id>10010404</mch_id> 
<wxappid><![CDATA[wx6fa7e3bab7e15415]]></wxappid> 
<re_openid><![CDATA[onqOjjmM1tad-3ROpncN-yUfa6uI]]></re_openid> 
<total_amount>1</total_amount> 
</xml> 


附注

簽名算法
假設(shè)傳送的參數(shù)如下:
appid: wxd930ea5d5a258f4f
mch_id: 10000100
device_info: 1000
body: test
nonce_str: ibuaiVcKdpRxkhJA

第一步,設(shè)所有發(fā)送或者接收到的數(shù)據(jù)為集合M,將集合M內(nèi)非空參數(shù)值的參數(shù)按照參數(shù)名ASCII碼從小到大排序(字典序),使用URL鍵值對(duì)的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA"; 

特別注意以下重要規(guī)則:

· 參數(shù)名ASCII碼從小到大排序(字典序);
· 如果參數(shù)的值為空不參與簽名;
· 參數(shù)名區(qū)分大小寫;
· 驗(yàn)證調(diào)用返回或微信主動(dòng)通知簽名時(shí),傳送的sign參數(shù)不參與簽名,將生成的簽名與該sign值作校驗(yàn)。
· 微信接口可能增加字段,驗(yàn)證簽名時(shí)必須支持增加的擴(kuò)展字段

第二步,在stringA最后拼接上key得到stringSignTemp字符串,并對(duì)stringSignTemp進(jìn)行MD5運(yùn)算,再將得到的字符串所有字符轉(zhuǎn)換為大寫,得到sign值signValue。
key設(shè)置路徑:微信商戶平臺(tái)(pay.weixin.qq.com)-->賬戶設(shè)置-->API安全-->密鑰設(shè)置

stringSignTemp=stringA+"&key=192006250b4c09247ec02edce69f6a2d" //注:key為商戶平臺(tái)設(shè)置的密鑰key
sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7" //注:MD5簽名方式
sign=hash_hmac("sha256",stringSignTemp,key).toUpperCase()="6A9AE1657590FD6257D693A078E1C3E4BB6BA4DC30B23E0EE2496E54170DACD6" //注:HMAC-SHA256簽名方式

第三步,轉(zhuǎn)化為xml格式發(fā)送到微信服務(wù)器。

<xml>
<appid>wxd930ea5d5a258f4f</appid>
<mch_id>10000100</mch_id>
<device_info>1000<device_info>
<body>test</body>
<nonce_str>ibuaiVcKdpRxkhJA</nonce_str>
<sign>9A0A8659F005D6984697E2CA0A9CF3B7</sign>
<xml>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,517評(píng)論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,087評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 177,521評(píng)論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,493評(píng)論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,207評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,603評(píng)論 1 325
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,624評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,813評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,364評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,110評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,305評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,874評(píng)論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,532評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,953評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,209評(píng)論 1 291
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,033評(píng)論 3 396
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,268評(píng)論 2 375

推薦閱讀更多精彩內(nèi)容