微信公众平台开发(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定义

微信公众平台开发(111) 现金红包、裂变红包、企业付款_第1张图片

 

三、调用方式

1. 企业付款调用方法

微信公众平台开发(111) 现金红包、裂变红包、企业付款_第2张图片

2. 现金红包调用方法

微信公众平台开发(111) 现金红包、裂变红包、企业付款_第3张图片

3. 裂变红包调用方法

微信公众平台开发(111) 现金红包、裂变红包、企业付款_第4张图片

4. 红包查询调用方法

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

微信公众平台开发(111) 现金红包、裂变红包、企业付款_第5张图片

 

四、实现效果

 微信公众平台开发(111) 现金红包、裂变红包、企业付款_第6张图片  微信公众平台开发(111) 现金红包、裂变红包、企业付款_第7张图片

 


你可能感兴趣的:(微信)