开发微信公众号支付准备资料
①APPID,这个数据我们可以从“申请微信支付成功”的邮件中获取。也可以从微信公众平台→开发→基本配置
②AppSecret,这个数据,大家可以看上图中获取。
③Mch_id,这是值是微信支付商户号,大家可以从邮件中获取
④KEY,这个参数KEY是在商户后台配置的一个32位的key,微信商户平台-账户设置-安全设置-api安全,在这里设置。这个值是可以自行设置的。开发微信支付首先要看微信支付的业务流程,看官方文档。
微信支付的流程:
→用户访问微信OAuth2.0网站,通过OAuth2.0的重定向获得code
→根据code获得用户的标识符openid,这个参数在调用统一下单接口中会用到
→调用统一下单API获得prepay_id
→获得prepay_id后,接下来要调用通过“网页端调起支付API”,这个调用的API需要一系列参数,这些参数我们在后台进行组装,通过JSON传到前台去
→ 获得数据后通过调用JSPAI发起微信支付
→ 用户输入支付密码,支付完成
→ 等待微信回调,回调中处理业务
→流程结束微信支付,这里我给大家详细介绍
①maven项目的pom.xml
<dependencies>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.6</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>fluent-hc</artifactId>
<version>4.3.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-cache</artifactId>
<version>4.3.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.3.3</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.3.6</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.2</version>
</dependency>
<!-- FastJson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
②获得openid
官方文档https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_4
先要设置OAuth2.0授权回调页面域名,不然会出现“redirect uri 参数错