微信支付

微信支付

  1. 前台传递商品id、价格到后台生成二维码Controller。
  2. 后台封装商户信息(map=>xml),发送至官方,获取支付连接(xml=>map),发送至前端。
  3. 前端收到支付连接,生成支付二维码。
  4. 前端携带订单编号到后台,检测支付状态。
  5. 后端封装商户信息(map=>xml),循环发起请求询问是否支付成功,返回结果集。
  6. 前端收到支付状态,执行相应的订单操作。

1.公众号基本参数

public class PayConfig {
   
	//企业公众号ID
	public static String appid = "wx???";
	// 财付通平台的商户帐号
	public static String partner = "???";
	// 财付通平台的商户密钥
	public static String partnerKey = "???";
	// 回调URL
	public static String notifyurl =
	"http:???";
}

2.支付流程图

3. 基本工具

3.1 SDK

<dependency>
	<groupId>com.github.wxpay</groupId>
    <artifactId>wxpay-sdk</artifactId>
	<version>0.0.3</version>
</dependency>
  • 主要功能
  1. 获取随机字符串:生成订单编号
WXPayUtil.generateNonceStr();
  1. map、xml相互转换
 //生成数字签名:map->xml
String xml = WXPayUtil.generateSignedXml(mm, PayConfig.partnerKey);
//xml->map
 Map<String, String> resultMap = WXPayUtil.xmlToMap(result);

3.2 JFinal 框架

  • 取代HttpClient
<!--依赖引入-->
<dependency>
	<groupId>com.jfinal</groupId>
	<artifactId>jfinal</artifactId>
	<version>3.5</version>
</dependency>
  • 发送请求
//url微信官方地址、xml为商户信息的数字签名
HttpKit.post(url, xml);

4.支付流程

4.1 前端二维码生成

  • 二维码显示
<!-- 微信支付二维码-->
<el-dialog :visible.sync="dialogFormVisible" style="width:800px;margin:0px auto;" >
   <h1 style="font-size:30px;color:#00B38A" >微信扫一扫支付</h1>
    <!-- 二维码显示区-->
    <div id="qrcode" style="width:210px;margin:20px auto;"></div>
     <h2 id="statusText"></h2><!-- 支付文字提示-->
     <p id="closeText"></p><!-- 关闭倒计时提示-->
 </el-dialog>
  • 前台传递参数到后台,后台访问微信官方,得到支付连接。
// 生成二维码
createCode(){
   
    // 去获取支付连接
    this.axios
       get("http://localhost:80/order/createCode",{
   
       params:{
   
        courseid: this.course.id,
        coursename: this.course.courseName,
         price
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值