Teng's blog Teng's blog
首页
Java
H5前端
GitHub (opens new window)
首页
Java
H5前端
GitHub (opens new window)
  • 简介
    • 微信扫码支付
    • 使用场景&案例
    • 开发模式
    • 申请步骤
    • 开发文档
    • 支付流程
    • 微信支付SDK
  • KnowledgePoint-WeixinPay
Shetengteng
2022-01-12

简介

# 微信扫码支付

微信扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景

# 使用场景&案例

  • 场景

    • 用户扫描商户展示在各种场景的二维码进行支付
  • 使用案例

    • 线下:家乐福超市、7-11便利店、上品折扣线下店等
    • 线上:大众点评网站、携程网站、唯品会、美丽说网站等

# 开发模式

  • 模式一

    • 商户在后台给生成二维码,用户打开扫一扫
  • 模式二

    • 商户后台系统调用微信支付【统一下单API (opens new window)】生成预付交易,将接口返回的链接生成二维码,用户扫码后输入密码完成支付交易
    • 注意:该模式的预付单有效期为2小时,过期后无法支付

# 申请步骤

  • 注册公众号

    • 类型须为服务号

    • 请根据营业执照类型选择以下主体注册:个体工商户 (opens new window)| 企业/公司 (opens new window)| 政府 (opens new window)| 媒体 (opens new window)| 其他类型 (opens new window)

  • 认证公众号

    • 公众号认证后才可申请微信支付,认证费:300元/年
  • 提交资料申请微信支付

    • 登录公众平台,点击左侧菜单【微信支付】,开始填写资料等待审核,审核时间为1-5个工作日内
  • 开户成功,登录商户平台进行验证

    • 资料审核通过后,请登录联系人邮箱查收商户号和密码,并登录商户平台填写财付通备付金打的小额资金数额,完成账户验证
  • 在线签署协议

    • 本协议为线上电子协议,签署后方可进行交易及资金结算,签署完立即生效

# 开发文档

微信支付接口调用的整体思路

  • 按API要求组装参数,以XML方式发送 POST 给微信支付接口URL
  • 微信支付接口以XML方式给予响应
  • 程序根据返回的结果(其中包括支付URL)生成二维码或判断订单状态

在线微信支付开发文档

https://pay.weixin.qq.com/wiki/doc/api/index.html

配置

  • appid
    • 微信公众账号或开放平台APP的唯一标识
  • mch_id
    • 商户号 (配置文件中的partner)
  • partnerkey
    • 商户密钥
  • sign
    • 数字签名,
    • 根据微信官方提供的密钥和一套算法生成的一个加密信息, 就是为了保证交易的安全性

# 支付流程

https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_5&index=3

原生支付模式二时序图

# 微信支付SDK

示例下载

https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=11_1

添加依赖

<dependency>
    <groupId>com.github.wxpay</groupId>
    <artifactId>wxpay-sdk</artifactId>
    <version>0.0.3</version>
</dependency>
1
2
3
4
5

主要会用到微信支付SDK的以下功能

// 获取随机字符串
WXPayUtil.generateNonceStr()
// MAP转换为XML字符串(自动添加签名)
WXPayUtil.generateSignedXml(param, partnerkey)
// XML字符串转换为MAP
WXPayUtil.xmlToMap(result)
1
2
3
4
5
6
Last Updated: 2022/01/16, 11:29:51
Theme by Vdoing | Copyright © 2021-2022 Shetengteng | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式