这是一个基于java的简易的微信支付的后台,集成了包括微信公众号支付,网页原生支付,和APP支付接口三个功能
该项目开发基于一个使用了SpringMVC,hibernate的基础项目,这类项目的配置在此不多赘述。下面说下其中的几个主要的配置文件和工具类。
本项目主要关于微信支付的配置文件为src/wechat.properties,所有关于微信支付所需要的账号都通过该配置文件设置,其中包括:
微信统一下单地址
wx_order=https://api.mch.weixin.qq.com/pay/unifiedorder
微信公众号APPID
mchappid=
微信公众号商户ID
mchid=
微信APP端商户号APPID
app_mchappid=
微信APP端商户ID
app_mchid=
业务系统支付回调网址
wx_callback=
微信商户后台设置的Key
wx_key=
项目中,对微信支付的一些操作进行了封装,主要包括如下几个:
- src/com/sean/util/SignatureUtils.java
该类包含了微信支付所需要的一些加密算法,最主要的函数为: - src/com/sean/util/WechatOrderUtils.java
该类实现了微信同一下单的一个函数,通过该函数可以实现三种方式的统一下单
项目中,包含部分已经实现了的实例,如js页面调用和native调用。
control层主要用WechatPayControler实现了页面请求和接口请求的功能。
页面包括两个,web.jsp实现的是微信公众号调起支付的功能,native.jsp是实现了PC端扫二维码的功能