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

VSCode玩转STM32:手把手教你配置EIDE插件与OpenOCD调试(附野火DAP配置文件详解)

本文详细介绍了如何在VSCode中配置EIDE插件与OpenOCD进行STM32开发,特别针对野火DAP调试器提供了配置文件详解。从基础环境搭建到深度调试技巧,帮助开发者高效完成STM32项目开发,实现现代化嵌入式开发工作流。

weixin_26905487的博客 552

Unity集成抖音小游戏:从IL2CPP配置到SDK接入全流程解析

本文详细解析了使用Unity开发抖音小游戏的完整流程。从关键的IL2CPP编译后端配置、PlayerSettings设置,到StarkSDK的接入与资源优化(如AutoStreaming),再到激励视频广告、录屏分享等核心功能的代码实现,提供了从环境准备到打包上传的全方位实战指南,帮助开发者高效完成技术适配。

weixin_27943395的博客 689

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

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

weixin_31210347的博客 717

DESeq2实战:利用LRT检验解析时间序列基因表达动态变化

本文详细介绍了如何使用DESeq2中的LRT检验分析时间序列基因表达数据,揭示基因表达动态变化模式。通过构建完整模型与简化模型比较,LRT检验能有效识别处理效应随时间变化的基因,适用于发育过程、疾病进展等研究。文章提供了从数据准备、模型构建到结果可视化的完整实战指南,并分享了高级技巧与常见问题排查方法。

weixin_29062671的博客 439

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

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

weixin_39800112的博客 382

基于Simulink的双PMSM差速驱动转矩同步控制建模示例

本文详细介绍了基于Simulink的双永磁同步电机(PMSM)差速驱动转矩同步控制建模方法。针对AGV/叉车等双电机独立驱动系统的转矩不同步问题,提出主从式+交叉耦合控制策略,在Simulink中实现直线行驶、90°转弯和单轮打滑恢复三种工况的仿真验证。通过动力学建模、参数差异设置、同步误差定义及控制律设计,最终实现同步误差<3%、转弯半径跟踪误差<5%、打滑后100ms内恢复的性能指标。文章特别强调了实际工程中的参数标定、通信同步和故障处理要点,并提供了完整的Simulink建模步骤和工具箱使

xiaoheshang_123的博客 203

揭秘 C++ 性能优化的终极秘籍,让你面试时应答如流

VTune Amplifier 是英特尔开发的一款强大的性能分析工具,它可以深入分析应用程序在英特尔架构上的性能瓶颈。功能特点全面的分析视角:提供了多种分析模式,如热点分析、线程分析、内存分析等。热点分析模式能快速定位程序中最耗时的代码段;线程分析模式可帮助开发者了解多线程程序中线程的执行情况、同步开销等;内存分析模式则专注于内存访问的性能,包括缓存命中率、内存带宽使用等。硬件层面的洞察:能够深入到硬件层面,分析 CPU 的微架构指标,如指令级并行度、流水线停顿等。

大模型大数据攻城狮的专栏 1148

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

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

weixin_42223120的博客 331

【以太网硬件九】1000base-X是什么?

简要描述1000base-X物理层规范

highman110的博客 1万+

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

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

weixin_39832628的博客 344

锁的艺术:Java并发中的常用锁策略与实践

对java锁相关内容进行整理分析:乐观锁 VS 悲观锁+自旋锁 VS 适应性自旋锁+无锁 VS 偏向锁 VS 轻量级锁 VS 重量级锁+公平锁 VS 非公平锁+可重入锁 VS 非可重入锁+独享锁 VS 共享锁

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 171万+

【WRF理论第十五期】WPS中输入geogrid二进制格式

WPS中输入geogrid二进制格式

WW、forever的博客 1078

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

出处: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

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

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

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

weixin_27283495的博客 666

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

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

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

蔡龙的技术交流站 5211

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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、付费专栏及课程。

余额充值