springboot项目之小程序企业微信支付

小程序企业微信支付

老样子这块东西和推送其实也差不多,都是小程序的后台接口,为什么会涉及到企业微信支付,是因为有抢红包的功能,虽然说这个抢红包的功能可能不是十全十美。但是我觉得有必要记录一下关于小程序企业支付这一块,还是贴代码吧,大多都是代码有问题的地方会具体解。
1、支付业务代码


	SortedMap<Object, Object> packageParams = new TreeMap<Object, Object>();
	//微信公众号的appid
	packageParams.put("mch_appid", MCH_APPID);
	//商务号
	packageParams.put("mchid", MCHID);
	//随机生成后数字,保证安全性
	packageParams.put("nonce_str", WxPayUtil.create_random_str());
	//生成商户订单号
	packageParams.put("partner_trade_no", WxPayUtil.create_random_str());
	// 支付给用户openid(每一个用户登录小程序都会产生一个codeId然后用这个codeId可以换取openId,具体方法在推送的文章已经讲过了,就不在多啰嗦了)
	packageParams.put("openid", wxUserBandEntity.getOpenId());
	//是否验证真实姓名呢
	packageParams.put("check_name", "NO_CHECK");
	//收款用户姓名
	packageParams.put("re_user_name", mUserId);
	//企业付款金额,单位为分
	packageParams.put("amount", amount);
	//企业付款操作说明信息。必填。
	packageParams.put("desc", "红包雨活动");
	//调用接口的机器Ip地址 设为固定
	packageParams.put("spbill_create_ip", "127.0.0.1");
	logger.info("打印签名参数" + packageParams.toString());
	//生成签名
	String signString = WxPayUtil.creatSign("utf-8", packageParams);
	//封装退款对象
	packageParams.put("sign", signString);
	//将map转化为xml
	String reuqestXml = XmlUtil.getRequestXml(packageParams);
	logger.info("xml格式化的参数::----    " + reuqestXml);
	
	try {
		String weixinPost = ClientCustomSSL.doWxPayClient(WX_URL, reuqestXml);
		logger.info("打印返回接口" + weixinPost);
		//7.0 解析返回的xml数据
		CorporatePaymentResultEntity corporatePaymentResultEntity = XmlUtil.xmlToBean(weixinPost, CorporatePaymentResultEntity.class);
		//保存抢红包的用户信息
		redEnvelopedRainInfoEntity.setGrabTime(new Date());
		redEnvelopedRainInfoEntity.setMUserId(mUserId);
	
		if ("SUCCESS".equalsIgnoreCase(corporatePaymentResultEntity.getResult_code()) && "SUCCESS".equalsIgnoreCase(corporatePaymentResultEntity.getReturn_code())) {
			//8表示退款成功
			//TODO 执行成功付款后的业务逻辑
			//return successPayMoneyByBankCard(submitMoney,cmms_amt,enterpriceToCustomerByCard,applyId,companyId);
			//这个地方是支付成功之后的后续逻辑,比如保存支付信息,保存支付业务,等等具体看自己的需求
			logger.info("企业支付成功");
		} else {
			//2表示失败
			//9 表示退款失败
			//TODO 调用service的方法 ,存储失败提现的记录咯
			//failToPayMoneyByBankCard(enterpriceToCustomerByCard,applyId);
			//这个地方是支付失败之后的后续逻辑,比如记录订单重新发送等等
			logger.info("企业支付失败");
	
		}
	
	} catch (Exception e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	
	}
	

以上的代码是具体的支付业务调用代码,然后看一下小程序接口文档–企业支付

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
小程序微信支付在Spring Boot中的实现可以参考以下步骤: 1. 开发前提:需要获取微信支付商户号、小程序的AppID以及商户密钥等信息。 2. 配置支付回调地址:支付回调地址是微信支付服务器返回给用户支付信息的地址,可以根据需要进行配置。 3. 签约微信支付产品:根据实际需求,可以选择签约不同的微信支付产品,例如JSAPI支付、Native支付小程序支付、付款码支付、刷脸支付等。 4. 使用Spring Boot进行开发:可以使用Spring Boot的相关框架和工具,如Spring MVC、RestTemplate等,来实现与微信支付接口的交互。 5. 配置微信支付接口信息:在应用的配置文件中,配置微信支付接口的相关信息,包括商户号、AppID、商户密钥等。 6. 实现支付功能:根据微信支付接口文档,使用相关的API和参数,编写代码实现小程序微信支付功能。 以上是一个简单的步骤示例,具体的实现细节还需要根据具体的场景和需求来进行调整。希望对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [springboot 小程序微信支付](https://blog.csdn.net/weixin_40918145/article/details/128339151)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Spring Boot中的微信支付小程序)](https://blog.csdn.net/weixin_43248862/article/details/124921202)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值