栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java 微信公众号】微信支付 v3

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java 微信公众号】微信支付 v3

目录
  • 一、微信支付必须参数
  • 二、应用程序中引入支付参数
  • 三 、api字典概述
  • 四、native 支付流程
  • 五、内网穿透

一、微信支付必须参数

① 商务号(需要和服务号的 appid 进行绑定)

  • 服务号是微信公众号的一种
  • 服务号若想实现微信支付还需要企业认证

公众号和商务号绑定:

② AppId

③ 秘钥和证书




后续申请证书过程省略

二、应用程序中引入支付参数


apiclient_key.pem 加入应用程序中做签名
将请求进行签名,请求信息发送给微信的服务器端,微信服务端根据证书序列号找到对应的证书,证书中解密出公钥,公钥对请求进行验签

加载商户私钥文件

https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay6_0.shtml

https://github.com/wechatpay-apiv3/wechatpay-apache-httpclient

商户申请商户API证书时,会生成商户私钥,并保存在本地证书文件夹的文件apiclient_key.pem中。商户开发者可以使用方法PemUtil.loadPrivateKey()加载证书。

PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(
        new FileInputStream("/path/to/apiclient_key.pem"));

PrivateKey merchantPrivateKey = PemUtil.loadPrivateKey(
        new ByteArrayInputStream(privateKey.getBytes("utf-8")));

证书秘钥使用说明:
https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay3_0.shtml

代码:计算签名和验证签名
微信支付API v3的Apache HttpClient扩展,实现了请求签名的生成和应答签名的验证。

如果你是使用Apache HttpClient的商户开发者,可以使用它构造HttpClient。得到的HttpClient在执行请求时将自动携带身份认证信息,并检查应答的微信支付签名。

请求发送和获取响应:

定期更新平台证书,
商户要使用微信商务平台的公钥进行验签,验签需要公钥,。公钥不可在网络传播,只可通过证书进行传播。证书有有效期,{定时更新平台证书}

三 、api字典概述


https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay-1.shtml

https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_1.shtml

支付通知:https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_5.shtml

谷歌 JSON 转换工具:

        
        
            com.google.code.gson
            gson
        
四、native 支付流程

native 调起支付:
https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_4.shtml

code_url 的有效期为2个小时,

支付成功后微信服务器会发送一个支付成功的通知给客户端和我们的服务器,我们也需要获得该通知,进而改变我们的数据库数据。
接收通知和反应应答

五、内网穿透

https://ngrok.com/
使用你的 github 账号进行登录,亲测其他方式会报错。
https://github.com/

链接:https://pan.baidu.com/s/1rQzv9AZF1HHcgefn6j9YLg 
提取码:kpj5

如果无法下载,可下载上面百度网盘的。

1、授权:

ngrok authtoken 8CBwfdqgCxRzCDzhNRVoIphXSzs88_8zfCdfgjsayqpAXyBmErTNDRS

2、链接

ngrok http 80

应答超时和处理应答出现异常都会导致微信商务系统一直发请求

https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_5.shtml

对来自微信商务平台的请求的验签操作
微信商务平台的请求的参数是秘文,需进行解密操作(报文解密)

https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_5.shtml
https://github.com/wechatpay-apiv3/wechatpay-apache-httpclient

数据锁


商户定时查单:当客户支付成功后,二维码消失

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032336.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号