Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Jeepay
Commits
5def62fe
Commit
5def62fe
authored
Aug 25, 2017
by
jmdhappy
Browse files
微信支付SDK更换为weixin-java-pay,增加微信H5支付,优化一些异常情况的处理
parent
dd9d81f9
Changes
70
Hide whitespace changes
Inline
Side-by-side
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/protocol/refund_query_protocol/RefundQueryResData.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.protocol.refund_query_protocol
;
/**
* User: rizenguo
* Date: 2014/10/25
* Time: 16:36
*/
public
class
RefundQueryResData
{
//协议层
private
String
return_code
=
""
;
private
String
return_msg
=
""
;
//协议返回的具体数据(以下字段在return_code 为SUCCESS 的时候有返回)
private
String
result_code
=
""
;
private
String
err_code
=
""
;
private
String
err_code_des
=
""
;
private
String
appid
=
""
;
private
String
mch_id
=
""
;
private
String
nonce_str
=
""
;
private
String
sign
=
""
;
private
String
device_info
=
""
;
private
String
transaction_id
=
""
;
private
String
out_trade_no
=
""
;
private
int
refund_count
=
0
;
//TODO 这里要用对象来装,因为有可能出现多个数据
private
String
out_refund_no
=
""
;
private
String
refund_id
=
""
;
private
String
refund_channel
=
""
;
private
String
refund_fee
=
""
;
private
String
coupon_refund_fee
=
""
;
private
String
refund_status
=
""
;
public
String
getReturn_code
()
{
return
return_code
;
}
public
void
setReturn_code
(
String
return_code
)
{
this
.
return_code
=
return_code
;
}
public
String
getReturn_msg
()
{
return
return_msg
;
}
public
void
setReturn_msg
(
String
return_msg
)
{
this
.
return_msg
=
return_msg
;
}
public
String
getResult_code
()
{
return
result_code
;
}
public
void
setResult_code
(
String
result_code
)
{
this
.
result_code
=
result_code
;
}
public
String
getErr_code
()
{
return
err_code
;
}
public
void
setErr_code
(
String
err_code
)
{
this
.
err_code
=
err_code
;
}
public
String
getErr_code_des
()
{
return
err_code_des
;
}
public
void
setErr_code_des
(
String
err_code_des
)
{
this
.
err_code_des
=
err_code_des
;
}
public
String
getAppid
()
{
return
appid
;
}
public
void
setAppid
(
String
appid
)
{
this
.
appid
=
appid
;
}
public
String
getMch_id
()
{
return
mch_id
;
}
public
void
setMch_id
(
String
mch_id
)
{
this
.
mch_id
=
mch_id
;
}
public
String
getNonce_str
()
{
return
nonce_str
;
}
public
void
setNonce_str
(
String
nonce_str
)
{
this
.
nonce_str
=
nonce_str
;
}
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
String
getDevice_info
()
{
return
device_info
;
}
public
void
setDevice_info
(
String
device_info
)
{
this
.
device_info
=
device_info
;
}
public
String
getTransaction_id
()
{
return
transaction_id
;
}
public
void
setTransaction_id
(
String
transaction_id
)
{
this
.
transaction_id
=
transaction_id
;
}
public
String
getOut_trade_no
()
{
return
out_trade_no
;
}
public
void
setOut_trade_no
(
String
out_trade_no
)
{
this
.
out_trade_no
=
out_trade_no
;
}
public
int
getRefund_count
()
{
return
refund_count
;
}
public
void
setRefund_count
(
int
refund_count
)
{
this
.
refund_count
=
refund_count
;
}
public
String
getOut_refund_no
()
{
return
out_refund_no
;
}
public
void
setOut_refund_no
(
String
out_refund_no
)
{
this
.
out_refund_no
=
out_refund_no
;
}
public
String
getRefund_id
()
{
return
refund_id
;
}
public
void
setRefund_id
(
String
refund_id
)
{
this
.
refund_id
=
refund_id
;
}
public
String
getRefund_channel
()
{
return
refund_channel
;
}
public
void
setRefund_channel
(
String
refund_channel
)
{
this
.
refund_channel
=
refund_channel
;
}
public
String
getRefund_fee
()
{
return
refund_fee
;
}
public
void
setRefund_fee
(
String
refund_fee
)
{
this
.
refund_fee
=
refund_fee
;
}
public
String
getCoupon_refund_fee
()
{
return
coupon_refund_fee
;
}
public
void
setCoupon_refund_fee
(
String
coupon_refund_fee
)
{
this
.
coupon_refund_fee
=
coupon_refund_fee
;
}
public
String
getRefund_status
()
{
return
refund_status
;
}
public
void
setRefund_status
(
String
refund_status
)
{
this
.
refund_status
=
refund_status
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/protocol/reverse_protocol/ReverseReqData.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.protocol.reverse_protocol
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.common.RandomStringGenerator
;
import
org.xxpay.service.channel.tencent.common.Signature
;
import
org.xxpay.common.constant.PayConstant
;
import
java.lang.reflect.Field
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* User: rizenguo
* Date: 2014/10/25
* Time: 16:42
*/
public
class
ReverseReqData
{
//每个字段具体的意思请查看API文档
private
String
appid
=
""
;
private
String
mch_id
=
""
;
private
String
transaction_id
=
""
;
private
String
out_trade_no
=
""
;
private
String
nonce_str
=
""
;
private
String
sign
=
""
;
/**
* 请求撤销服务
* @param transactionID 是微信系统为每一笔支付交易分配的订单号,通过这个订单号可以标识这笔交易,它由支付订单API支付成功时返回的数据里面获取到。建议优先使用
* @param outTradeNo 商户系统内部的订单号,transaction_id 、out_trade_no 二选一,如果同时存在优先级:transaction_id>out_trade_no
* @return API返回的XML数据
* @throws Exception
*/
public
ReverseReqData
(
Configure
configure
,
String
transactionID
,
String
outTradeNo
){
//--------------------------------------------------------------------
//以下是测试数据,请商户按照自己的实际情况填写具体的值进去
//--------------------------------------------------------------------
//微信分配的公众号ID(开通公众号之后可以获取到)
setAppid
(
configure
.
getAppID
());
//微信支付分配的商户号ID(开通公众号的微信支付功能之后可以获取到)
setMch_id
(
configure
.
getMchID
());
//transaction_id是微信系统为每一笔支付交易分配的订单号,通过这个订单号可以标识这笔交易,它由支付订单API支付成功时返回的数据里面获取到。
setTransaction_id
(
transactionID
);
//商户系统自己生成的唯一的订单号
setOut_trade_no
(
outTradeNo
);
//随机字符串,不长于32 位
setNonce_str
(
RandomStringGenerator
.
getRandomStringByLength
(
32
));
//根据API给的签名规则进行签名
String
sign
=
Signature
.
getSign
(
toMap
(),
configure
.
getKey
());
setSign
(
sign
);
//把签名数据设置到Sign这个属性中
}
public
String
getAppid
()
{
return
appid
;
}
public
void
setAppid
(
String
appid
)
{
this
.
appid
=
appid
;
}
public
String
getMch_id
()
{
return
mch_id
;
}
public
void
setMch_id
(
String
mch_id
)
{
this
.
mch_id
=
mch_id
;
}
public
String
getTransaction_id
()
{
return
transaction_id
;
}
public
void
setTransaction_id
(
String
transaction_id
)
{
this
.
transaction_id
=
transaction_id
;
}
public
String
getOut_trade_no
()
{
return
out_trade_no
;
}
public
void
setOut_trade_no
(
String
out_trade_no
)
{
this
.
out_trade_no
=
out_trade_no
;
}
public
String
getNonce_str
()
{
return
nonce_str
;
}
public
void
setNonce_str
(
String
nonce_str
)
{
this
.
nonce_str
=
nonce_str
;
}
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
Map
<
String
,
Object
>
toMap
(){
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Field
[]
fields
=
this
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
Object
obj
;
try
{
obj
=
field
.
get
(
this
);
if
(
obj
!=
null
){
map
.
put
(
field
.
getName
(),
obj
);
}
}
catch
(
IllegalArgumentException
e
)
{
e
.
printStackTrace
();
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
}
return
map
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/protocol/reverse_protocol/ReverseResData.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.protocol.reverse_protocol
;
/**
* User: rizenguo
* Date: 2014/10/25
* Time: 16:43
*/
public
class
ReverseResData
{
//协议层
private
String
return_code
=
""
;
private
String
return_msg
=
""
;
//协议返回的具体数据(以下字段在return_code 为SUCCESS 的时候有返回)
private
String
result_code
=
""
;
private
String
err_code
=
""
;
private
String
err_code_des
=
""
;
private
String
sign
=
""
;
private
String
appid
=
""
;
private
String
mch_id
=
""
;
private
String
nonce_str
=
""
;
private
String
recall
=
""
;
public
String
getReturn_code
()
{
return
return_code
;
}
public
void
setReturn_code
(
String
return_code
)
{
this
.
return_code
=
return_code
;
}
public
String
getReturn_msg
()
{
return
return_msg
;
}
public
void
setReturn_msg
(
String
return_msg
)
{
this
.
return_msg
=
return_msg
;
}
public
String
getResult_code
()
{
return
result_code
;
}
public
void
setResult_code
(
String
result_code
)
{
this
.
result_code
=
result_code
;
}
public
String
getErr_code
()
{
return
err_code
;
}
public
void
setErr_code
(
String
err_code
)
{
this
.
err_code
=
err_code
;
}
public
String
getErr_code_des
()
{
return
err_code_des
;
}
public
void
setErr_code_des
(
String
err_code_des
)
{
this
.
err_code_des
=
err_code_des
;
}
public
String
getAppid
()
{
return
appid
;
}
public
void
setAppid
(
String
appid
)
{
this
.
appid
=
appid
;
}
public
String
getMch_id
()
{
return
mch_id
;
}
public
void
setMch_id
(
String
mch_id
)
{
this
.
mch_id
=
mch_id
;
}
public
String
getNonce_str
()
{
return
nonce_str
;
}
public
void
setNonce_str
(
String
nonce_str
)
{
this
.
nonce_str
=
nonce_str
;
}
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
String
getRecall
()
{
return
recall
;
}
public
void
setRecall
(
String
recall
)
{
this
.
recall
=
recall
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/protocol/transfers_protocol/GetTransfersReqData.java
deleted
100644 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.protocol.transfers_protocol
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.common.RandomStringGenerator
;
import
org.xxpay.service.channel.tencent.common.Signature
;
import
java.lang.reflect.Field
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* Created by dingzhiwei on 2016/6/30.
*/
public
class
GetTransfersReqData
{
private
String
nonce_str
=
""
;
// 随机字符串
private
String
sign
=
""
;
// 签名
private
String
partner_trade_no
=
""
;
// 商户订单号
private
String
mch_id
=
""
;
// 商户号
private
String
appid
=
""
;
// 公众号ID
/**
*
* @param partner_trade_no
*/
public
GetTransfersReqData
(
Configure
configure
,
String
partner_trade_no
){
//微信分配的公众号ID(开通公众号之后可以获取到)
setAppid
(
configure
.
getAppID
());
//微信支付分配的商户号ID(开通公众号的微信支付功能之后可以获取到)
setMch_id
(
configure
.
getMchID
());
//随机字符串,不长于32 位
setNonce_str
(
RandomStringGenerator
.
getRandomStringByLength
(
32
));
// 设置订单号
setPartner_trade_no
(
partner_trade_no
);
//根据API给的签名规则进行签名
String
sign
=
Signature
.
getSign
(
toMap
(),
configure
.
getKey
());
setSign
(
sign
);
//把签名数据设置到Sign这个属性中
}
public
GetTransfersReqData
(
Configure
configure
,
String
interfaceBusinessID
,
String
partner_trade_no
){
//微信分配的公众号ID(开通公众号之后可以获取到)
setAppid
(
configure
.
getAppID
());
//微信支付分配的商户号ID(开通公众号的微信支付功能之后可以获取到)
setMch_id
(
configure
.
getMchID
());
//随机字符串,不长于32 位
setNonce_str
(
RandomStringGenerator
.
getRandomStringByLength
(
32
));
// 设置订单号
setPartner_trade_no
(
partner_trade_no
);
//根据API给的签名规则进行签名
String
sign
=
Signature
.
getSign
(
toMap
(),
configure
.
getKey
());
setSign
(
sign
);
//把签名数据设置到Sign这个属性中
}
public
String
getAppid
()
{
return
appid
;
}
public
void
setAppid
(
String
appid
)
{
this
.
appid
=
appid
;
}
public
String
getMch_id
()
{
return
mch_id
;
}
public
void
setMch_id
(
String
mch_id
)
{
this
.
mch_id
=
mch_id
;
}
public
String
getNonce_str
()
{
return
nonce_str
;
}
public
void
setNonce_str
(
String
nonce_str
)
{
this
.
nonce_str
=
nonce_str
;
}
public
String
getPartner_trade_no
()
{
return
partner_trade_no
;
}
public
void
setPartner_trade_no
(
String
partner_trade_no
)
{
this
.
partner_trade_no
=
partner_trade_no
;
}
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
Map
<
String
,
Object
>
toMap
(){
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Field
[]
fields
=
this
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
Object
obj
;
try
{
obj
=
field
.
get
(
this
);
if
(
obj
!=
null
){
map
.
put
(
field
.
getName
(),
obj
);
}
}
catch
(
IllegalArgumentException
e
)
{
e
.
printStackTrace
();
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
}
return
map
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/protocol/transfers_protocol/GetTransfersResData.java
deleted
100644 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.protocol.transfers_protocol
;
/**
* Created by dingzhiwei on 16/6/30.
*/
public
class
GetTransfersResData
{
//协议层
private
String
return_code
=
""
;
// 返回状态码
private
String
return_msg
=
""
;
// 返回信息
//协议返回的具体数据(以下字段在return_code 为SUCCESS 的时候有返回)
private
String
result_code
=
""
;
// 业务结果
private
String
err_code
=
""
;
// 错误代码
private
String
err_code_des
=
""
;
// 错误代码描述
//业务返回的具体数据(以下字段在return_code 和result_code 都为SUCCESS 的时候有返回)
private
String
partner_trade_no
=
""
;
// 商户订单号
private
String
mch_id
=
""
;
// 商户号
/*
商户单号 partner_trade_no 是 10000098201411111234567890 String(28) 商户使用查询API填写的单号的原路返回.
商户号 mch_id 是 10000098 String(32) 微信支付分配的商户号
付款单号 detail_id 是 1000000000201503283103439304 String(32) 调用企业付款API时,微信系统内部产生的单号
转账状态 status 是 SUCCESS string(16)
SUCCESS:转账成功
FAILED:转账失败
PROCESSING:处理中
失败原因 reason 否 余额不足 String 如果失败则有失败原因
收款用户openid openid 是 oxTWIuGaIt6gTKsQRLau2M0yL16E 转账的openid
收款用户姓名 transfer_name 否 马华 String 收款用户姓名
付款金额 payment_amount 是 5000 int 付款金额单位分)
转账时间 transfer_time 是 2015-04-21 20:00:00 String 发起转账的时间
付款描述 desc 是 车险理赔 String 付款时候的描述
*/
private
String
detail_id
=
""
;
// 付款单号
private
String
status
=
""
;
// 状态, SUCCESS:转账成功 FAILED:转账失败 PROCESSING:处理中
private
String
reason
=
""
;
// 失败原因
private
String
openid
=
""
;
// 收款用户openid
private
String
transfer_name
=
""
;
// 收款用户姓名
private
String
payment_amount
=
""
;
// 付款金额(单位分)
private
String
transfer_time
=
""
;
// 发起转账的时间
private
String
desc
=
""
;
// 付款时候的描述
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
String
getDetail_id
()
{
return
detail_id
;
}
public
void
setDetail_id
(
String
detail_id
)
{
this
.
detail_id
=
detail_id
;
}
public
String
getErr_code
()
{
return
err_code
;
}
public
void
setErr_code
(
String
err_code
)
{
this
.
err_code
=
err_code
;
}
public
String
getErr_code_des
()
{
return
err_code_des
;
}
public
void
setErr_code_des
(
String
err_code_des
)
{
this
.
err_code_des
=
err_code_des
;
}
public
String
getMch_id
()
{
return
mch_id
;
}
public
void
setMch_id
(
String
mch_id
)
{
this
.
mch_id
=
mch_id
;
}
public
String
getOpenid
()
{
return
openid
;
}
public
void
setOpenid
(
String
openid
)
{
this
.
openid
=
openid
;
}
public
String
getPartner_trade_no
()
{
return
partner_trade_no
;
}
public
void
setPartner_trade_no
(
String
partner_trade_no
)
{
this
.
partner_trade_no
=
partner_trade_no
;
}
public
String
getPayment_amount
()
{
return
payment_amount
;
}
public
void
setPayment_amount
(
String
payment_amount
)
{
this
.
payment_amount
=
payment_amount
;
}
public
String
getReason
()
{
return
reason
;
}
public
void
setReason
(
String
reason
)
{
this
.
reason
=
reason
;
}
public
String
getResult_code
()
{
return
result_code
;
}
public
void
setResult_code
(
String
result_code
)
{
this
.
result_code
=
result_code
;
}
public
String
getReturn_code
()
{
return
return_code
;
}
public
void
setReturn_code
(
String
return_code
)
{
this
.
return_code
=
return_code
;
}
public
String
getReturn_msg
()
{
return
return_msg
;
}
public
void
setReturn_msg
(
String
return_msg
)
{
this
.
return_msg
=
return_msg
;
}
public
String
getStatus
()
{
return
status
;
}
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
public
String
getTransfer_name
()
{
return
transfer_name
;
}
public
void
setTransfer_name
(
String
transfer_name
)
{
this
.
transfer_name
=
transfer_name
;
}
public
String
getTransfer_time
()
{
return
transfer_time
;
}
public
void
setTransfer_time
(
String
transfer_time
)
{
this
.
transfer_time
=
transfer_time
;
}
@Override
public
String
toString
()
{
return
"GetTransfersResData{"
+
"desc='"
+
desc
+
'\''
+
", return_code='"
+
return_code
+
'\''
+
", return_msg='"
+
return_msg
+
'\''
+
", result_code='"
+
result_code
+
'\''
+
", err_code='"
+
err_code
+
'\''
+
", err_code_des='"
+
err_code_des
+
'\''
+
", partner_trade_no='"
+
partner_trade_no
+
'\''
+
", mch_id='"
+
mch_id
+
'\''
+
", detail_id='"
+
detail_id
+
'\''
+
", status='"
+
status
+
'\''
+
", reason='"
+
reason
+
'\''
+
", openid='"
+
openid
+
'\''
+
", transfer_name='"
+
transfer_name
+
'\''
+
", payment_amount='"
+
payment_amount
+
'\''
+
", transfer_time='"
+
transfer_time
+
'\''
+
'}'
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/protocol/transfers_protocol/TransfersReqData.java
deleted
100644 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.protocol.transfers_protocol
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.common.RandomStringGenerator
;
import
org.xxpay.service.channel.tencent.common.Signature
;
import
java.lang.reflect.Field
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* Created by dingzhiwei on 2016/6/30.
*/
public
class
TransfersReqData
{
private
String
mch_appid
=
""
;
// 公众号ID
private
String
mchid
=
""
;
// 商户号
private
String
device_info
=
""
;
// 设备号
private
String
nonce_str
=
""
;
// 随机字符串
private
String
sign
=
""
;
// 签名
private
String
partner_trade_no
=
""
;
// 商户订单号,需保证唯一性
private
String
openid
=
""
;
// 用户openid
private
String
check_name
=
""
;
// NO_CHECK:不校验真实姓名
// FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账)
// OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功)
private
String
re_user_name
=
""
;
// 收款用户姓名
private
String
amount
=
""
;
// 金额
private
String
desc
=
""
;
// 企业付款描述信息
private
String
spbill_create_ip
=
""
;
// Ip地址
/**
*
* @param partner_trade_no
* @param device_info
* @param openid
* @param check_name
* @param re_user_name
* @param amount
* @param desc
*/
public
TransfersReqData
(
Configure
configure
,
String
partner_trade_no
,
String
device_info
,
String
openid
,
String
check_name
,
String
re_user_name
,
String
amount
,
String
desc
){
//微信分配的公众号ID(开通公众号之后可以获取到)
setMch_appid
(
configure
.
getAppID
());
//微信支付分配的商户号ID(开通公众号的微信支付功能之后可以获取到)
setMchid
(
configure
.
getMchID
());
setPartner_trade_no
(
partner_trade_no
);
setDevice_info
(
device_info
);
setOpenid
(
openid
);
setCheck_name
(
check_name
);
setRe_user_name
(
re_user_name
);
setAmount
(
amount
);
setDesc
(
desc
);
setSpbill_create_ip
(
configure
.
getIp
());
//随机字符串,不长于32 位
setNonce_str
(
RandomStringGenerator
.
getRandomStringByLength
(
32
));
//根据API给的签名规则进行签名
String
sign
=
Signature
.
getSign
(
toMap
(),
configure
.
getKey
());
setSign
(
sign
);
//把签名数据设置到Sign这个属性中
}
public
String
getAmount
()
{
return
amount
;
}
public
void
setAmount
(
String
amount
)
{
this
.
amount
=
amount
;
}
public
String
getCheck_name
()
{
return
check_name
;
}
public
void
setCheck_name
(
String
check_name
)
{
this
.
check_name
=
check_name
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
String
getDevice_info
()
{
return
device_info
;
}
public
void
setDevice_info
(
String
device_info
)
{
this
.
device_info
=
device_info
;
}
public
String
getMch_appid
()
{
return
mch_appid
;
}
public
void
setMch_appid
(
String
mch_appid
)
{
this
.
mch_appid
=
mch_appid
;
}
public
String
getMchid
()
{
return
mchid
;
}
public
void
setMchid
(
String
mchid
)
{
this
.
mchid
=
mchid
;
}
public
String
getNonce_str
()
{
return
nonce_str
;
}
public
void
setNonce_str
(
String
nonce_str
)
{
this
.
nonce_str
=
nonce_str
;
}
public
String
getOpenid
()
{
return
openid
;
}
public
void
setOpenid
(
String
openid
)
{
this
.
openid
=
openid
;
}
public
String
getPartner_trade_no
()
{
return
partner_trade_no
;
}
public
void
setPartner_trade_no
(
String
partner_trade_no
)
{
this
.
partner_trade_no
=
partner_trade_no
;
}
public
String
getRe_user_name
()
{
return
re_user_name
;
}
public
void
setRe_user_name
(
String
re_user_name
)
{
this
.
re_user_name
=
re_user_name
;
}
public
String
getSign
()
{
return
sign
;
}
public
void
setSign
(
String
sign
)
{
this
.
sign
=
sign
;
}
public
String
getSpbill_create_ip
()
{
return
spbill_create_ip
;
}
public
void
setSpbill_create_ip
(
String
spbill_create_ip
)
{
this
.
spbill_create_ip
=
spbill_create_ip
;
}
public
Map
<
String
,
Object
>
toMap
(){
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Field
[]
fields
=
this
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
Object
obj
;
try
{
obj
=
field
.
get
(
this
);
if
(
obj
!=
null
){
map
.
put
(
field
.
getName
(),
obj
);
}
}
catch
(
IllegalArgumentException
e
)
{
e
.
printStackTrace
();
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
}
return
map
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/protocol/transfers_protocol/TransfersResData.java
deleted
100644 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.protocol.transfers_protocol
;
/**
* Created by dingzhiwei on 16/6/30.
*/
public
class
TransfersResData
{
//协议层
private
String
return_code
=
""
;
// 返回状态码
private
String
return_msg
=
""
;
// 返回信息
//协议返回的具体数据(以下字段在return_code 为SUCCESS 的时候有返回)
private
String
mch_appid
=
""
;
// 公众号appid
private
String
mch_id
=
""
;
// 商户号
private
String
device_info
=
""
;
// 设备号
private
String
nonce_str
=
""
;
// 随机字符串
private
String
result_code
=
""
;
// 业务结果
private
String
err_code
=
""
;
// 错误代码
private
String
err_code_des
=
""
;
// 错误代码描述
//业务返回的具体数据(以下字段在return_code 和result_code 都为SUCCESS 的时候有返回)
private
String
partner_trade_no
=
""
;
// 商户订单号
private
String
payment_no
=
""
;
// 微信订单号
private
String
payment_time
=
""
;
// 微信支付成功时间
public
String
getDevice_info
()
{
return
device_info
;
}
public
void
setDevice_info
(
String
device_info
)
{
this
.
device_info
=
device_info
;
}
public
String
getErr_code
()
{
return
err_code
;
}
public
void
setErr_code
(
String
err_code
)
{
this
.
err_code
=
err_code
;
}
public
String
getErr_code_des
()
{
return
err_code_des
;
}
public
void
setErr_code_des
(
String
err_code_des
)
{
this
.
err_code_des
=
err_code_des
;
}
public
String
getMch_appid
()
{
return
mch_appid
;
}
public
void
setMch_appid
(
String
mch_appid
)
{
this
.
mch_appid
=
mch_appid
;
}
public
String
getMch_id
()
{
return
mch_id
;
}
public
void
setMch_id
(
String
mch_id
)
{
this
.
mch_id
=
mch_id
;
}
public
String
getNonce_str
()
{
return
nonce_str
;
}
public
void
setNonce_str
(
String
nonce_str
)
{
this
.
nonce_str
=
nonce_str
;
}
public
String
getPartner_trade_no
()
{
return
partner_trade_no
;
}
public
void
setPartner_trade_no
(
String
partner_trade_no
)
{
this
.
partner_trade_no
=
partner_trade_no
;
}
public
String
getPayment_no
()
{
return
payment_no
;
}
public
void
setPayment_no
(
String
payment_no
)
{
this
.
payment_no
=
payment_no
;
}
public
String
getPayment_time
()
{
return
payment_time
;
}
public
void
setPayment_time
(
String
payment_time
)
{
this
.
payment_time
=
payment_time
;
}
public
String
getResult_code
()
{
return
result_code
;
}
public
void
setResult_code
(
String
result_code
)
{
this
.
result_code
=
result_code
;
}
public
String
getReturn_code
()
{
return
return_code
;
}
public
void
setReturn_code
(
String
return_code
)
{
this
.
return_code
=
return_code
;
}
public
String
getReturn_msg
()
{
return
return_msg
;
}
public
void
setReturn_msg
(
String
return_msg
)
{
this
.
return_msg
=
return_msg
;
}
@Override
public
String
toString
()
{
return
"TransfersResData{"
+
"device_info='"
+
device_info
+
'\''
+
", return_code='"
+
return_code
+
'\''
+
", return_msg='"
+
return_msg
+
'\''
+
", mch_appid='"
+
mch_appid
+
'\''
+
", mch_id='"
+
mch_id
+
'\''
+
", nonce_str='"
+
nonce_str
+
'\''
+
", result_code='"
+
result_code
+
'\''
+
", err_code='"
+
err_code
+
'\''
+
", err_code_des='"
+
err_code_des
+
'\''
+
", partner_trade_no='"
+
partner_trade_no
+
'\''
+
", payment_no='"
+
payment_no
+
'\''
+
", payment_time='"
+
payment_time
+
'\''
+
'}'
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/BaseService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.springframework.stereotype.Service
;
import
java.io.IOException
;
import
java.security.KeyManagementException
;
import
java.security.KeyStoreException
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.UnrecoverableKeyException
;
/**
* User: rizenguo
* Date: 2014/12/10
* Time: 15:44
* 服务的基类
*/
@Service
public
class
BaseService
{
//API的地址
private
String
apiURL
;
//发请求的HTTPS请求器
private
IServiceRequest
serviceRequest
;
public
BaseService
()
throws
ClassNotFoundException
,
IllegalAccessException
,
InstantiationException
{
}
public
BaseService
(
String
api
)
throws
ClassNotFoundException
,
IllegalAccessException
,
InstantiationException
{
apiURL
=
api
;
Class
c
=
Class
.
forName
(
Configure
.
HttpsRequestClassName
);
serviceRequest
=
(
IServiceRequest
)
c
.
newInstance
();
}
protected
String
sendPost
(
Object
xmlObj
)
throws
UnrecoverableKeyException
,
IOException
,
NoSuchAlgorithmException
,
KeyStoreException
,
KeyManagementException
{
return
serviceRequest
.
sendPost
(
apiURL
,
xmlObj
);
}
public
void
init
(
Configure
configure
)
{
serviceRequest
.
setCrt
(
configure
);
try
{
serviceRequest
.
init
();
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
/**
* 供商户想自定义自己的HTTP请求器用
* @param request 实现了IserviceRequest接口的HttpsRequest
*/
public
void
setServiceRequest
(
IServiceRequest
request
){
serviceRequest
=
request
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/DownloadBillService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.downloadbill_protocol.DownloadBillReqData
;
/**
* User: rizenguo
* Date: 2014/10/29
* Time: 16:04
*/
public
class
DownloadBillService
extends
BaseService
{
public
DownloadBillService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
DOWNLOAD_BILL_API
);
}
//ALL,返回当日所有订单信息,默认值
public
static
final
String
BILL_TYPE_ALL
=
"ALL"
;
//SUCCESS,返回当日成功支付的订单
public
static
final
String
BILL_TYPE_SUCCESS
=
"SUCCESS"
;
//REFUND,返回当日退款订单
public
static
final
String
BILL_TYPE_REFUND
=
"REFUND"
;
//REVOKED,已撤销的订单
public
static
final
String
BILL_TYPE_REVOKE
=
"REVOKE"
;
/**
* 请求对账单下载服务
* @param downloadBillReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的XML数据
* @throws Exception
*/
public
String
request
(
DownloadBillReqData
downloadBillReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
downloadBillReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/GetTransfersService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.transfers_protocol.GetTransfersReqData
;
import
org.springframework.stereotype.Service
;
/**
* User: dingzhiwei
* Date: 2016/06/30
* Time: 16:49
*/
@Service
public
class
GetTransfersService
extends
BaseService
{
public
GetTransfersService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
GET_TRANSFERS_API
);
}
/**
* 请求红包服务
* @param getTransfersReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的数据
* @throws Exception
*/
public
String
request
(
GetTransfersReqData
getTransfersReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
getTransfersReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/IServiceRequest.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
java.io.IOException
;
import
java.security.KeyManagementException
;
import
java.security.KeyStoreException
;
import
java.security.NoSuchAlgorithmException
;
import
java.security.UnrecoverableKeyException
;
/**
* User: rizenguo
* Date: 2014/12/10
* Time: 15:16
* 这里定义服务层需要请求器标准接口
*/
public
interface
IServiceRequest
{
//Service依赖的底层https请求器必须实现这么一个接口
public
String
sendPost
(
String
api_url
,
Object
xmlObj
)
throws
UnrecoverableKeyException
,
KeyManagementException
,
NoSuchAlgorithmException
,
KeyStoreException
,
IOException
;
public
void
setCrt
(
Configure
configure
);
public
void
init
()
throws
IOException
,
KeyStoreException
,
UnrecoverableKeyException
,
NoSuchAlgorithmException
,
KeyManagementException
;
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/QueryRedpackService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.redpack_protocol.QueryRedpackReqData
;
import
org.springframework.stereotype.Service
;
/**
* User: dingzhiwei
* Date: 2016/06/03
* Time: 23:49
*/
@Service
public
class
QueryRedpackService
extends
BaseService
{
public
QueryRedpackService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
QUERY_REDPACK_API
);
}
/**
* 请求红包服务
* @param queryRedpackReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的数据
* @throws Exception
*/
public
String
request
(
QueryRedpackReqData
queryRedpackReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
queryRedpackReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/RefundQueryService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.refund_query_protocol.RefundQueryReqData
;
/**
* User: rizenguo
* Date: 2014/10/29
* Time: 16:04
*/
public
class
RefundQueryService
extends
BaseService
{
public
RefundQueryService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
REFUND_QUERY_API
);
}
/**
* 请求退款查询服务
* @param refundQueryReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的XML数据
* @throws Exception
*/
public
String
request
(
RefundQueryReqData
refundQueryReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
refundQueryReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/RefundService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.refund_protocol.RefundReqData
;
/**
* User: rizenguo
* Date: 2014/10/29
* Time: 16:04
*/
public
class
RefundService
extends
BaseService
{
public
RefundService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
REFUND_API
);
}
/**
* 请求退款服务
* @param refundReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的XML数据
* @throws Exception
*/
public
String
request
(
RefundReqData
refundReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
refundReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/ReverseService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.reverse_protocol.ReverseReqData
;
/**
* User: rizenguo
* Date: 2014/10/29
* Time: 16:04
*/
public
class
ReverseService
extends
BaseService
{
public
ReverseService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
REVERSE_API
);
}
/**
* 请求撤销服务
* @param reverseReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的XML数据
* @throws Exception
*/
public
String
request
(
ReverseReqData
reverseReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
reverseReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/ScanPayQueryService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.pay_query_protocol.ScanPayQueryReqData
;
/**
* User: rizenguo
* Date: 2014/10/29
* Time: 16:04
*/
public
class
ScanPayQueryService
extends
BaseService
{
public
ScanPayQueryService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
ORDER_QUERY_API
);
}
/**
* 请求支付查询服务
* @param scanPayQueryReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的XML数据
* @throws Exception
*/
public
String
request
(
ScanPayQueryReqData
scanPayQueryReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
scanPayQueryReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/ScanPayService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.pay_protocol.ScanPayReqData
;
import
org.springframework.stereotype.Service
;
/**
* User: rizenguo
* Date: 2014/10/29
* Time: 16:03
*/
@Service
public
class
ScanPayService
extends
BaseService
{
public
ScanPayService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
PAY_API
);
}
/**
* 请求支付服务
* @param scanPayReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的数据
* @throws Exception
*/
public
String
request
(
ScanPayReqData
scanPayReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
scanPayReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/SendRedpackService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.redpack_protocol.SendRedpackReqData
;
import
org.springframework.stereotype.Service
;
/**
* User: dingzhiwei
* Date: 2016/06/03
* Time: 22:57
*/
@Service
public
class
SendRedpackService
extends
BaseService
{
public
SendRedpackService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
SEND_REDPACK_API
);
}
/**
* 请求红包服务
* @param sendRedpackReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的数据
* @throws Exception
*/
public
String
request
(
SendRedpackReqData
sendRedpackReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
sendRedpackReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/TransfersService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.transfers_protocol.TransfersReqData
;
import
org.springframework.stereotype.Service
;
/**
* User: dingzhiwei
* Date: 2016/06/30
* Time: 16:37
*/
@Service
public
class
TransfersService
extends
BaseService
{
public
TransfersService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
TRANSFERS_API
);
}
/**
* 请求红包服务
* @param transfersReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的数据
* @throws Exception
*/
public
String
request
(
TransfersReqData
transfersReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
transfersReqData
);
return
responseString
;
}
}
xxpay4spring-cloud/xxpay-service/src/main/java/org/xxpay/service/channel/tencent/service/UnifiedOrderService.java
deleted
100755 → 0
View file @
dd9d81f9
package
org.xxpay.service.channel.tencent.service
;
import
org.xxpay.service.channel.tencent.common.Configure
;
import
org.xxpay.service.channel.tencent.protocol.order_protocol.UnifiedOrderReqData
;
import
org.springframework.stereotype.Service
;
/**
* User: dingzhiwei
* Date: 2016/04/29
* Time: 19:03
*/
@Service
public
class
UnifiedOrderService
extends
BaseService
{
public
UnifiedOrderService
()
throws
IllegalAccessException
,
InstantiationException
,
ClassNotFoundException
{
super
(
Configure
.
UNIFIED_ORDER_API
);
}
/**
* 请求支付服务
* @param unifiedOrderReqData 这个数据对象里面包含了API要求提交的各种数据字段
* @return API返回的数据
* @throws Exception
*/
public
String
request
(
UnifiedOrderReqData
unifiedOrderReqData
)
throws
Exception
{
//--------------------------------------------------------------------
//发送HTTPS的Post请求到API地址
//--------------------------------------------------------------------
String
responseString
=
sendPost
(
unifiedOrderReqData
);
return
responseString
;
}
}
Prev
1
2
3
4
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment