1. 程式人生 > >微信公眾平臺開發(111) 現金紅包、裂變紅包、企業付款

微信公眾平臺開發(111) 現金紅包、裂變紅包、企業付款

關鍵字:微信公眾平臺 微信紅包 現金紅包 裂變紅包 企業付款 
作者:方倍工作室 
原文: http://www.cnblogs.com/txw1958/p/wxpay-mkt-transfer.html 

 

在這篇微信公眾平臺開發教程中,我們將介紹如何在實現現金紅包、裂變紅包、企業付款以及紅包交易查詢(含現金紅包和裂變紅包)和企業付款查詢的功能。

本文分為以下二個部分:

  1. 微信支付介面SDK定義
  2. 現金紅包、裂變紅包、企業付款的呼叫方法

 

一、微信紅包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. 企業付款查詢呼叫方法

 

四、實現效果