Commit d53783a9 authored by jmdhappy's avatar jmdhappy
Browse files

初始化提交

parent 324ccaaf
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;
}
}
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;
}
}
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;
}
}
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;
}
}
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 + '\'' +
'}';
}
}
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;
}
}
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 + '\'' +
'}';
}
}
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;
}
}
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;
}
}
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;
}
}
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;
}
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;
}
}
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;
}
}
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;
}
}
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;
}
}
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;
}
}
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;
}
}
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;
}
}
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;
}
}
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;
}
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment