java调用微信现金红包接口的心得与体会

【微信支付】springboot-java接入微信支付-JSAPI支付/查单/退款/发送红包(四)---发送红包 在发放现金红包之前,请确保你的资金充足。操作路径:【登录商户平台——>交易中心——>资金管理——>充值】和红包相关的参数,你可以在页面上自主设置和更改。操作路径如下:【登录商户平台——>产品中心——>现金红包——>产品设置】在使用现金红包之前,请前往开通现金红包功能。操作路径:【登录微信支付商户平台——>产品中心——>现金红包——>开通】至此,整个微信支付的教程基本结束了,如果有小伙伴有其他问题,欢迎留言或者私信。商户调用微信红包接口时,微信支付服务器会进行证书验证,请现在商户平台下载证书。 阅读详情

这几天看了下之前写的有关微信支付的博客,看的人还是挺多的,看了下留言不知道是因为博客写的不够细还是什么情况,大多都找我要源码,我觉得吧程序员还是需要有这么一个思考的过程,因此没直接给源码,俗话说“授人以鱼不如授人以渔”。因此希望看文章的同时也花一点时间自己亲自敲一敲代码。好了废话不多说这次来分享微信现金红包接口的使用。

下面是微信开发文档对现金红包的介绍:

现金红包,是微信支付商户平台提供的营销工具之一,上线以来深受广大商户与用户的喜爱。商户可以通过本平台向微信支付用户发放现金红包。用户领取红包后,资金到达用户微信支付零钱账户,和零钱包的其他资金有一样的使用出口;若用户未领取,资金将会在24小时后退回商户的微信支付账户中。

产品意义

微信支付现金红包因资金的承载方式为现金,一直以来深受用户的青睐,近年来的春晚中,现金红包都扮演着重要的角色;在日常运营中也为商户的营销活动带来热烈的反响。总的来说,现金红包在包括但不仅限于以下场景中发挥着重要意义:

    • ◆ 为企业拉取新用户、巩固老用户关系、提升用户活跃度
    • ◆ 结合巧妙的创意点子,辅以红包点缀,打造火爆的活动,提升企业与品牌知名度
    • ◆ 结合企业运营活动,以红包作为奖品,使你的抽奖、满送等营销活动更便利进行
    • ◆ 同时,除了营销之外,现金红包在企业日常的运营中也扮演着重要角色。如:为员工返福利、为供应商返利、会员积分/虚拟等级兑现等等
综上所述微信现金红包是一种营销工具,可以通过关注公众号、注册等给用户发放增加用户粘性。这次着重从程序开发方面分享我的心得体会


一  使用微信现金红包功能需具备的条件

1 拥有微信商户平台且秘钥证书齐全

2 商户平太需要有足够的余额可供使用(不够可以从商户平台使用财付通充值)

3 有微信支付开发基础更佳


二 开发的重点和难点

1 微信签名算法

2 httpclient以及证书的使用

3 微信文档的阅读(https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3)

如果有微信h5支付或扫码支付的童鞋看这一部分的文档可以说是小菜一碟,理解起来不费吹灰之力,同时只要掌握httpclient的知识就万事俱备了


三  直接撸代码


public static void sendRedPack(String mch_billno,String openId,String send_name,String total_fee,String total_num,String wishing,String act_name,String remark,String ip) throws Exception{
		String non=PayCommonUtil.CreateNoncestr();
		SortedMap<Object, Object> p = new TreeMap<Object, Object>();
		p.put("nonce_str", non);
		p.put("mch_billno", mch_billno);
		p.put("mch_id", ConfigUtil.MCH_ID);
		p.put("wxappid", ConfigUtil.APPID);
		p.put("re_openid", openId);
		p.put("total_amount", total_fee);
		p.put("total_num", "1");
		p.put("client_ip", "127.0.0.1");
		p.put("act_name",act_name);
		p.put("send_name", send_name);
		p.put("wishing", wishing);
		p.put("remark",remark);
		
		

		String sign = PayCommonUtil.createSign("UTF-8", p);
		System.out.println(sign);
		p.put("sign", sign);
		
		
		String reuqestXml = PayCommonUtil.getRequestXml(p);
		KeyStore keyStore = KeyStore.getInstance("PKCS12");
		FileInputStream instream = new FileInputStream(new File(ConfigUtil.CERT_PATH));
		try {
			keyStore.load(instream, ConfigUtil.MCH_ID.toCharArray());
		} finally {
			instream.close();
		}

		SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore,
				ConfigUtil.MCH_ID.toCharArray()).build();
		SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
				sslcontext, new String[] { "TLSv1" }, null,
				SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
		CloseableHttpClient httpclient = HttpClients.custom()
				.setSSLSocketFactory(sslsf).build();
		try {

			HttpPost httpPost = new HttpPost("https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack");// 退款接口
			
			httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			
			System.out.println("executing request" + httpPost.getRequestLine());
			//请求的xml需转码为iso8859-1编码,否则易出现签名错误或红包上的文字显示有误
			StringEntity reqEntity = new StringEntity(new String(reuqestXml.getBytes(), "ISO8859-1"));
			// 设置类型
		
			httpPost.setEntity(reqEntity);
			CloseableHttpResponse response = httpclient.execute(httpPost);
			try {
				HttpEntity entity = response.getEntity();

				System.out.println("----------------------------------------");
				System.out.println(response.getStatusLine());
				if (entity != null) {
					System.out.println("Response content length: "
							+ entity.getContentLength());
					BufferedReader bufferedReader = new BufferedReader(
							new InputStreamReader(entity.getContent(), "UTF-8"));
					String text;
					while ((text = bufferedReader.readLine()) != null) {
						System.out.println(text);
					}

				}
				EntityUtils.consume(entity);
			} finally {
				response.close();
			}
		} finally {
			httpclient.close();
		}
	}

需要注意的地方是下面这里:

//请求的xml需转码为iso8859-1编码,否则易出现签名错误或红包上的文字显示有误
StringEntity reqEntity = new StringEntity(new String(reuqestXml.getBytes(), "ISO8859-1"));


这个地方可以说把我弄得差点崩溃了各种试,各种调试还是抱着试一试的心态加上去就OK了,这个可能是因为httpclient和原生的HttpsConnection在数据传输上的不同吧。这里没做过多的研究。


调用这个方法就更简单了直接像下面这样

public static void main(String args[]){
		try {
			
			sendRedPack("12828839012016101420","接收者的openid","xxx","100","1","恭喜发财,年年有余","新年红包","新年红包还不快抢","127.0.0.1");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
}
红包发送后打印的信息如下:

TTP/1.1 200 OK
Response content length: 567
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[发放成功]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[SUCCESS]]></err_code>
<err_code_des><![CDATA[发放成功]]></err_code_des>
<mch_billno><![CDATA[12828839012016101421]]></mch_billno>
<mch_id><![CDATA[1282883901]]></mch_id>
<wxappid><![CDATA[xxxxx]]></wxappid>
<re_openid><![CDATA[xxxx]]></re_openid>
<total_amount>100</total_amount>
<send_listid><![CDATA[1000041701201610143000090813093]]></send_listid>
</xml>




小程序开发:2025最新微信支付中商家转账接口实现收红包功能 最近在开发一个红包的小程序项目,要求就是能够像微信一样发布答题、语音口令红包、文字口令红包,下单后能够生成海报并且用户扫码登录后答对题目或者说对语音口令来做到领取红包直接到账微信的零钱。因为微信的企业付款到零钱的接口不是谁都可以使用的,但是目前来说商家转账功能是只要开通就会通过的,所以我们来通过目前红包小程序项目为基础来介绍一下商家转账的接口如何使用。 阅读详情

相关推荐

java实现微信红包发放

java实现微信红包发放,根据微信用户的openid进行发放普通红包

微信支付商家转账到零钱&商家红包开通流程

