文档中普通红包有关于所有的讲解,调用必须有商户平台的证书:

https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3

请求Url

https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack

是否需要证书

是(证书及使用说明详见商户证书)

请求方式

POST

需要的参数也都有列出。根据自己需求来决定。

1. java封装一个红包对象

* 红包对象 * @author小帅帅丶 * @date2016-8-17上午11:12:19* @开源中国 http://my.oschina.net/xshuai*/publicclassRedPackimplementsSerializable{privateString sign; //根据属性生成的验证privateString mch_billno; //订单号privateString mch_id; //商户号privateString wxappid; // 微信appidprivateString send_name;// 商户名称privateString re_openid;// 用户openidprivateString total_amount;// 付款金额privateString total_num;//红包接收人数 现金红包只能是 1privateString wishing;// 红包祝福语privateString client_ip;// 调用接口机器的IPprivateString act_name;// 活动名称privateString remark;// 备注privateString nonce_str;// 随机字符串//set get省略}

2. 需要用的工具类 createBillNo是生成商户订单号 官网文档要求如下

/** * 红包工具类 * @author小帅帅丶 *@date2016-8-17上午11:12:19 * @开源中国 http://my.oschina.net/xshuai */publicclassRedPackUtil{ /** * 生成商户订单号 *@parammch_id 商户号 *@paramuserId 该用户的userID *@return*/publicstaticStringcreateBillNo(){ //组成: mch_id+yyyymmdd+10位一天内不能重复的数字//10位一天内不能重复的数字实现方法如下://因为每个用户绑定了userId,他们的userId不同,加上随机生成的(10-length(userId))可保证这10位数字不一样Date dt=newDate(); SimpleDateFormat df = newSimpleDateFormat("yyyymmdd"); String nowTime= df.format(dt); intlength = 10; returnWXConstants.MCH_ID + nowTime + getRandomNum(length); } /** * 生成特定位数的随机数字 *@paramlength *@return*/publicstaticStringgetRandomNum(intlength){ String val = ""; Random random = newRandom(); for(inti = 0; i < length; i++) { val += String.valueOf(random.nextInt(10)); } returnval; } }

3. 前面工作很简单,有需要的证书和商户号。且商户平台有金额即可测试现金红包接口

RedPack pack = newRedPack(null//第一次为空, RedPackUtil.createBillNo()//商户订单号,"你自己的商户号", "公众号的appid", "名称", "要发送用户的openid", "发送金额 单位是分 例如100 则是1元RMB", "只能是1", "9", "127.0.0.1", "活动名称", "备注", "随机字符串");

测试中除了sign为空。其他都可以填充。现在我们生成sign签名;根据pack对象中的参数去生成sign;

具体签名算法参看官网给出的地址:

https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=4_3

可以在这个测试页面进行对比看加密后是否一致:

https://pay.weixin.qq.com/wiki/tools/signverify/

Stringsigns = Signature.getSign(pack);//生成的signset到pack对象中pack.setSign(signs);//将对象转为xml格式 微信要求xml格式Stringxml = XmlUtil.objToXml(pack,RedPack.class,"xml");

4.发送红包

RedPackService service = new RedPacService();

String result = service.redpackOrder(xml);//请求返回的数据是否成功

RedPackService service = new RedPacService();

String result = service.redpackOrder(xml);//请求返回的数据是否成功

5.返回的xml看是否成功 由于只充值了1元 前几天已经测试发送 所以返回如下信息

100

了解详情,点击阅读原文

开源中国|ID:oschina2013

每天为你送上精选资讯早点

还有每天的 OSChina 乱弹哦

java 红包接口_微信支付中微信红包的接口测试,Java版本相关推荐

  1. java怎么调用支付接口测试_微信支付中微信红包的接口测试,Java版本

    需要有认证的公众号,且开通了微信支付,商户平台且开通了现金红包的权限即可. 商户登陆地址:https://pay.weixin.qq.com选择查看营销中心的现金红包. 现金红包的官网文档说明: ht ...

  2. java 银联接口_银联支付接口整合开发(java)

    一.环境1.Eclipse Juno R22. Tomcat 73. Jersey 2.7 下载地址(https://jersey.java.net/download.html)二.流程1.Eclip ...

  3. asp php微信支付,Asp微信支付接口代码 微信中生成订单后可以直接调出微信钱包直接付款_随便下源码网...

    Asp微信支付接口代码 微信中生成订单后,可以直接调出微信钱包直接付款 软件介绍: 众所周到,目前微信支付已经十分普及,无论是商场.超市.网站上,微信支付的发展十分迅速,而ASP版微信支付在微信公众平 ...

  4. python 微信支付 小程序红包 发放红包接口

    python 微信支付 小程序红包 发放红包接口 文章目录 python 微信支付 小程序红包 发放红包接口 前言 一.官方文档 二.使用步骤 1.引入,直接复制粘贴以下代码,新建wx_pay.py ...

  5. php微信商务平台 红包调用,微信平台红包接口怎么调用?微信支付商户平台红包发放接口调用图文教程[多图]...

    微信平台红包接口怎么调用?估计很多商家都还不太会操作吧?别着急,下面是友情小编搜集相关资料整理出来的微信支付商户平台红包发放接口调用图文教程,希望可以帮到大家,现在就跟随小编一起看看吧!!! 首先,商 ...

  6. Java中的微信支付(1):API V3版本签名详解

    1. 前言 最近在折腾微信支付,证书还是比较烦人的,所以有必要分享一些经验,减少你在开发微信支付时的踩坑.目前微信支付的 API 已经发展到V3版本,采用了流行的 Restful 风格. 微信支付V2 ...

  7. 微信支付、微信公众号接口认证方案

    1 微信公众号接口认证方案 1.1 认证流程 安全API接口认证方案 流程图模板_ProcessOn思维导图.流程图​www.processon.com/view/link/636e05a21e085 ...

  8. 微信小程序-JAVA实现微信支付功能(微信支付2.0)

    微信小程序-JAVA实现微信支付功能(微信支付2.0) 一.前言 本博客主要介绍JAVA后台与微信小程序(UNI-APP或者原生微信小程序)的微信支付的实现,如果是APP或者H5的开发暂时不支持,具体 ...

  9. 微信支付推出限量红包封面 两大途径赢取

    距离农历新年还有不足10天,年味越来越浓.微信支付特别定制虎年生肖红包封面,由新朋友"虎豆妞"为用户送上真挚祝福.这款红包封面将从1月22日起限量发放,用户通过"微信支付 ...

最新文章

  1. ubuntu root默认密码(初始密码)
  2. modeler java堆空间,JVM|02内存模型
  3. 【重磅直播预告】IDC提效分享
  4. asp.net 分页控件
  5. ES6 Proxy和Reflect (上)
  6. 【java】java 使用 jmap 工具 DebuggerException
  7. java 代码块同步,Java 同步代码块
  8. (十二) 简单使用 Dockerfile 保留字指令,尝试自定义centos镜像
  9. pythonnumpy安装教程_NumPy环境安装配置
  10. 跨国族群布里亚特的特殊“年味儿”
  11. 中国房地产泡沫规模巨大将载入历史 面临崩溃风险
  12. bootstrap常用样式整理
  13. Java进阶(四)多态
  14. JQuery选择器语法
  15. 深入探索Android内存优化(炼狱级别)
  16. 苏泊尔搭载华为鸿蒙系统,苏泊尔小C主厨料理机体验:华为鸿蒙系统加持,融汇多种功能...
  17. 互联网企业安全高级指南读书笔记之基础安全措施
  18. “飞思卡尔”杯智能车设计与实践
  19. 【日记】c# 读取网页json数据
  20. PCB加工文件—Gerber文件的导出

热门文章

  1. vmware虚拟机ubuntu20.04网络网卡检测失败,ifconfig的ip错误,且网络连接不了
  2. cv基础学习篇(一)
  3. 虹膜识别之虹膜位置检测与定位(基于opencv传统算子)
  4. MT8788 Android11 修改默认字体,字体大小和像素密度
  5. 选择服务器租用托管机房的关键
  6. 用孔子装爹学习java三大特性之多态
  7. PHP 导入导出excel、csv百万数据到数据库
  8. 【项目优化01】使用Git管理项目及使用redis缓存短信验证码,菜品以及套餐数据
  9. 计算机学院2022级新生周赛(一)题解
  10. 史上最强数据分析学习笔记(附思维导图),没有之一!!!