diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayReportRequest.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayReportRequest.java index 494ac1f3..3e5364c5 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayReportRequest.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/bean/request/WxPayReportRequest.java @@ -25,9 +25,11 @@ import me.chanjar.weixin.common.annotation.Required; @AllArgsConstructor @XStreamAlias("xml") public class WxPayReportRequest extends BaseWxPayRequest { + private static final long serialVersionUID = 2667579776376527663L; + /** *
- * 设备号 + * 设备号. * device_info * 否 * String(32) @@ -40,7 +42,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { /** *- * 接口URL + * 接口URL. * interface_url * 是 * String(127) @@ -57,7 +59,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private String interfaceUrl; /** *- * 接口耗时 + * 接口耗时. * execute_time * 是 * Int @@ -70,7 +72,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private Integer executeTime; /** *- * 返回状态码 + * 返回状态码. * return_code * 是 * String(16) @@ -83,7 +85,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private String returnCode; /** *- * 返回信息 + * 返回信息. * return_msg * 否 * String(128) @@ -95,7 +97,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private String returnMsg; /** *- * 业务结果 + * 业务结果. * result_code * 是 * String(16) @@ -108,7 +110,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private String resultCode; /** *- * 错误代码 + * 错误代码. * err_code * 否 * String(32) @@ -120,7 +122,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private String errCode; /** *- * 错误代码描述 + * 错误代码描述. * err_code_des * 否 * String(128) @@ -132,7 +134,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private String errCodeDes; /** *- * 商户订单号 + * 商户订单号. * out_trade_no * 否 * String(32) @@ -144,7 +146,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private String outTradeNo; /** *- * 访问接口IP + * 访问接口IP. * user_ip * 是 * String(16) @@ -157,7 +159,7 @@ public class WxPayReportRequest extends BaseWxPayRequest { private String userIp; /** *- * 商户上报时间 + * 商户上报时间. * time * 否 * String(14) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/constant/WxPayConstants.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/constant/WxPayConstants.java index 01753c0e..cd7aab75 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/constant/WxPayConstants.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/constant/WxPayConstants.java @@ -1,11 +1,12 @@ package com.github.binarywang.wxpay.constant; -import com.google.common.collect.Lists; -import org.apache.commons.lang3.time.FastDateFormat; - import java.text.Format; import java.util.List; +import org.apache.commons.lang3.time.FastDateFormat; + +import com.google.common.collect.Lists; + /** ** 微信支付常量类 @@ -19,7 +20,7 @@ public class WxPayConstants { /** * 拉取订单评价数据接口的参数中日期格式. */ - public static final Format QUERY_COMMENT_DATE_FORMAT = FastDateFormat.getInstance("yyyyMMddHHmmss"); + public static final Format QUERY_COMMENT_DATE_FORMAT = FastDateFormat.getInstance("yyyyMMddHHmmss"); /** * 校验用户姓名选项,企业付款时使用. @@ -108,7 +109,7 @@ public class WxPayConstants { /** * 账户类型 */ - public static class AccountType{ + public static class AccountType { /** * 基本账户 */ @@ -272,49 +273,4 @@ public class WxPayConstants { */ public static final String CHANGE = "CHANGE"; } - - /** - * 关闭订单结果错误代码. - */ - public static class OrderCloseResultErrorCode { - /** - * 订单已支付. - */ - public static final String ORDER_PAID = "ORDERPAID"; - - /** - * 系统错误. - */ - public static final String SYSTEM_ERROR = "SYSTEMERROR"; - - /** - * 订单不存在. - */ - public static final String ORDER_NOT_EXIST = "ORDERNOTEXIST"; - - /** - * 订单已关闭. - */ - public static final String ORDER_CLOSED = "ORDERCLOSED"; - - /** - * 签名错误. - */ - public static final String SIGN_ERROR = "SIGNERROR"; - - /** - * 未使用POST传递参数. - */ - public static final String REQUIRE_POST_METHOD = "REQUIRE_POST_METHOD"; - - /** - * XML格式错误. - */ - public static final String XML_FORMAT_ERROR = "XML_FORMAT_ERROR"; - - /** - * 订单状态错误. - */ - public static final String TRADE_STATE_ERROR = "TRADE_STATE_ERROR"; - } } diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/constant/WxPayErrorCode.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/constant/WxPayErrorCode.java new file mode 100644 index 00000000..0cb7568f --- /dev/null +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/constant/WxPayErrorCode.java @@ -0,0 +1,495 @@ +package com.github.binarywang.wxpay.constant; + +/** + *+ * 微信支付错误码 + * Created by Binary Wang on 2018/11/18. + *+ * + * @author Binary Wang + */ +public class WxPayErrorCode { + /** + * 统一下单接口的错误码. + * https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1 + */ + public static class UnifiedOrder { + /** + *+ * 描述:商户无此接口权限. + * 原因:商户未开通此接口权限 + * 解决方案:请商户前往申请此接口权限 + *+ */ + public static final String NOAUTH = "NOAUTH"; + /** + *+ * 描述:余额不足. + * 原因:用户帐号余额不足 + * 解决方案:用户帐号余额不足,请用户充值或更换支付卡后再支付 + *+ */ + public static final String NOTENOUGH = "NOTENOUGH"; + /** + *+ * 描述:商户订单已支付. + * 原因:商户订单已支付,无需重复操作 + * 解决方案:商户订单已支付,无需更多操作 + *+ */ + public static final String ORDERPAID = "ORDERPAID"; + /** + *+ * 描述:订单已关闭. + * 原因:当前订单已关闭,无法支付 + * 解决方案:当前订单已关闭,请重新下单 + *+ */ + public static final String ORDERCLOSED = "ORDERCLOSED"; + /** + *+ * 描述:系统错误. + * 原因:系统超时 + * 解决方案:系统异常,请用相同参数重新调用 + *+ */ + public static final String SYSTEMERROR = "SYSTEMERROR"; + /** + *+ * 描述:APPID不存在. + * 原因:参数中缺少APPID + * 解决方案:请检查APPID是否正确 + *+ */ + public static final String APPID_NOT_EXIST = "APPID_NOT_EXIST"; + /** + *+ * 描述:MCHID不存在. + * 原因:参数中缺少MCHID + * 解决方案:请检查MCHID是否正确 + *+ */ + public static final String MCHID_NOT_EXIST = "MCHID_NOT_EXIST"; + /** + *+ * 描述:appid和mch_id不匹配. + * 原因:appid和mch_id不匹配 + * 解决方案:请确认appid和mch_id是否匹配 + *+ */ + public static final String APPID_MCHID_NOT_MATCH = "APPID_MCHID_NOT_MATCH"; + /** + *+ * 描述:缺少参数. + * 原因:缺少必要的请求参数 + * 解决方案:请检查参数是否齐全 + *+ */ + public static final String LACK_PARAMS = "LACK_PARAMS"; + /** + *+ * 描述:商户订单号重复. + * 原因:同一笔交易不能多次提交 + * 解决方案:请核实商户订单号是否重复提交 + *+ */ + public static final String OUT_TRADE_NO_USED = "OUT_TRADE_NO_USED"; + /** + *+ * 描述:签名错误. + * 原因:参数签名结果不正确 + * 解决方案:请检查签名参数和方法是否都符合签名算法要求 + *+ */ + public static final String SIGNERROR = "SIGNERROR"; + /** + *+ * 描述:XML格式错误. + * 原因:XML格式错误 + * 解决方案:请检查XML参数格式是否正确 + *+ */ + public static final String XML_FORMAT_ERROR = "XML_FORMAT_ERROR"; + /** + *+ * 描述:请使用post方法. + * 原因:未使用post传递参数 + * 解决方案:请检查请求参数是否通过post方法提交 + *+ */ + public static final String REQUIRE_POST_METHOD = "REQUIRE_POST_METHOD"; + /** + *+ * 描述:post数据为空. + * 原因:post数据不能为空 + * 解决方案:请检查post数据是否为空 + *+ */ + public static final String POST_DATA_EMPTY = "POST_DATA_EMPTY"; + /** + *+ * 描述:编码格式错误. + * 原因:未使用指定编码格式 + * 解决方案:请使用UTF-8编码格式 + *+ */ + public static final String NOT_UTF8 = "NOT_UTF8"; + } + + /** + * 关闭订单. + * https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_3&index=5 + */ + public static class OrderClose { + /** + * 订单已支付. + */ + public static final String ORDER_PAID = "ORDERPAID"; + + /** + * 系统错误. + */ + public static final String SYSTEM_ERROR = "SYSTEMERROR"; + + /** + * 订单不存在. + */ + public static final String ORDER_NOT_EXIST = "ORDERNOTEXIST"; + + /** + * 订单已关闭. + */ + public static final String ORDER_CLOSED = "ORDERCLOSED"; + + /** + * 签名错误. + */ + public static final String SIGN_ERROR = "SIGNERROR"; + + /** + * 未使用POST传递参数. + */ + public static final String REQUIRE_POST_METHOD = "REQUIRE_POST_METHOD"; + + /** + * XML格式错误. + */ + public static final String XML_FORMAT_ERROR = "XML_FORMAT_ERROR"; + + /** + * 订单状态错误. + */ + public static final String TRADE_STATE_ERROR = "TRADE_STATE_ERROR"; + } + + /** + * 退款申请. + * https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_4&index=6 + */ + public static class Refund { + /** + *+ * 描述:接口返回错误. + * 原因:系统超时等 + * 解决方案:请不要更换商户退款单号,请使用相同参数再次调用API。 + *+ */ + public static final String SYSTEMERROR = "SYSTEMERROR"; + /** + *+ * 描述:退款业务流程错误,需要商户触发重试来解决. + * 原因:并发情况下,业务被拒绝,商户重试即可解决 + * 解决方案:请不要更换商户退款单号,请使用相同参数再次调用API。 + *+ */ + public static final String BIZERR_NEED_RETRY = "BIZERR_NEED_RETRY"; + /** + *+ * 描述:订单已经超过退款期限. + * 原因:订单已经超过可退款的最大期限(支付后一年内可退款) + * 解决方案:请选择其他方式自行退款 + *+ */ + public static final String TRADE_OVERDUE = "TRADE_OVERDUE"; + /** + *+ * 描述:业务错误. + * 原因:申请退款业务发生错误 + * 解决方案:该错误都会返回具体的错误原因,请根据实际返回做相应处理。 + *+ */ + public static final String ERROR = "ERROR"; + /** + *+ * 描述:退款请求失败. + * 原因:用户帐号注销 + * 解决方案:此状态代表退款申请失败,商户可自行处理退款。 + *+ */ + public static final String USER_ACCOUNT_ABNORMAL = "USER_ACCOUNT_ABNORMAL"; + /** + *+ * 描述:无效请求过多. + * 原因:连续错误请求数过多被系统短暂屏蔽 + * 解决方案:请检查业务是否正常,确认业务正常后请在1分钟后再来重试 + *+ */ + public static final String INVALID_REQ_TOO_MUCH = "INVALID_REQ_TOO_MUCH"; + /** + *+ * 描述:余额不足. + * 原因:商户可用退款余额不足 + * 解决方案:此状态代表退款申请失败,商户可根据具体的错误提示做相应的处理。 + *+ */ + public static final String NOTENOUGH = "NOTENOUGH"; + /** + *+ * 描述:无效transaction_id. + * 原因:请求参数未按指引进行填写 + * 解决方案:请求参数错误,检查原交易号是否存在或发起支付交易接口返回失败 + *+ */ + public static final String INVALID_TRANSACTIONID = "INVALID_TRANSACTIONID"; + /** + *+ * 描述:参数错误. + * 原因:请求参数未按指引进行填写 + * 解决方案:请求参数错误,请重新检查再调用退款申请 + *+ */ + public static final String PARAM_ERROR = "PARAM_ERROR"; + /** + *+ * 描述:APPID不存在. + * 原因:参数中缺少APPID + * 解决方案:请检查APPID是否正确 + *+ */ + public static final String APPID_NOT_EXIST = "APPID_NOT_EXIST"; + /** + *+ * 描述:MCHID不存在. + * 原因:参数中缺少MCHID + * 解决方案:请检查MCHID是否正确 + *+ */ + public static final String MCHID_NOT_EXIST = "MCHID_NOT_EXIST"; + /** + *+ * 描述:订单号不存在. + * 原因:缺少有效的订单号 + * 解决方案:请检查你的订单号是否正确且是否已支付,未支付的订单不能发起退款 + *+ */ + public static final String ORDERNOTEXIST = "ORDERNOTEXIST"; + /** + *+ * 描述:请使用post方法. + * 原因:未使用post传递参数 + * 解决方案:请检查请求参数是否通过post方法提交 + *+ */ + public static final String REQUIRE_POST_METHOD = "REQUIRE_POST_METHOD"; + /** + *+ * 描述:签名错误. + * 原因:参数签名结果不正确 + * 解决方案:请检查签名参数和方法是否都符合签名算法要求 + *+ */ + public static final String SIGNERROR = "SIGNERROR"; + /** + *+ * 描述:XML格式错误. + * 原因:XML格式错误 + * 解决方案:请检查XML参数格式是否正确 + *+ */ + public static final String XML_FORMAT_ERROR = "XML_FORMAT_ERROR"; + /** + *+ * 描述:频率限制. + * 原因:2个月之前的订单申请退款有频率限制 + * 解决方案:该笔退款未受理,请降低频率后重试 + *+ */ + public static final String FREQUENCY_LIMITED = "FREQUENCY_LIMITED"; + } + + /** + * 退款查询. + * https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_4&index=7 + */ + public static class RefundQuery { + /** + *+ * 描述:接口返回错误. + * 原因:系统超时 + * 解决方案:请尝试再次掉调用API。 + *+ */ + public static final String SYSTEMERROR = "SYSTEMERROR"; + + /** + *+ * 描述:退款订单查询失败. + * 原因:订单号错误或订单状态不正确 + * 解决方案:请检查订单号是否有误以及订单状态是否正确,如:未支付、已支付未退款 + *+ */ + public static final String REFUNDNOTEXIST = "REFUNDNOTEXIST"; + + /** + *+ * 描述:无效transaction_id. + * 原因:请求参数未按指引进行填写 + * 解决方案:请求参数错误,检查原交易号是否存在或发起支付交易接口返回失败 + *+ */ + public static final String INVALID_TRANSACTIONID = "INVALID_TRANSACTIONID"; + + /** + *+ * 描述:参数错误. + * 原因:请求参数未按指引进行填写 + * 解决方案:请求参数错误,请检查参数再调用退款申请 + *+ */ + public static final String PARAM_ERROR = "PARAM_ERROR"; + + /** + *+ * 描述:APPID不存在. + * 原因:参数中缺少APPID + * 解决方案:请检查APPID是否正确 + *+ */ + public static final String APPID_NOT_EXIST = "APPID_NOT_EXIST"; + + /** + *+ * 描述:MCHID不存在. + * 原因:参数中缺少MCHID + * 解决方案:请检查MCHID是否正确 + *+ */ + public static final String MCHID_NOT_EXIST = "MCHID_NOT_EXIST"; + + /** + *+ * 描述:请使用post方法. + * 原因:未使用post传递参数 + * 解决方案:请检查请求参数是否通过post方法提交 + *+ */ + public static final String REQUIRE_POST_METHOD = "REQUIRE_POST_METHOD"; + + /** + *+ * 描述:签名错误. + * 原因:参数签名结果不正确 + * 解决方案:请检查签名参数和方法是否都符合签名算法要求 + *+ */ + public static final String SIGNERROR = "SIGNERROR"; + + /** + *+ * 描述:XML格式错误. + * 原因:XML格式错误 + * 解决方案:请检查XML参数格式是否正确 + *+ */ + public static final String XML_FORMAT_ERROR = "XML_FORMAT_ERROR"; + } + + /** + * 下载对账单. + * https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_4&index=8 + */ + public static class DownloadBill { + /** + *+ * 描述:下载失败. + * 原因:系统超时 + * 解决方案:请尝试再次查询。 + *+ */ + public static final String SYSTEMERROR = "SYSTEMERROR"; + + /** + *+ * 描述:参数错误. + * 原因:请求参数未按指引进行填写 + * 解决方案:参数错误,请重新检查 + *+ */ + public static final String INVALID_BILL_TYPE = "invalid bill_type"; + + /** + *+ * 描述:参数错误. + * 原因:请求参数未按指引进行填写 + * 解决方案:参数错误,请重新检查 + *+ */ + public static final String DATA_FORMAT_ERROR = "data format error"; + + /** + *+ * 描述:参数错误. + * 原因:请求参数未按指引进行填写 + * 解决方案:参数错误,请重新检查 + *+ */ + public static final String MISSING_PARAMETER = "missing parameter"; + + /** + *+ * 描述:参数错误. + * 原因:请求参数未按指引进行填写 + * 解决方案:参数错误,请重新检查 + *+ */ + public static final String SIGN_ERROR = "SIGN ERROR"; + + /** + *+ * 描述:账单不存在. + * 原因:当前商户号没有已成交的订单,不生成对账单 + * 解决方案:请检查当前商户号在指定日期内是否有成功的交易。 + *+ */ + public static final String NO_Bill_Exist = "NO Bill Exist"; + + /** + *+ * 描述:账单未生成. + * 原因:当前商户号没有已成交的订单或对账单尚未生成 + * 解决方案:请先检查当前商户号在指定日期内是否有成功的交易,如指定日期有交易则表示账单正在生成中,请在上午10点以后再下载。 + *+ */ + public static final String BILL_CREATING = "Bill Creating"; + + /** + *+ * 描述:账单压缩失败. + * 原因:账单压缩失败,请稍后重试 + * 解决方案:账单压缩失败,请稍后重试 + *+ */ + public static final String COMPRESSG_ZIP_ERROR = "CompressGZip Error"; + + /** + *+ * 描述:账单解压失败. + * 原因:账单解压失败,请稍后重试 + * 解决方案:账单解压失败,请稍后重试 + *+ */ + public static final String UN_COMPRESSG_ZIP_ERROR = "UnCompressGZip Error"; + + + } +}