public abstract class BaseWxPayRequest extends Object implements Serializable
微信支付请求对象共用的参数存放类 Created by Binary Wang on 2016-10-24.
限定符和类型 | 字段和说明 |
---|---|
protected String |
appid
字段名:公众账号ID.
|
protected String |
mchId
字段名:商户号.
|
protected String |
nonceStr
字段名:随机字符串.
|
protected String |
sign
字段名:签名.
|
protected String |
subAppId
字段名:服务商模式下的子商户公众账号ID.
|
protected String |
subMchId
字段名:服务商模式下的子商户号.
|
构造器和说明 |
---|
BaseWxPayRequest() |
限定符和类型 | 方法和说明 |
---|---|
void |
checkAndSign(WxPayConfig config)
检查参数,并设置签名.
1、检查参数(注意:子类实现需要检查参数的而外功能时,请在调用父类的方法前进行相应判断)
2、补充系统参数,如果未传入则从配置里读取
3、生成签名,并设置进去
|
protected abstract void |
checkConstraints()
检查约束情况.
|
static BigDecimal |
fen2Yuan(BigDecimal fen)
分转元
|
protected String[] |
getIgnoredParamsForSign()
签名时,忽略的参数.
|
Map<String,String> |
getSignParams()
获取签名时需要的参数.
|
String |
getWorkWxSign() |
protected boolean |
ignoreAppid()
签名时,是否忽略appid.
|
protected boolean |
ignoreSubAppId()
签名时,是否忽略sub_appid.
|
protected boolean |
ignoreSubMchId() |
protected boolean |
isWxWorkSign()
是否是企业微信字段
|
protected boolean |
needNonceStr()
是否需要nonce_str
|
void |
setAppid(String appid)
如果配置中已经设置,可以不设置值.
|
void |
setMchId(String mchId)
如果配置中已经设置,可以不设置值.
|
void |
setNonceStr(String nonceStr)
默认采用时间戳为随机字符串,可以不设置.
|
void |
setWorkWxSign(String workWxSign) |
protected abstract void |
storeMap(Map<String,String> map)
将属性组装到一个Map中,供签名和最终发送XML时使用.
|
String |
toString() |
String |
toXML()
To xml string.
|
protected String |
xmlRootTagName()
返回xml结构的根节点名称
|
static Integer |
yuan2Fen(BigDecimal yuan)
元转分
|
static Integer |
yuanToFen(String yuan)
将单位为元转换为单位为分.
|
protected String appid
字段名:公众账号ID. 变量名:appid 是否必填:是 类型:String(32) 示例值:wxd678efh567hg6787 描述:微信分配的公众账号ID(企业号corpid即为此appId)
protected String mchId
字段名:商户号. 变量名:mch_id 是否必填:是 类型:String(32) 示例值:1230000109 描述:微信支付分配的商户号
protected String subAppId
字段名:服务商模式下的子商户公众账号ID. 变量名:sub_appid 是否必填:是 类型:String(32) 示例值:wxd678efh567hg6787 描述:微信分配的子商户公众账号ID
protected String subMchId
字段名:服务商模式下的子商户号. 变量名:sub_mch_id 是否必填:是 类型:String(32) 示例值:1230000109 描述:微信支付分配的子商户号,开发者模式下必填
protected String nonceStr
字段名:随机字符串. 变量名:nonce_str 是否必填:是 类型:String(32) 示例值:5K8264ILTKCH16CQ2502SI8ZNMTM67VS 描述:随机字符串,不长于32位。推荐随机数生成算法
protected String sign
字段名:签名. 变量名:sign 是否必填:是 类型:String(32) 示例值:C380BEC2BFD727A4B6845133519F3AD6 描述:签名,详见签名生成算法
public String getWorkWxSign()
public void setWorkWxSign(String workWxSign)
public static Integer yuanToFen(String yuan)
yuan
- 将要转换的元的数值字符串public static Integer yuan2Fen(BigDecimal yuan)
public static BigDecimal fen2Yuan(BigDecimal fen)
protected abstract void checkConstraints() throws WxPayException
WxPayException
- the wx pay exceptionprotected boolean needNonceStr()
public void setAppid(String appid)
appid
- 微信公众号appidpublic void setMchId(String mchId)
mchId
- 微信商户号public void setNonceStr(String nonceStr)
nonceStr
- 随机字符串public String toXML()
protected String xmlRootTagName()
protected boolean ignoreAppid()
protected boolean ignoreSubAppId()
protected boolean ignoreSubMchId()
protected boolean isWxWorkSign()
protected String[] getIgnoredParamsForSign()
protected abstract void storeMap(Map<String,String> map)
map
- 传入的属性Mappublic void checkAndSign(WxPayConfig config) throws WxPayException
检查参数,并设置签名. 1、检查参数(注意:子类实现需要检查参数的而外功能时,请在调用父类的方法前进行相应判断) 2、补充系统参数,如果未传入则从配置里读取 3、生成签名,并设置进去
config
- 支付配置对象,用于读取相应系统配置信息WxPayException
- the wx pay exceptionCopyright © 2023. All rights reserved.