微信支付

payintegrated-development

# 一、微信支付

微信支付中心 (opens new window)

# 支付方式

  • 付款码支付

    付款码支付是指用户展示微信钱包内的“付款码”给商户系统扫描后直接完成支付,适用于线下场所面对面收银的场景,例如商超、便利店、餐饮、医院、学校、电影院和旅游景区等具有明确经营地址的实体场所。

    开发文档 (opens new window)

  • JSAPI支付

    JSAPI支付是指商户通过调用微信支付提供的JSAPI接口,在支付场景中调起微信支付模块完成收款。

    开发文档 (opens new window)

    应用场景有:

    • 线下场所:调用接口生成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付;

    • 公众号场景:用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付;

    • PC网站场景:在网站中展示二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付;

  • 小程序支付

    小程序支付是指商户通过调用微信支付小程序支付接口,在微信小程序平台内实现支付功能;用户打开商家助手小程序下单,输入支付密码并完成支付后,返回商家小程序。

    开发文档 (opens new window)

  • Native支付

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

    开发文档 (opens new window)

    与JSAPI支付-PC网站使用相比,该方式扫码二维码后直接付款,金额已明确。

  • APP支付

    APP支付是指商户通过在移动端应用APP中集成开放SDK调起微信支付模块来完成支付。适用于在移动端APP中集成微信支付功能的场景。

    开发文档 (opens new window)

  • 刷脸支付

    刷脸支付是指用户在刷脸设备前通过摄像头刷脸、识别身份后进行的一种支付方式,安全便捷。适用于线下实体场所的收银场景,如商超、餐饮、便利店、医院、学校等。

    开发文档 (opens new window)

# 申请费用

申请接入微信支付不收取任何申请费用;

商户交易按费率收取服务费,一般与商家选择的经营类目有关,为0.6%-1%不等;

商户类目对应资质、费率、结算周期详情,请点击这里 (opens new window)

支付工具 服务名称 费率 结算周期
微信支付 单笔费率 0.6% T+1

# 二、PC网站接入微信支付

微信支付支持完成域名ICP备案的网站接入支付功能。PC网站接入支付后,可以通过JSAPI支付或Native支付,自行开发生成二维码,用户使用微信“扫一扫”来完成支付。

# 支付产品介绍

相关支付产品:JSAPI支付、Native支付

  • JSAPI支付

    JSAPI支付:商家张贴收款码物料,用户打开扫一扫,扫码后输入金额,完成付款;开发文档 (opens new window)

  • Native支付

    Native支付:商家在系统中按微信支付协议生成支付二维码,用户扫码拉起微信收银台,确认并完成付款。开发文档 (opens new window)

# 接入申请

  • 注册公众号,获取开发者ID(APPID);
  • 注册商户号,获取商户号ID、API密钥、商户API证书;

# 注册公众号

注册服务号(公众号) (opens new window)

# 注册商户号

注册微信支付商户号 (opens new window)

申请材料准备

注册之后商户号与公众号进行绑定。

# 开发

# 引入支付参数

# 微信支付相关参数
# 商户号
wxpay.mch-id=1558950191
# 商户API证书序列号
wxpay.mch-serial-no=34345964330B66427E0D3D28826C4993C77E631F
# 商户私钥文件
wxpay.private-key-path=apiclient_key.pem
# APIv3密钥
wxpay.api-v3-key=UDuLFDcmy5Eb6o0nTNZdu6ek4DDh4K8B
# APPID
wxpay.appid=wx74862e0dfcf69954
# 微信服务器地址
wxpay.domain=https://api.mch.weixin.qq.com
# 接收结果通知地址
wxpay.notify-domain=https://7d92-115-171-63-135.ngrok.io

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Configuration
@PropertySource("classpath:wxpay.properties") //读取配置文件
@ConfigurationProperties(prefix="wxpay") //读取wxpay节点
@Data //使用set方法将wxpay节点中的值填充到当前类的属性中
public class WxPayProperties {

    // 商户号
    private String mchId;

    // 商户API证书序列号
    private String mchSerialNo;

    // 商户私钥文件
    private String privateKeyPath;

    // APIv3密钥
    private String apiV3Key;

    // APPID
    private String appid;

    // 微信服务器地址
    private String domain;

    // 接收结果通知地址
    private String notifyDomain;

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28