微信支付現金紅包接口正式開放,只需開通微信支付,便可接入現金紅包。經過現金紅包接口,公衆號開發者能夠策劃相關運營活動,向用戶發放微信支付現金紅包,更好的達到品牌推廣及回饋用戶的效果。具體能力以下:php
一、商戶調用接口時,經過指定發送對象以及發送金額的方式發放紅包,這樣的方式,容許商戶靈活的應用於各類各樣豐富的活動場景html
二、領取到紅包後,用戶的資金直接進入微信零錢,避免繁複的領獎流程,帶給用戶微信支付原生的流暢體驗算法
1. 發送頻率規則api
◆ 每分鐘發送紅包數量不得超過1800個;服務器
◆ 北京時間0:00-8:00不觸發紅包贈送;(若是以上規則不知足您的需求,請發郵件至wxhongbao@tencent.com獲取升級指引)微信
2. 紅包規則app
◆ 單個紅包金額介於[1.00元,200.00元]之間;微信公衆平臺
◆ 同一個紅包只能發送給一個用戶;(若是以上規則不知足您的需求,請發郵件至wxhongbao@tencent.com獲取升級指引)微信支付
1. 登陸微信支付商戶平臺下載證書以及充值url
在調用接口前,請商戶使用微信支付商戶號登陸微信支付商戶平臺完成下述工做:
備註:
微信支付商戶平臺地址爲pay.weixin.qq.com。微信支付商戶號會在商戶申請微信支付成功後,經過開戶郵件發送給您。請不要使用微信公衆平臺帳號或者appid登陸。若是您登陸時遇到問題,請聯繫微信支付小助手weixinpay@tencent.com
◆ 下載證書
商戶調用微信紅包接口時,服務器會進行證書驗證,請在商戶平臺下載證書
◆ 充值
發放現金紅包將扣除商戶的可用餘額,請注意,可用餘額並非微信支付交易額,須要預先充值,確保可用餘額充足。查看可用餘額、充值、提現請登陸微信支付商戶平臺,進入「資金管理」菜單,進行操做
2. 微信紅包接口調用流程
◆ 後臺API調用:待進入聯調過程時與開發進行詳細溝通;
◆ 告知服務器:告知服務器接收微信紅包的用戶openID,告知服務器該用戶得到的金額;
◆ 從商務號扣款:服務器獲取信息後從對應的商務號扣取對應的金額;
◆ 調用失敗:因不符合發送規則,商務號餘額不足等緣由形成調用失敗,反饋至調用方;
◆ 發送成功:以微信紅包公衆帳號發送對應紅包至對應用戶;
調用現金紅包接口,發放成功後,用戶領取紅包流程以下:
步驟(一):收到領取紅包消息,步驟(二):點擊領取消息,拆紅包
1.紅包發放說明
用於企業向微信用戶我的發現金紅包
目前支持向指定微信用戶的openid發放指定金額紅包。(獲取openid參見微信公衆平臺開發者文檔: 網頁受權獲取用戶基本信息)
接口參數與用戶領用實際效果對應關係以下:
如需操做請登陸https://pay.weixin.qq.com/
2.接口調用請求說明
請求Url |
https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack |
是否須要證書 |
是(證書及使用說明詳見商戶證書) |
請求方式 |
POST |
3.請求參數
字段名 |
字段 |
必填 |
示例值 |
類型 |
說明 |
---|---|---|---|---|---|
隨機字符串 |
nonce_str |
是 |
5K8264ILTKCH16CQ2502SI8ZNMTM67VS |
String(32) |
隨機字符串,不長於32位 |
簽名 |
sign |
是 |
C380BEC2BFD727A4B6845133519F3AD6 |
String(32) |
詳見簽名生成算法 |
商戶訂單號 |
mch_billno |
是 |
10000098201411111234567890 |
String(28) |
商戶訂單號(每一個訂單號必須惟一) 組成: mch_id+yyyymmdd+10位一天內不能重複的數字。 接口根據商戶訂單號支持重入, 如出現超時可再調用。 |
商戶號 |
mch_id |
是 |
10000098 |
String(32) |
微信支付分配的商戶號 |
子商戶號 |
sub_mch_id |
否 |
10000090 |
String(32) |
微信支付分配的子商戶號,受理模式下必填 |
公衆帳號appid |
wxappid |
是 |
wx8888888888888888 |
String(32) |
商戶appid |
提供方名稱 |
nick_name |
是 |
天虹百貨 |
String(32) |
提供方名稱 |
商戶名稱 |
send_name |
是 |
天虹百貨 |
String(32) |
紅包發送者名稱 |
用戶openid |
re_openid |
是 |
oxTWIuGaIt6gTKsQRLau2M0yL16E |
String(32) |
接受收紅包的用戶 用戶在wxappid下的openid |
付款金額 |
total_amount |
是 |
1000 |
int |
付款金額,單位分 |
最小紅包金額 |
min_value |
是 |
1000 |
int |
最小紅包金額,單位分 |
最大紅包金額 |
max_value |
是 |
1000 |
int |
最大紅包金額,單位分 ( 最小金額等於最大金額: min_value=max_value =total_amount) |
紅包發放總人數 |
total_num |
是 |
1 |
int |
紅包發放總人數 total_num=1 |
紅包祝福語 |
wishing |
是 |
感謝您參加猜燈謎活動,祝您元宵節快樂! |
String(128) |
紅包祝福語 |
Ip地址 |
client_ip |
是 |
192.168.0.1 |
String(15) |
調用接口的機器Ip地址 |
活動名稱 |
act_name |
是 |
猜燈謎搶紅包活動 |
String(32) |
活動名稱 |
備註 |
remark |
是 |
猜越多得越多,快來搶! |
String(256) |
備註信息 |
商戶logo的url |
logo_imgurl |
否 |
https://wx.gtimg.com/mch/img/ico-logo.png |
String(128) |
商戶logo的url |
分享文案 |
share_content |
否 |
快來參加猜燈謎活動 |
String(256) |
分享文案 |
分享連接 |
share_url |
否 |
http://www.qq.com |
String(128) |
分享連接 |
分享的圖片 |
share_imgurl |
否 |
https://wx.gtimg.com/mch/img/ico-logo.png |
String(128) |
分享的圖片url |
數據示例:
<xml> <sign></sign> <mch_billno></mch_billno> <mch_id></mch_id> <wxappid></wxappid> <nick_name></nick_name> <send_name></send_name> <re_openid></re_openid> <total_amount></total_amount> <min_value></min_value> <max_value></max_value> <total_num></total_num> <wishing></wishing> <client_ip></client_ip> <act_name></act_name> <act_id></act_id> <remark></remark> <logo_imgurl></logo_imgurl> <share_content></share_content> <share_url></share_url> <share_imgurl></share_imgurl> <nonce_str></nonce_str> </xml> |
4.返回參數
字段名 |
變量名 |
必填 |
示例值 |
類型 |
說明 |
---|---|---|---|---|---|
返回狀態碼 |
return_code |
是 |
SUCCESS |
String(16) |
SUCCESS/FAIL 此字段是通訊標識,非交易標識,交易是否成功須要查看result_code來判斷 |
返回信息 |
return_msg |
否 |
簽名失敗
|
String(128) |
返回信息,如非空,爲錯誤緣由 簽名失敗 參數格式校驗錯誤 |
如下字段在return_code爲SUCCESS的時候有返回 |
|||||
簽名 |
sign |
是 |
C380BEC2BFD727A4B6845133519F3AD6 |
String(32) |
生成簽名方式詳見簽名生成算法 |
業務結果 |
result_code |
是 |
SUCCESS |
String(16) |
SUCCESS/FAIL |
錯誤代碼 |
err_code |
否 |
SYSTEMERROR |
String(32) |
錯誤碼信息 |
錯誤代碼描述 |
err_code_des |
否 |
系統錯誤 |
String(128) |
結果信息描述 |
如下字段在return_code 和result_code都爲SUCCESS的時候有返回 |
|||||
商戶訂單號 |
mch_billno |
是 |
10000098201411111234567890 |
String(28) |
商戶訂單號(每一個訂單號必須惟一) 組成: mch_id+yyyymmdd+10位一天內不能重複的數字 |
商戶號 |
mch_id |
是 |
10000098 |
String(32) |
微信支付分配的商戶號 |
公衆帳號appid |
wxappid |
是 |
wx8888888888888888 |
String(32) |
商戶appid |
用戶openid |
re_openid |
是 |
oxTWIuGaIt6gTKsQRLau2M0yL16E |
String(32) |
接受收紅包的用戶 用戶在wxappid下的openid |
付款金額 |
total_amount |
是 |
1000 |
int |
付款金額,單位分 |
發放成功時間 |
|
|
|
|
|
微信單號 |
|
|
|
|
|
成功示例:
<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[發放成功.]]></return_msg> <result_code><![CDATA[SUCCESS]]></result_code> <err_code><![CDATA[0]]></err_code> <err_code_des><![CDATA[發放成功.]]></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[系統繁忙,請稍後再試.]]></return_msg> <result_code><![CDATA[FAIL]]></result_code> <err_code><![CDATA[268458547]]></err_code> <err_code_des><![CDATA[系統繁忙,請稍後再試.]]></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> |
|
5.錯誤碼
錯誤代碼 |
描述 |
解決方案 |
---|---|---|
NOAUTH |
無權限 |
請聯繫微信支付開通api權限 |
PARAM_ERROR |
參數錯誤 |
請查看err_code_des,修改設置錯誤的參數 |
OPENID_ERROR |
Openid錯誤 |
根據用戶在商家公衆帳號上的openid,獲取用戶在紅包公衆帳號上的openid 錯誤。請覈對商戶自身公衆號appid和用戶在此公衆號下的openid。 |
NOTENOUGH |
餘額不足 |
商戶帳號餘額不足,請登陸微信支付商戶平臺充值 |
SYSTEMERROR |
系統繁忙,請再試。 |
可用同一商戶單號再次調用,只會發放一個紅包。 |
TIME _LIMITED |
企業紅包的發送時間受限 |
請北京時間0:00-8:00時間以外觸發紅包贈送 |
SECOND_OVER_LIMITED |
企業紅包的按分鐘發放受限 |
每分鐘發送紅包數量不得超過1800個;(可聯繫微信支付wxhongbao@tencent.com調高額度) |
MONEY_LIMIT |
紅包金額發放限制 |
每一個紅包金額必須大於1元,小於200元(可聯繫微信支付wxhongbao@tencent.com調高額度至4999元) |