java集成微信原路退款功能

本文介绍了如何在Java环境中集成微信的原路退款功能,详细阐述了相关步骤和关键代码,帮助开发者完成退款流程的自动化处理。
摘要由CSDN通过智能技术生成

java集成微信原路退款功能

 * 注意,微信原路退款需要操作证书,操作证书可以放在项目中,也可以放在远程服务器
     /****
	 * @param transactionID  微信订单号,就是微信支付的流水号
	 * @param outTradeNo     退款订单的订单号 ,也就是交易记录的主键
	 * @param totalFee       订单金额
	 * @param refundFee      退款金额,必须小于或等于用户实际支付的金额
	 * @param outRefundNo    订单退款的单号,也就是订单的主键
	 * @param request
	 * @param response
	 * @return   success 退款成功   error 退款失败
	 * @throws Exception
	 */
	public static String weixinRefund(String transactionID,String outTradeNo,String totalFee,String  refundFee,String outRefundNo,String appVersion,HttpServletRequest request,HttpServletResponse response) throws Exception {
        //获得微信退款操作证书当前目录
        String path =request.getSession().getServletContext().getRealPath("/");

        log.info("当前未处理微信退款买家实际支付金额展示:"+totalFee);
     
        RefundReqData  refundData= new RefundReqData();
        String   refundXml=refundData.RefundReqData(transactionID, outTradeNo, outRefundNo, new BigDecimal(totalFee).multiply(new BigDecimal(100)).intValue(), new BigDecimal(refundFee).multiply(new BigDecimal(100)).intValue(),appVersion,request, response);
        log.info("微信退款请求结果xml展示:"+refundXml);
        log.info("当前未处理微信退款买家实际支付金额转int类型展示:"+new BigDecimal(totalFee).multiply(new BigDecimal(100)).intValue());
        try {
        	WeixinRefundRequest refundRequest = new WeixinRefundRequest();
            String result = refundRequest.httpsRequest("https://api.mch.weixin.qq.com/secapi/pay/refund", refundXml, path,appVersion);
            log.info("微信退款返回结果:"+result);
            Map<String,String> getMap = WeixinMessage.parseXml(new String(result.toString().getBytes(), "utf-8"));
            if("SUCCESS".equals(getMap.get("result_code"))){ 
            	 log.info("微信订单退款原路返回成功!");
                return "success";   //退款成功
            }else{
            	 log.info("微信订单退款原路返回失败了呜呜呜!");
                //返回错误描述
                return "error";    //退款失败
            }
        }catch(Exception e){
        	 log.info("微信订单退款原路返回失败了呜呜呜!");
            e.printStackTrace();
            return "error";       //退款失败
        }
    }

    *  以上所有用到的微信相关工具类都可以去官方网站下载
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要成为码神的男人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值