商家转账到零钱作为企业营销运营的重要工具,能够帮助商家灵活快捷,安全的向用户转账,提升企业运营转账效率。商家转账到零钱可用于现金营销、分销返佣、行政补贴、行政奖励、保险理赔、佣金报酬、企业报销、企业补贴、服务款项、采购货款等向个人转账的场景。●申请开通需要根据自身企业需求,申请对应的场景,在开通申请环节,需提交转账场景证明材料,并签订转账场景真实性承诺函。一个商户号单日转账最高额度默认10万元,如需更改额度可申请提高,最高100万。向用户转账场景:现金营销、分销返佣、行政补贴、行政奖励、报销理赔。

wyjn3502的博客 2013

微信抢红包java代码及demo和说明(收集待学习)

微信抢红包java代码及demo和说明

微信支付商户号商家转账到零钱&现金红包如何开通

微信作为现在用户群体最大的社交工具,自然也就成了众多商家做活动的首选渠道。企业付款到零钱作为商家营销必不可少的工具,开通起来却还是比较费劲的。开通条件:1,商户号需入驻90天;2,需要有连续30天的交易流水(截止今日回推30天);3,健康交易(顾名思义不能是异常的刷流水交易);抛开90天的时间限制不说,单就第三条健康交易流水,可能也就会卡住一批商家没办法最终完成功能开通操作,因为有些交易可能就是涉嫌异常交易了。如果对于商家时间紧迫需要紧急上线的情况来说就更煎熬了。那么遇到时间紧迫或者无法完成健康交易流水的情

wyjn3502的博客 1万+

微信公众号现金红包java版

微信公众号现金红包java版微信公众号现金红包java版微信公众号现金红包java版微信公众号现金红包java版

支付宝app登入授权,现金红包

java接入支付宝现金红包以及登入授权,包含:支付宝加签下单,回调验签,登入加签,通过authCode获取userCode,退款,查询,打款,下载用户需要在appClient增加自己的appid,privatekey,alipublickey,pid,框架使用springboot,直接运行application就可以测试啦~~~

微信商户号--现金红包

微信红包发放

fly_song的博客 1614

java调用微信现金红包接口的心得与体会总结

主要介绍了java调用微信现金红包接口的心得与体会总结,有需要的朋友可以了解一下。

微信支付现金红包,微信网页授权 - Java 开发

快速上手微信支付之现金红包

BigBanana的博客 1930

数据结构——滑动窗口

入:下标为 i 的元素进入窗口,更新相关统计量。如果 i < k−1 则重复第一步更新:更新答案。一般是更新最大值 / 最小值出:下标为 i−k+1 的元素离开窗口,更新相关统计量✔1. 定长子串中元音的最大数目✔2. 找到一个数字的 K 美丽值✔4. 子数组的最大平均数 |方法一:前缀和方法二:滑动窗口7. 得到 K 个黑块的最少涂色次数8. 爱生气的书店老板9. 几乎唯一子数组的最大和10. 长度为 K 子数组中的最大和11. 可获得的最大点数12. 最少交换次数来组合所有的1 ||

qq_68915288的博客 762

VTK基础教程(1)- vtkPolyData 介绍

目录 VTK的编译与环境搭建 VTK一般渲染流程 VTK数据类型-vtkPolyData 使用vtk自带的多边形数据 使用自己创建的数据 添加顶点颜色 添加面颜色 VTK的编译与环境搭建 这部分目前已经有了大佬做了成熟的傻瓜式配置,大家可以参考这篇文章:VTK+VS2019(或其他版本均可) 傻瓜式一站式 配置_Nancy_fairy的博客-优快云博客_vs2019 vtk VTK一般渲染流程 这部分的介绍也很多,大家可以参考这篇文章:VTK笔记-了解VTK_黑山老妖的博客.

qq_35769071的博客 9053

java调用微信红包接口_java调用微信现金红包接口的心得与体会

