springboot集成微信支付普通商户版之付款码支付


springboot集成微信支付普通商户版之付款码支付


一、说明
通过引入依赖实现微信支付,是非常方便的,因为SDK已经封装了很多公共的操作,比如签名sign等;以前还会因为字段排序等问题导致签名错误,使用该SDK可以规避此类问题。

巨坑!!!请留意:如果是新开的微信商户号,设置API密钥一定要设置两遍,否则会大概率出现“签名错误”。

二、准备参数
1.appid:登陆微信公众平台获取,是申请微信支付时对应公众号的appid;
在这里登陆微信插入图片描述
2.mch_id:商户id,登陆微信商户平台获取
在这里插入图片描述
3.商户key(API密钥);设置后不能查看,只能重置,所以要保存好,如果是已经设置过了,重置要注意影响范围
在这里插入图片描述

三、开发步骤
1.在pom.xml中引入依赖

<dependency>
  <groupId>com.github.wxpay</groupId>
  <artifactId>wxpay-sdk</artifactId>
  <version>0.0.3</version>
</dependency>

2.在MyWechatpayConfig类实现sdk中的WXPayConfig(注意:以下配置要改为自己的)

public class MyWechatpayConfig implements WXPayConfig {

   //appid
   public String getAppID() {
      return "wx112324223";
   }

   //商户号
   public String getMchID() {
      return "156988272323";
   }

   //API密钥
   public String getKey() {
      return "112233344566788754432dfdkjjhjkjd";
   }

   public InputStream getCertStream() {
      return null;
   }

   public int getHttpConnectTimeoutMs() {
      return 8000;
   }

   public int getHttpReadTimeoutMs() {
      return 10000;
   }
}

3.主体报文逻辑如下

  /**
    * 付款码支付
    * @param request
    */
   public void weChatPayMicroPay(HttpServletRequest request) throws Exception {

      MyWechatpayConfig myWechatpayConfig = new MyWechatpayConfig();
      //获取配置
      WXPay wxPay = new WXPay(myWechatpayConfig);
      //组装参数
      Map<String,String> requestData = new HashMap<String, String>();
      requestData.put("body","你的标语");
      requestData.put("out_trade_no","商户系统内部订单号");
      requestData.put("total_fee","订单总金额,单位为分,只能为整数");
      requestData.put("spbill_create_ip",getIpAddress(request));
      requestData.put("auth_code","付款码");
      //发起支付
      Map<String, String>  mapBack = wxPay.microPay(requestData);
      if("SUCCESS".equals(mapBack.get("return_code"))){
         if("SUCCESS".equals(mapBack.get("result_code"))){
            //支付成功,处理业务


         }else{
            System.out.println("接口异常信息====="+mapBack.get("err_code_des"));
         }
      }else{
         System.out.println("通信异常信息====="+mapBack.get("return_msg"));
      }

   }

了解更多资讯,请关注此公众号!!!
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值