java-springboot微信扫码(Native方式二)支付以及支付回调

1.使用到的jar包

	<!--微信支付 -->
	 <dependency>
	    <groupId>com.github.wxpay</groupId>
	    <artifactId>wxpay-sdk</artifactId>
	    <version>3.0.9</version>
     </dependency>

	<!--httpclient-->
	<dependency>
	    <groupId>org.apache.httpcomponents</groupId>
	    <artifactId>httpclient</artifactId>              
	</dependency>
	

2.ServiceImpl中写统一下单接口

public Map createNative(String out_trade_no, String total_fee) {
   
		// TODO 自动生成的方法存根
		Map<String,String> param=new HashMap<>();
		param.put("appid", appid);	//小程序id
		param.put("mch_id", partner);//商户号
		param.put("nonce_str", WXPayUtil.generateNonceStr());//随机字符串        
		param.put("body", "测试数据");//商品描述
		param.put("out_trade_no", out_trade_no);//商户订单号
		param.put("total_fee",total_fee);//总金额(分)
		param.put("spbill_create_ip", "127.0.0.1");//IP
		param.put("notify_url", notifyurl);//回调地址
		param.put("trade_type", "NATIVE");//交易类型
		param.put("product_id",out_trade_no);//订单
		try {
   
            //2.生成要发送的xml 
            //partnerkey 商户秘钥
            String xmlParam = WXPayUtil.generateSignedXml(param, partnerkey);
            HttpClientM client = new HttpClientM("https://api.mch.weixin.qq.com/pay/unifiedorder");
            client.setHttps(true);
            client.setXmlParam(xmlParam);
            client.post();        
            //3.获得结果 
            String result = client.getContent();
            System.out.println(result);
            Map<String, String> resultMap = WXPayUtil.xmlToMap(result);            
            Map<String, String> map=new HashMap<>();
            map.put("code_url", resultMap.get("code_url"));//二维码支付地址
            map.put("total_fee", total_fee);//总金额
            map.put("out_trade_no",out_trade_no);//订单号
            return map;
        } catch (Exception e) {
   
            e.printStackTrace();
            return new HashMap<>();
        }            
	}

上面用到的HttpClientM类

package com.pj.project.wxpay;

import java.io.IOException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.text.ParseException;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import javax.net.ssl.SSLContext;

import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;</
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值