微信公众平台开发(111) 现金红包、裂变红包、企业付款

keyword:微信公众平台 微信红包 现金红包 裂变红包 企业付款 
作者:方倍工作室 
原文: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定义

微信公众平台开发(111) 现金红包、裂变红包、企业付款

微信公众平台开发(111) 现金红包、裂变红包、企业付款

 

三、调用方式

1. 企业付款调用方法

微信公众平台开发(111) 现金红包、裂变红包、企业付款

2. 现金红包调用方法

微信公众平台开发(111) 现金红包、裂变红包、企业付款

3. 裂变红包调用方法

微信公众平台开发(111) 现金红包、裂变红包、企业付款

4. 红包查询调用方法

微信公众平台开发(111) 现金红包、裂变红包、企业付款

5. 企业付款查询调用方法

微信公众平台开发(111) 现金红包、裂变红包、企业付款

 

四、实现效果

 微信公众平台开发(111) 现金红包、裂变红包、企业付款 微信公众平台开发(111) 现金红包、裂变红包、企业付款 微信公众平台开发(111) 现金红包、裂变红包、企业付款

 


微信公众平台开发(111) 现金红包、裂变红包、企业付款

上一篇:玩玩微信公众号Java版之四:自定义公众号菜单


下一篇:python验证微信好友是否把你删了