@Component public class WxPay extends Object
private WxPay wxPay
需要配置 weixinpay.properties 文件,放在resources下面
文件属性:{
*weixinpay.appid = appid
*weixinpay.mchid = mchid商户号
*weixinpay.key = 商户key
*weixinpay.domain = 项目访问域名
weixinpay.notityUrl = 回调地址
weixinpay.certificateKey = 证书密码
weixinpay.certificateFile = 证书地址
}
need jar{
org.springframework spring-context-support 4.2.6.RELEASE
org.apache.logging.log4j log4j-core 2.5
redis.clients jedis 2.8.1
org.springframework.data spring-data-redis 1.7.1.RELEASE
com.alibaba fastjson 1.2.11
org.apache.httpcomponents httpclient 4.3.5
com.thoughtworks.xstream xstream 1.4.7
}| 限定符和类型 | 字段和说明 |
|---|---|
private Pay |
pay |
private WXAuthorization |
wxAuthorization |
private WXBizMsgCrypt |
wxBizMsgCrypt |
private WxInfo |
wxInfo |
private WXOrder |
wxOrder |
private WXSign |
wxSign |
| 构造器和说明 |
|---|
WxPay() |
| 限定符和类型 | 方法和说明 |
|---|---|
com.luues.util.datawrap.ResultDataWrap |
closeOrder(String out_trade_no)
关闭订单
|
WXPayInfo |
createWxOrder(WXOrderMustFillRequest wxOrderMustFillRequest,
WXOrderSelectiveFillRequest wxOrderSelectiveFillRequest)
快捷创建微信支付订单类
|
com.luues.util.datawrap.ResultDataWrap |
downloadBill(String bill_date,
String bill_type,
String tar_type)
下载对账单(参数四选一)
|
WXAuthorization |
getAccessToken(String code)
获取网页授权access_token
|
String |
getBasicsAccessToken()
获取普通access_token
|
String |
getBasicsAccessToken(AccessToken accessToken)
获取普通access_token
|
WXAuthorizationUser |
getUserInfo(String access_token,
String openid)
通过网页授权access_token获取用户信息
|
WXBizMsgCrypt |
getWxBizMsgCrypt()
获取加密类
|
void |
init() |
String |
message()
微信公众号服务器配置验证
|
String |
onMessage(boolean decrypt,
SCAN scan,
SUBSCRIBE subscribe,
UNSUBSCRIBE unsubscribe,
TEMPLATESENDJOBFINISH templatesendjobfinish,
TEXT text)
处理微信公众号事件推送消息
|
com.luues.util.datawrap.ResultDataWrap |
pay(Map<String,Object> paramsMap,
String logoPath)
微信支付
|
com.luues.util.datawrap.ResultDataWrap |
pay(WXPayInfo wxPayInfo,
String logoPath)
微信支付
注意:需要先调用构建微信支付对象方法
|
com.luues.util.datawrap.ResultDataWrap |
queryRefund(String transaction_id,
String out_trade_no,
String out_refund_no,
String refund_id)
查询退款详情(参数四选一)
|
com.luues.util.datawrap.ResultDataWrap |
queryWXOrderInfo(String transaction_id,
String out_trade_no)
查询订单
|
com.luues.util.datawrap.ResultDataWrap |
refund(String transaction_id,
String out_trade_no,
String out_refund_no,
int total_fee,
int refund_fee,
String op_user_id)
商户提交退款申请(微信订单号和商户订单号任选其一,如果都传微信订单号优先)
|
Object |
returnFail()
通知微信失败了
|
Object |
returnSuccess()
通知微信成功了
|
com.luues.util.datawrap.ResultDataWrap |
sendredpack(Map<String,Object> paramsMap)
企业发红包给用户
|
com.luues.util.datawrap.ResultDataWrap |
transfers(Map<String,Object> paramsMap)
企业付款给用户
|
Map<String,Object> |
valiPayLegitimate()
微信付款成功,调用该方法验证签名等信息
微信返回数据(不要做任何处理)
|
@Autowired private WxInfo wxInfo
@Autowired private Pay pay
@Autowired private WXOrder wxOrder
@Autowired private WXSign wxSign
@Autowired private WXAuthorization wxAuthorization
private WXBizMsgCrypt wxBizMsgCrypt
@PostConstruct public void init() throws AesException
AesExceptionpublic String getBasicsAccessToken() throws com.luues.exception.ExceptionRedisInvalid
com.luues.exception.ExceptionRedisInvalidpublic String getBasicsAccessToken(AccessToken accessToken) throws com.luues.exception.ExceptionRedisInvalid
com.luues.exception.ExceptionRedisInvalidpublic WXAuthorization getAccessToken(String code)
public WXAuthorizationUser getUserInfo(String access_token, String openid)
public com.luues.util.datawrap.ResultDataWrap pay(Map<String,Object> paramsMap, String logoPath)
paramsMap - {logoPath - 二维码附加logo图片,不传则不加,路径需全路径public WXPayInfo createWxOrder(WXOrderMustFillRequest wxOrderMustFillRequest, WXOrderSelectiveFillRequest wxOrderSelectiveFillRequest) throws Exception
wxOrderMustFillRequest - wxOrderSelectiveFillRequest - Exceptionpublic com.luues.util.datawrap.ResultDataWrap pay(WXPayInfo wxPayInfo, String logoPath)
wxPayInfo - 微信支付对象logoPath - 二维码附加logo图片,不传则不加,路径需全路径public com.luues.util.datawrap.ResultDataWrap queryWXOrderInfo(String transaction_id, String out_trade_no)
transaction_id - 微信订单号(任选其一,微信订单号优先)out_trade_no - 商户订单号(任选其一,微信订单号优先)public com.luues.util.datawrap.ResultDataWrap closeOrder(String out_trade_no)
out_trade_no - 商户订单号public com.luues.util.datawrap.ResultDataWrap refund(String transaction_id, String out_trade_no, String out_refund_no, int total_fee, int refund_fee, String op_user_id)
transaction_id - 微信订单号out_trade_no - 商户订单号out_refund_no - 退款单号(商户内部标示)total_fee - 订单金额(单位分)refund_fee - 退款金额(单位分)op_user_id - 操作员public com.luues.util.datawrap.ResultDataWrap queryRefund(String transaction_id, String out_trade_no, String out_refund_no, String refund_id)
transaction_id - 微信订单out_trade_no - 商户订单号out_refund_no - 商户退款单号refund_id - 微信退款单号public com.luues.util.datawrap.ResultDataWrap downloadBill(String bill_date, String bill_type, String tar_type)
bill_date - (y) 下载对账单的日期,格式:20140603bill_type - (n) ALL,返回当日所有订单信息,默认值SUCCESS,返回当日成功支付的订单REFUND,返回当日退款订单tar_type - (n) 非必传参数,固定值:GZIP,返回格式为.gzip的压缩包账单。不传则默认为数据流形式。1、微信侧未成功下单的交易不会出现在对账单中。支付成功后撤销的交易会出现在对账单中,跟原支付单订单号一致,bill_type为REVOKED;
2、微信在次日9点启动生成前一天的对账单,建议商户10点后再获取;
3、对账单中涉及金额的字段单位为“元”。
4、对账单接口只能下载三个月以内的账单。
public com.luues.util.datawrap.ResultDataWrap transfers(Map<String,Object> paramsMap)
paramsMap - {public com.luues.util.datawrap.ResultDataWrap sendredpack(Map<String,Object> paramsMap)
paramsMap - {public Object returnSuccess()
public Object returnFail()
public Map<String,Object> valiPayLegitimate()
public WXBizMsgCrypt getWxBizMsgCrypt()
public String message()
public String onMessage(boolean decrypt, SCAN scan, SUBSCRIBE subscribe, UNSUBSCRIBE unsubscribe, TEMPLATESENDJOBFINISH templatesendjobfinish, TEXT text) throws IOException, AesException
decrypt - 内容是否解密scan - 已经关注subscribe - 关注unsubscribe - 取消关注templatesendjobfinish - 模版消息发送成功回执IOExceptionAesExceptionCopyright © 2020. All rights reserved.