小程序微信支付API V3对接(Java)


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、微信支付商户平台

在【API安全】里需要申请API证书(后需要用的私钥就是这个红框里的)、设置APIv3密钥

在【开发配置】里需要配置合法域名 在【AppID账号管理】里需要绑定小程序的AppID

二、代码

1.小程序调起支付

timeStamp:时间戳(只需要到秒,如果获取的是毫秒级需要除以1000) nonceStr:随机字符串(不长于32位) package:订单详情扩展字符串(prepay_id=……) signType:签名方式(仅支持RSA) paySign:签名(使用字段appId、timeStamp、nonceStr、package计算得出的签名值)

wx.requestPayment({
          
   
  timeStamp: ,
  nonceStr: ,
  package: ,
  signType: ,
  paySign: ,
  success: (result) => {
          
   },
  fail: () => {
          
   },
  complete: () => {
          
   }
});

2.后端代码

Maven依赖:

<dependencies>
	<dependency>
		<groupId>commons-httpclient</groupId>
		<artifactId>commons-httpclient</artifactId>
		<version>3.1</version>	
	</dependency>
	<dependency>
		<groupId>org.bouncycastle</groupId>
		<artifactId>bcprov-jdk16</artifactId>
		<version>1.46</version>
	</dependency>
	<dependency>
		<groupId>commons-codec</groupId>
		<artifactId>commons-codec</artifactId>
		<version>1.9</version>
	</dependency>
	<dependency>
		<groupId>commons-io</groupId>
		<artifactId>commons-io</artifactId>
		<version>2.4</version>
	</dependency>
	<dependency>
		<groupId>net.sf.json-lib</groupId>
		<artifactId>json-lib</artifactId>
		<version>2.4</version>
		<classifier>jdk15</classifier>
	</dependency>
	<dependency>
		<groupId>com.github.wechatpay-apiv3</groupId>
		<artifactId>wechatpay-apache-httpclient</artifactId>
		<version>0.4.7</version>
	</dependency>
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-databind</artifactId>
		<version>2.12.5</version>
	</dependency>
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-core</artifactId>
		<version>2.12.5</version>
	</dependency>
	<dependency>
		<groupId>com.fasterxml.jackson.core</groupId>
		<artifactId>jackson-annotations</artifactId>
		<version>2.12.5</version>
	</dependency>
	<dependency>
		<groupId>cn.hutool</groupId>
		<artifactId>hutool-all</artifactId>
		<version>5.3.10</version>
	</dependency>
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-simple</artifactId>
		<version>1.7.25</version>
	</dependency>
</dependencies>

PayUtil支付工具类:

3.异步通知【回调】(以支付回调为例)


总结

几个常用的方法都已经封装在PayUtil工具类中,使用的时候根据官方文档传参即可,也可根据需求进行修改。

经验分享 程序员 微信小程序 职场和发展