一、微信紅包SDK
現金紅包、裂變紅包、企業付款本質均為商戶和用戶之間的轉賬,微信官方定義其接口時,操作方法類似。
1. 請求URL
現金紅包
https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack
裂變紅包
https://api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack
企業付款
https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
2. 參數說明
字段名 | 變量名 | 必填 | 示例值 | 類型 | 描述 |
隨機字符串 | nonce_str | 是 | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | String(32) | 隨機字符串,不長於32位 |
簽名 | sign | 是 | C380BEC2BFD727A4B6845133519F3AD6 | String(32) | 詳見簽名生成算法 |
商戶訂單號 | mch_billno | 是 | 10000098201411100000000000 | String(28) | 商戶訂單號(每個訂單號必須唯一) |
商戶號 | mch_id | 是 | 10000098 | String(32) | 微信支付分配的商戶號 |
公眾賬號appid | wxappid | 是 | wx8888888888888888 | String(32) | 微信分配的公眾賬號ID(企業號corpid即為此appId)。 |
商戶名稱 | send_name | 是 | 天虹百貨 | String(32) | 紅包發送者名稱 |
用戶openid | re_openid | 是 | oxTWIuGaIt6gTKsQRLau2M0yL16E | String(32) | 接受紅包的用戶用戶在wxappid下的openid |
付款金額 | total_amount | 是 | 1000 | int | 付款金額,單位分 |
紅包發放總人數 | total_num | 是 | 1 | int | 紅包發放總人數 |
紅包祝福語 | wishing | 是 | 感謝您參加猜燈謎活動,祝您元宵節快樂! | String(128) | 紅包祝福語 |
Ip地址 | client_ip | 是 | 192.168.0.1 | String(15) | 調用接口的機器Ip地址 |
活動名稱 | act_name | 是 | 猜燈謎搶紅包活動 | String(32) | 活動名稱 |
備注 | remark | 是 | 猜越多得越多,快來搶! | String(256) | 備注信息 |
紅包金額設置方式 | amt_type | 是 | ALL_RAND | String(32) | 紅包金額設置方式ALL_RAND—全部隨機,商戶指定總金額和紅包發放總人數,由微信支付隨機計算出各紅包金額 |
校驗用戶姓名選項 | check_name | 是 | OPTION_CHECK | String | NO_CHECK:不校驗真實姓名 FORCE_CHECK:強校驗真實姓名(未實名認證的用戶會校驗失敗,無法轉賬) OPTION_CHECK:針對已實名認證的用戶才校驗真實姓名(未實名認證用戶不校驗,可以轉賬成功) |
收款用戶姓名 | re_user_name | 可選 | 方倍 | String | 收款用戶真實姓名。 如果check_name設置為FORCE_CHECK或OPTION_CHECK,則必填用戶真實姓名 |
金額 | amount | 是 | 10099 | int | 企業付款金額,單位為分 |
企業付款描述信息 | desc | 是 | 理賠 | String | 企業付款操作說明信息。必填。 |
Ip地址 | spbill_create_ip | 是 | 192.168.0.1 | String(32) | 調用接口的機器Ip地址 |
3. 請求示例
<xml> <mch_appid>wxe062425f740c30d8</mch_appid> <mchid>10000098</mchid> <nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str> <partner_trade_no>100000982014120919616</partner_trade_no> <openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid> <check_name>OPTION_CHECK</check_name> <re_user_name>張三</re_user_name> <amount>100</amount> <desc>節日快樂!</desc> <spbill_create_ip>10.2.3.10</spbill_create_ip> <sign>C97BDBACF37622775366F38B629F45E3</sign> </xml>
4. 返回示例
成功示例:
<xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[]]></return_msg> <mch_appid><![CDATA[wxec38b8ff840bd989]]></mch_appid> <mchid><![CDATA[10013274]]></mchid> <device_info><![CDATA[]]></device_info> <nonce_str><![CDATA[lxuDzMnRjpcXzxLx0q]]></nonce_str> <result_code><![CDATA[SUCCESS]]></result_code> <partner_trade_no><![CDATA[10013574201505191526582441]]></partner_trade_no> <payment_no><![CDATA[1000018301201505190181489473]]></payment_no> <payment_time><![CDATA[2015-05-19 15:26:59]]></payment_time> </xml>
錯誤示例:
<xml> <return_code><![CDATA[FAIL]]></return_code> <return_msg><![CDATA[系統繁忙,請稍后再試.]]></return_msg> <result_code><![CDATA[FAIL]]></result_code> <err_code><![CDATA[SYSTEMERROR]]></err_code> <err_code_des><![CDATA[系統繁忙,請稍后再試.]]></err_code_des> </xml>
二、SDK實現
sdk定義
三、調用方式
1. 企業付款調用方法
2. 現金紅包調用方法
3. 裂變紅包調用方法
4. 紅包查詢調用方法
5. 企業付款查詢調用方法
四、實現效果