|
|
|
@@ -40,37 +40,161 @@ public class WxRefundOrderServiceImpl implements WxRefundOrderService { |
|
|
|
@Autowired |
|
|
|
WxPayAccountMapper wxPayAccountMapper; |
|
|
|
|
|
|
|
JSONObject errorRefundReqMap = JSON.parseObject("{\"SYSTEMERROR\":{\"detail\":\"接口返回错误\",\"reason\":\"系统超时等\",\"resolution\":\"请不要更换商户退款单号,请使用相同参数再次调用API。\"},\n" + |
|
|
|
"{\"BIZERR_NEED_RETRY\":{\"detail\":\"退款业务流程错误,需要商户触发重试来解决\",\"reason\":\"并发情况下,业务被拒绝,商户重试即可解决\",\"resolution\":\"请不要更换商户退款单号,请使用相同参数再次调用API。\"},\n" + |
|
|
|
"{\"TRADE_OVERDUE\":{\"detail\":\"订单已经超过退款期限\",\"reason\":\"订单已经超过可退款的最大期限(支付后一年内可退款)\t\",\"resolution\":\"请选择其他方式自行退款\"},\n" + |
|
|
|
"{\"ERROR\":{\"detail\":\"业务错误\",\"reason\":\"申请退款业务发生错误\",\"resolution\":\"该错误都会返回具体的错误原因,请根据实际返回做相应处理。\"},\n" + |
|
|
|
"{\"USER_ACCOUNT_ABNORMAL\":{\"detail\":\"退款请求失败\",\"reason\":\"用户帐号注销\",\"resolution\":\"此状态代表退款申请失败,商户可自行处理退款。\"},\n" + |
|
|
|
"{\"INVALID_REQ_TOO_MUCH\":{\"detail\":\"无效请求过多\",\"reason\":\"连续错误请求数过多被系统短暂屏蔽\t\",\"resolution\":\"请检查业务是否正常,确认业务正常后请在1分钟后再来重试\"},\n" + |
|
|
|
"{\"NOTENOUGH\":{\"detail\":\"余额不足\",\"reason\":\"商户可用退款余额不足\",\"resolution\":\"此状态代表退款申请失败,商户可根据具体的错误提示做相应的处理。\"},\n" + |
|
|
|
"{\"INVALID_TRANSACTIONID\":{\"detail\":\"无效transaction_id\",\"reason\":\"请求参数未按指引进行填写\",\"resolution\":\"请求参数错误,检查原交易号是否存在或发起支付交易接口返回失败\"},\n" + |
|
|
|
"{\"PARAM_ERROR\":{\"detail\":\"参数错误\",\"reason\":\"请求参数未按指引进行填写\",\"resolution\":\"请求参数错误,请重新检查再调用退款申请\"},\n" + |
|
|
|
"{\"APPID_NOT_EXIST\":{\"detail\":\"APPID不存在\",\"reason\":\"参数中缺少APPID\",\"resolution\":\"请检查APPID是否正确\"},\n" + |
|
|
|
"{\"MCHID_NOT_EXIST\":{\"detail\":\"MCHID不存在\",\"reason\":\"参数中缺少MCHID\",\"resolution\":\"请检查MCHID是否正确\"},\n" + |
|
|
|
"{\"REQUIRE_POST_METHOD\":{\"detail\":\"请使用post方法\",\"reason\":\"未使用post传递参数\",\"resolution\":\"请检查请求参数是否通过post方法提交\"},\n" + |
|
|
|
"{\"SIGNERROR\":{\"detail\":\"签名错误\",\"reason\":\"参数签名结果不正确\",\"resolution\":\"请检查签名参数和方法是否都符合签名算法要求\"},\n" + |
|
|
|
"{\"XML_FORMAT_ERROR\":{\"detail\":\"XML格式错误\",\"reason\":\"XML格式错误\",\"resolution\":\"请检查XML参数格式是否正确\"},\n" + |
|
|
|
"{\"FREQUENCY_LIMITED\":{\"detail\":\"频率限制\",\"reason\":\"2个月之前的订单申请退款有频率限制\",\"resolution\":\"该笔退款未受理,请降低频率后重试\"}"); |
|
|
|
|
|
|
|
JSONObject errorRefundQueryMap = JSON.parseObject("{\"SYSTEMERROR\":{\"detail\":\"接口返回错误\",\"reason\":\"系统超时等\",\"resolution\":\"请不要更换商户退款单号,请使用相同参数再次调用API。\"},\n" + |
|
|
|
"{\"BIZERR_NEED_RETRY\":{\"detail\":\"退款业务流程错误,需要商户触发重试来解决\",\"reason\":\"并发情况下,业务被拒绝,商户重试即可解决\",\"resolution\":\"请不要更换商户退款单号,请使用相同参数再次调用API。\"},\n" + |
|
|
|
"{\"TRADE_OVERDUE\":{\"detail\":\"订单已经超过退款期限\",\"reason\":\"订单已经超过可退款的最大期限(支付后一年内可退款)\t\",\"resolution\":\"请选择其他方式自行退款\"},\n" + |
|
|
|
"{\"ERROR\":{\"detail\":\"业务错误\",\"reason\":\"申请退款业务发生错误\",\"resolution\":\"该错误都会返回具体的错误原因,请根据实际返回做相应处理。\"},\n" + |
|
|
|
"{\"USER_ACCOUNT_ABNORMAL\":{\"detail\":\"退款请求失败\",\"reason\":\"用户帐号注销\",\"resolution\":\"此状态代表退款申请失败,商户可自行处理退款。\"},\n" + |
|
|
|
"{\"INVALID_REQ_TOO_MUCH\":{\"detail\":\"无效请求过多\",\"reason\":\"连续错误请求数过多被系统短暂屏蔽\t\",\"resolution\":\"请检查业务是否正常,确认业务正常后请在1分钟后再来重试\"},\n" + |
|
|
|
"{\"NOTENOUGH\":{\"detail\":\"余额不足\",\"reason\":\"商户可用退款余额不足\",\"resolution\":\"此状态代表退款申请失败,商户可根据具体的错误提示做相应的处理。\"},\n" + |
|
|
|
"{\"INVALID_TRANSACTIONID\":{\"detail\":\"无效transaction_id\",\"reason\":\"请求参数未按指引进行填写\",\"resolution\":\"请求参数错误,检查原交易号是否存在或发起支付交易接口返回失败\"},\n" + |
|
|
|
"{\"PARAM_ERROR\":{\"detail\":\"参数错误\",\"reason\":\"请求参数未按指引进行填写\",\"resolution\":\"请求参数错误,请重新检查再调用退款申请\"},\n" + |
|
|
|
"{\"APPID_NOT_EXIST\":{\"detail\":\"APPID不存在\",\"reason\":\"参数中缺少APPID\",\"resolution\":\"请检查APPID是否正确\"},\n" + |
|
|
|
"{\"MCHID_NOT_EXIST\":{\"detail\":\"MCHID不存在\",\"reason\":\"参数中缺少MCHID\",\"resolution\":\"请检查MCHID是否正确\"},\n" + |
|
|
|
"{\"REQUIRE_POST_METHOD\":{\"detail\":\"请使用post方法\",\"reason\":\"未使用post传递参数\",\"resolution\":\"请检查请求参数是否通过post方法提交\"},\n" + |
|
|
|
"{\"SIGNERROR\":{\"detail\":\"签名错误\",\"reason\":\"参数签名结果不正确\",\"resolution\":\"请检查签名参数和方法是否都符合签名算法要求\"},\n" + |
|
|
|
"{\"XML_FORMAT_ERROR\":{\"detail\":\"XML格式错误\",\"reason\":\"XML格式错误\",\"resolution\":\"请检查XML参数格式是否正确\"},\n" + |
|
|
|
"{\"FREQUENCY_LIMITED\":{\"detail\":\"频率限制\",\"reason\":\"2个月之前的订单申请退款有频率限制\",\"resolution\":\"该笔退款未受理,请降低频率后重试\"}"); |
|
|
|
JSONObject errorRefundReqMap = JSON.parseObject("{\n" + |
|
|
|
" \"SYSTEMERROR\": {\n" + |
|
|
|
" \"detail\": \"接口返回错误\",\n" + |
|
|
|
" \"reason\": \"系统超时等\",\n" + |
|
|
|
" \"resolution\": \"请不要更换商户退款单号,请使用相同参数再次调用API。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"BIZERR_NEED_RETRY\": {\n" + |
|
|
|
" \"detail\": \"退款业务流程错误,需要商户触发重试来解决\",\n" + |
|
|
|
" \"reason\": \"并发情况下,业务被拒绝,商户重试即可解决\",\n" + |
|
|
|
" \"resolution\": \"请不要更换商户退款单号,请使用相同参数再次调用API。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"TRADE_OVERDUE\": {\n" + |
|
|
|
" \"detail\": \"订单已经超过退款期限\",\n" + |
|
|
|
" \"reason\": \"订单已经超过可退款的最大期限(支付后一年内可退款)\\t\",\n" + |
|
|
|
" \"resolution\": \"请选择其他方式自行退款\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"ERROR\": {\n" + |
|
|
|
" \"detail\": \"业务错误\",\n" + |
|
|
|
" \"reason\": \"申请退款业务发生错误\",\n" + |
|
|
|
" \"resolution\": \"该错误都会返回具体的错误原因,请根据实际返回做相应处理。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"USER_ACCOUNT_ABNORMAL\": {\n" + |
|
|
|
" \"detail\": \"退款请求失败\",\n" + |
|
|
|
" \"reason\": \"用户帐号注销\",\n" + |
|
|
|
" \"resolution\": \"此状态代表退款申请失败,商户可自行处理退款。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"INVALID_REQ_TOO_MUCH\": {\n" + |
|
|
|
" \"detail\": \"无效请求过多\",\n" + |
|
|
|
" \"reason\": \"连续错误请求数过多被系统短暂屏蔽\\t\",\n" + |
|
|
|
" \"resolution\": \"请检查业务是否正常,确认业务正常后请在1分钟后再来重试\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"NOTENOUGH\": {\n" + |
|
|
|
" \"detail\": \"余额不足\",\n" + |
|
|
|
" \"reason\": \"商户可用退款余额不足\",\n" + |
|
|
|
" \"resolution\": \"此状态代表退款申请失败,商户可根据具体的错误提示做相应的处理。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"INVALID_TRANSACTIONID\": {\n" + |
|
|
|
" \"detail\": \"无效transaction_id\",\n" + |
|
|
|
" \"reason\": \"请求参数未按指引进行填写\",\n" + |
|
|
|
" \"resolution\": \"请求参数错误,检查原交易号是否存在或发起支付交易接口返回失败\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"PARAM_ERROR\": {\n" + |
|
|
|
" \"detail\": \"参数错误\",\n" + |
|
|
|
" \"reason\": \"请求参数未按指引进行填写\",\n" + |
|
|
|
" \"resolution\": \"请求参数错误,请重新检查再调用退款申请\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"APPID_NOT_EXIST\": {\n" + |
|
|
|
" \"detail\": \"APPID不存在\",\n" + |
|
|
|
" \"reason\": \"参数中缺少APPID\",\n" + |
|
|
|
" \"resolution\": \"请检查APPID是否正确\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"MCHID_NOT_EXIST\": {\n" + |
|
|
|
" \"detail\": \"MCHID不存在\",\n" + |
|
|
|
" \"reason\": \"参数中缺少MCHID\",\n" + |
|
|
|
" \"resolution\": \"请检查MCHID是否正确\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"REQUIRE_POST_METHOD\": {\n" + |
|
|
|
" \"detail\": \"请使用post方法\",\n" + |
|
|
|
" \"reason\": \"未使用post传递参数\",\n" + |
|
|
|
" \"resolution\": \"请检查请求参数是否通过post方法提交\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"SIGNERROR\": {\n" + |
|
|
|
" \"detail\": \"签名错误\",\n" + |
|
|
|
" \"reason\": \"参数签名结果不正确\",\n" + |
|
|
|
" \"resolution\": \"请检查签名参数和方法是否都符合签名算法要求\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"XML_FORMAT_ERROR\": {\n" + |
|
|
|
" \"detail\": \"XML格式错误\",\n" + |
|
|
|
" \"reason\": \"XML格式错误\",\n" + |
|
|
|
" \"resolution\": \"请检查XML参数格式是否正确\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"FREQUENCY_LIMITED\": {\n" + |
|
|
|
" \"detail\": \"频率限制\",\n" + |
|
|
|
" \"reason\": \"2个月之前的订单申请退款有频率限制\",\n" + |
|
|
|
" \"resolution\": \"该笔退款未受理,请降低频率后重试\"\n" + |
|
|
|
" }\n" + |
|
|
|
"}"); |
|
|
|
|
|
|
|
JSONObject errorRefundQueryMap = JSON.parseObject("{\n" + |
|
|
|
" \"SYSTEMERROR\": {\n" + |
|
|
|
" \"detail\": \"接口返回错误\",\n" + |
|
|
|
" \"reason\": \"系统超时等\",\n" + |
|
|
|
" \"resolution\": \"请不要更换商户退款单号,请使用相同参数再次调用API。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"BIZERR_NEED_RETRY\": {\n" + |
|
|
|
" \"detail\": \"退款业务流程错误,需要商户触发重试来解决\",\n" + |
|
|
|
" \"reason\": \"并发情况下,业务被拒绝,商户重试即可解决\",\n" + |
|
|
|
" \"resolution\": \"请不要更换商户退款单号,请使用相同参数再次调用API。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"TRADE_OVERDUE\": {\n" + |
|
|
|
" \"detail\": \"订单已经超过退款期限\",\n" + |
|
|
|
" \"reason\": \"订单已经超过可退款的最大期限(支付后一年内可退款)\\t\",\n" + |
|
|
|
" \"resolution\": \"请选择其他方式自行退款\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"ERROR\": {\n" + |
|
|
|
" \"detail\": \"业务错误\",\n" + |
|
|
|
" \"reason\": \"申请退款业务发生错误\",\n" + |
|
|
|
" \"resolution\": \"该错误都会返回具体的错误原因,请根据实际返回做相应处理。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"USER_ACCOUNT_ABNORMAL\": {\n" + |
|
|
|
" \"detail\": \"退款请求失败\",\n" + |
|
|
|
" \"reason\": \"用户帐号注销\",\n" + |
|
|
|
" \"resolution\": \"此状态代表退款申请失败,商户可自行处理退款。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"INVALID_REQ_TOO_MUCH\": {\n" + |
|
|
|
" \"detail\": \"无效请求过多\",\n" + |
|
|
|
" \"reason\": \"连续错误请求数过多被系统短暂屏蔽\\t\",\n" + |
|
|
|
" \"resolution\": \"请检查业务是否正常,确认业务正常后请在1分钟后再来重试\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"NOTENOUGH\": {\n" + |
|
|
|
" \"detail\": \"余额不足\",\n" + |
|
|
|
" \"reason\": \"商户可用退款余额不足\",\n" + |
|
|
|
" \"resolution\": \"此状态代表退款申请失败,商户可根据具体的错误提示做相应的处理。\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"INVALID_TRANSACTIONID\": {\n" + |
|
|
|
" \"detail\": \"无效transaction_id\",\n" + |
|
|
|
" \"reason\": \"请求参数未按指引进行填写\",\n" + |
|
|
|
" \"resolution\": \"请求参数错误,检查原交易号是否存在或发起支付交易接口返回失败\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"PARAM_ERROR\": {\n" + |
|
|
|
" \"detail\": \"参数错误\",\n" + |
|
|
|
" \"reason\": \"请求参数未按指引进行填写\",\n" + |
|
|
|
" \"resolution\": \"请求参数错误,请重新检查再调用退款申请\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"APPID_NOT_EXIST\": {\n" + |
|
|
|
" \"detail\": \"APPID不存在\",\n" + |
|
|
|
" \"reason\": \"参数中缺少APPID\",\n" + |
|
|
|
" \"resolution\": \"请检查APPID是否正确\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"MCHID_NOT_EXIST\": {\n" + |
|
|
|
" \"detail\": \"MCHID不存在\",\n" + |
|
|
|
" \"reason\": \"参数中缺少MCHID\",\n" + |
|
|
|
" \"resolution\": \"请检查MCHID是否正确\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"REQUIRE_POST_METHOD\": {\n" + |
|
|
|
" \"detail\": \"请使用post方法\",\n" + |
|
|
|
" \"reason\": \"未使用post传递参数\",\n" + |
|
|
|
" \"resolution\": \"请检查请求参数是否通过post方法提交\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"SIGNERROR\": {\n" + |
|
|
|
" \"detail\": \"签名错误\",\n" + |
|
|
|
" \"reason\": \"参数签名结果不正确\",\n" + |
|
|
|
" \"resolution\": \"请检查签名参数和方法是否都符合签名算法要求\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"XML_FORMAT_ERROR\": {\n" + |
|
|
|
" \"detail\": \"XML格式错误\",\n" + |
|
|
|
" \"reason\": \"XML格式错误\",\n" + |
|
|
|
" \"resolution\": \"请检查XML参数格式是否正确\"\n" + |
|
|
|
" },\n" + |
|
|
|
" \"FREQUENCY_LIMITED\": {\n" + |
|
|
|
" \"detail\": \"频率限制\",\n" + |
|
|
|
" \"reason\": \"2个月之前的订单申请退款有频率限制\",\n" + |
|
|
|
" \"resolution\": \"该笔退款未受理,请降低频率后重试\"\n" + |
|
|
|
" }\n" + |
|
|
|
"}"); |
|
|
|
|
|
|
|
@Override |
|
|
|
public ResultData createRefundOrder(WxAppinfo appInfo, WxRefundOrder record, EnumPayWay payWay) { |
|
|
|
|