微信组件:微信转账

来源:互联网 发布:网络福禄克怎么测试 编辑:程序博客网 时间:2024/05/16 18:09


应用场景:

       利用公众号直接给已经关注V大夫用户转账,比如用户退款申请。

约束

     V大夫平台调用转账接口时必须保证V大夫微信商户账号有足够余额,否则转账失败。

      目前平台是每天提醒财务未来两天转账金额,让财务定时充值。


实现步骤:

 1、组装转账参数

Transfer tf=new Transfer();
tf.setDesc("用户提现转账");//转账描述
tf.setIprice(iprice);//转账金额,单位分
tf.setOpenid();//收款人openid(用户必须关注V大夫)
tf.setSbussid();//业务ID(调用转账接口可能很多)
tf.setSgroupid();//业务模块ID(调用转账接口可能很多)
tf.setSname();//用户姓名,如果调用接口需要校验用户姓名与openid真实性,则这个字段必须是用户真实姓名,微信会自动校验用户真实性

2、调用转账接口

/**
* 
* @param  tran 转账参数
* @param  event 回调事件
* @param  iusertype 公众号分类
* @param  checkname 是否校验真实性
* @version 1.0 
* @date 2015-12-16 下午4:05:06
*/

TransferThread(Transfer tran,TransferEvent event,Integer iusertype,boolean checkname)

样例代码:

 通常不需要关注转账实时结果,以下启用线程做转账。

new Thread(new TransferThread(tf,null,MessageUtil.DOCTOR_USERTYPE,true)).start();


转账成功后回调(可选)

     有些业务场景需要关注转账结果,根据转账结果来做相应业务处理,实现步骤

1、写一个业务处理类继承抽象类com.wxpay.bean.TransferEvent

          事件名称可读性要强,比如

          DrawbackTransferEvent


2、重写event方法

    public void event(TransferResult transferresult)throws ServiceException{

        if("SUCCESS".equals(transferresult.getResult())) {

            //转账成功 

            //do something

        }

     }


回调样例

new Thread(new TransferThread(tf,event,MessageUtil.DOCTOR_USERTYPE,true)).start();



0 0
原创粉丝点击