微信扫码支付简介 2.1 微信扫码支付申请 微信扫码支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成 支付的模式。该模式适用于 PC 网站支付、实体店单品或订单支付、媒体广告支付等场景。 申请步骤:(了解) 第一步:注册公众号(类型须为:服务号) 请根据营业执照类型选择以下主体注册:个体工商户| 企业/公司| 政府| 媒体| 其他类型。

第二步:认证公众号 公众号认证后才可申请微信支付,认证费:300元/次。 第三步:提交资料申请微信支付 登录公众平台,点击左侧菜单【微信支付】,开始填写资料等待审核,审核时间为1-5 个工作日内。 第四步:开户成功,登录商户平台进行验证 资料审核通过后,请登录联系人邮箱查收商户号和密码,并登录商户平台填写财付通备 付金打的小额资金数额,完成账户验证。 第五步:在线签署协议 本协议为线上电子协议,签署后方可进行交易及资金结算,签署完立即生效。 本课程已经提供好“传智播客”的微信支付账号,学员无需申请。 2.2 开发文档 微信支付接口调用的整体思路: 按 API 要求组装参数,以 XML 方式发送(POST)给微信支付接口(URL),微信支付接 口也是以 XML 方式给予响应。程序根据返回的结果(其中包括支付 URL)生成二维码或判 断订单状态。 在线微信支付开发文档: https://pay.weixin.qq.com/wiki/doc/api/index.html 如果你不能联网,请查阅讲义配套资源 (资源\配套软件\微信扫码支付\开发文档) 我们在本章课程中会用到”统一下单”和”查询订单”两组 API

  1. appid:微信公众账号或开放平台 APP 的唯一标识
  2. mch_id:商户号 (配置文件中的 partner)
  3. partnerkey:商户密钥
  4. sign:数字签名, 根据微信官方提供的密钥和一套算法生成的一个加密信息, 就是为了保 证交易的安全性 2.3 微信支付 SDK 微信支付提供了 SDK, 大家下载后打开源码,install 到本地仓库。 课程配套的本地仓库已经提供 jar 包,所以安装 SDK 步骤省略。 使用微信支付 SDK,在 maven 工程中引入依赖
<dependency>
  <groupId>com.github.wxpay</groupId>
  <artifactId>wxpay-sdk</artifactId>
  <version>0.0.3</version>
 </dependency>

我们主要会用到微信支付 SDK 的以下功能: (1)获取随机字符串

WXPayUtil.generateNonceStr()

(2)MAP 转换为 XML 字符串(自动添加签名)


WXPayUtil.generateSignedXml(param, partnerkey)

(3)XML 字符串转换为 MAP


WXPayUtil.xmlToMap(result)