这几天看了下以前写的有关微信支付的博客,看的人仍是挺多的,看了下留言不知道是由于博客写的不够细仍是什么状况,大多都找我要源码,我以为吧程序员仍是须要有这么一个思考的过程,所以没直接给源码,俗话说“授人以鱼不如授人以渔”。所以但愿看文章的同时也花一点时间本身亲自敲一敲代码。好了废话很少说此次来分享微信现金红包接口的使用。php下面是微信开发文档对现金红包的介绍:java现金红包,是微信支付商户平台提...

weixin_31210347的博客 717

【Claude Code】Claude Code 使用指南

本文介绍了AI编码助手Claude的基础和进阶操作指南。基础部分涵盖启动命令、模式切换(自动编辑/Plan/Yolo模式)、资源监控等核心功能,重点讲解了斜杠命令的使用方法。进阶操作详细说明了CLAUDE.md文件的创建与管理,包括项目规范、代码风格等内容的配置,以及如何通过该文件建立持久上下文。同时提醒了使用过程中的安全风险,建议通过配置文件限制AI对关键代码的访问权限。全文提供了完整的操作指引和安全建议,帮助开发者高效安全地使用Claude进行编码辅助。

大家好,我是敖云岚,一个沉迷代码的 “技术玩家”。擅长 Java、C++ 开发,对 MySQL、Redis、RabbitMQ 等技术也颇有研究。博客里既有硬核技术干货,也有诙谐幽默的编程日常分享。愿和你一起,笑着学技术,快乐敲代码! 1万+

微信红包接口 java_java调用微信现金红包接口的心得与体会总结

这几天看了下之前写的有关微信支付的博客,看的人还是挺多的,看了下留言不知道是因为博客写的不够细还是什么情况,大多都找我要源码,我觉得吧程序员还是需要有这么一个思考的过程,因此没直接给源码,俗话说“授人以鱼不如授人以渔”。因此希望看文章的同时也花一点时间自己亲自敲一敲代码。好了废话不多说这次来分享微信现金红包接口的使用。下面是微信开发文档对现金红包的介绍:现金红包,是微信支付商户平台提供的营销工具之...

weixin_39800112的博客 382

在Windows11下安装完Ubuntu20.04双系统后配置环境的过程

在Windows11下安装完Ubuntu20.04双系统后配置环境的过程 1.NVIDIA驱动检测及安装 2.Anaconda的安装 3.安装cuda、cudnn、pytorch 4.其他报错

aaaccc444的博客 2423

Ubuntu 24.04 高效部署Slurm集群:从零到生产环境实战

本文提供了一份在Ubuntu 24.04 LTS系统上从零开始部署生产级Slurm高性能计算集群的完整实战指南。内容涵盖网络配置、Munge安全认证、Slurm核心组件安装与配置,并深入讲解了cgroups资源隔离、NFS共享存储、配置无感知模式等生产环境优化技巧,最后通过实例演示如何提交与管理Slurm作业,帮助用户构建高效、稳定的计算平台。

weixin_29213655的博客 564

java 红包接口开发_java调用微信现金红包接口的心得与体会总结

这几天看了下之前写的有关微信支付的博客,看的人还是挺多的,看了下留言不知道是因为博客写的不够细还是什么情况,大多都找我要源码,我觉得吧程序员还是需要有这么一个思考的过程,因此没直接给源码,俗话说“授人以鱼不如授人以渔”。因此希望看文章的同时也花一点时间自己亲自敲一敲代码。好了废话不多说这次来分享微信现金红包接口的使用。下面是微信开发文档对现金红包的介绍:现金红包,是微信支付商户平台提供的营销工具之...

weixin_42223120的博客 331

Vivado Schematic视图实战:从RTL分析到布局布线,如何用它快速定位设计问题(附2019.1版操作)

本文深入解析Vivado Schematic视图在FPGA设计中的关键作用,从RTL分析到布局布线全流程,帮助工程师快速定位设计问题。通过三重视图对比、高效调试四步法和高级技巧,提升问题排查效率,缩短调试时间。文章结合2019.1版操作指南和实战案例,展示如何利用Schematic视图解决典型设计问题。

weixin_30591551的博客 488

java接口与实现小结,java调用微信现金红包接口的心得与体会总结

这几天看了下之前写的有关微信支付的博客,看的人还是挺多的,看了下留言不知道是因为博客写的不够细还是什么情况,大多都找我要源码,我觉得吧程序员还是需要有这么一个思考的过程,因此没直接给源码,俗话说“授人以鱼不如授人以渔”。因此希望看文章的同时也花一点时间自己亲自敲一敲代码。好了废话不多说这次来分享微信现金红包接口的使用。下面是微信开发文档对现金红包的介绍:现金红包,是微信支付商户平台提供的营销工具之...

weixin_39832628的博客 344

Facebook登录协议逆向实战:从加密参数到完整流程解析(附Python代码)

本文深入解析了Facebook登录协议的逆向工程实战,详细拆解了从关键加密参数(如`lgndim`、`encpass`)定位到完整登录流程的实现。文章提供了Python代码示例,重点阐述了加密逻辑的深度解析、加密函数的本地化实现,并解决了Crypto.js异步调用等常见问题,为研究Web安全和协议逆向的开发者提供了实用参考。

metal的博客 1310

【C语言笔记初级篇】第一章:C语言快速入门及注意事项

(1)第一个C语言程序 A:利用vs2010写C语言程序 1:按以下步骤新建工程 2:添加源文件,“.c”文件 B:第一个C语言代码 1:以下是基本的C语言程序 2:由于没有设置连接器,所以打印结果没有显示,按照如下步骤链接控制台 (2)数据类型 A:基本数据类型及占用字节 B:一些概念的梳理 概念一:关于计算机的单位 位(bit):计算机通过电路的开关和闭合处理信息,电路通...

快乐江湖的博客 3737

春晚微信红包,是怎么扛住一百亿次请求的

出处:http://www.infoq.com/cn/articles/weixin-bonus-load?utm_source=infoq&utm_medium=popular_widget&utm_campaign=popular_content_list&utm_content=homepage 编者按 “大牛V课堂”是Geekbang核心栏目,通过邀约专业领域内的互联网顶级大牛

j15398699939的专栏 1348

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java发红包功能_java封装发送微信红包API功能。

WeChatRedPackjava封装发送微信红包API功能。1、目前支持两种红包类型普通裂变2、目前对微信红包api的发送增加了金额校验,暂时未对发送频率做限制,后期会使用redis进行限制。3、使用简单粗暴,调用者只需要关心返回结果成功or失败,整个调用过程是透明化,有问题请联系作者:Sam 。##使用方法 1、下载使用maven install 安装到本地or远程私服仓库,在自己项目pom添...

weixin_27283495的博客 666

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

微信开发-发放普通红包(java代码实例)

一、介绍 前一阵子做了个微信发放普通红包的功能,在这记录下开发思路 二、微信官网 https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3 三、发放规则与注意事项 发放规则: 发送频率限制------默认1800/min 发送个数上限------按照默认1800/min算...

蔡龙的技术交流站 5211

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java模拟微信发红包,一看就会

自2014年1月26日悄悄上线后,微信红包迅速流行开来,其火爆程度,不亚于此前的“打飞机”小游戏。而收到红包后想要提现,就必须绑定银行卡,这样一来,绑定微信支付的用户数量大增。

iiiiiiiice的博客 1707

Java微信开发之现金红包接口

1、接口文档 https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_5 2、证书下载及证书安装 首先,商户调用微信红包接口时,服务器会进行证书验证,所以要在商户平台下载证书。在管理后台的“账户信息”里找到“安全设置”就可以下载了证书了。 商户平台:...

weixin_33757911的博客 681
上一篇: Java微信支付之公众号支付、扫码支付
下一篇: centos上的mongodb定时备份
青蛙小王子
博客等级 码龄16年 239粉丝 311原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值