| @@ -203,98 +203,98 @@ public class WxBusinessOrderController extends BaseController { | |||||
| } | } | ||||
| @PostMapping(value = "/test") | |||||
| @ResponseBody | |||||
| public void createOrdertests(){ | |||||
| // SignatureHeader(timeStamp=1627973486, nonce=pKGTNqxLaljN9jB5DprFagpmggWIhyBA, signed=gDmv1WDCGdlIyyW9bGDJuztWNritufRsiYt5bPfudpwvPA9hHWM47eFeZYzHpgxttnxyAL10XYbPK8SngtCHSeOghS4gXHuAQoWv3RlEkTHhIcf1eg+uD4zd4PsNqJ35YlW6RyYkjv/Y8didERnkvXZPvDrzP5DKsurLXvMJBs7mzVzt6QIgZa2DuVjnhmSk4aC3wPs7lqm8ElWsEblCr8k9RSrP92PFGSTnU5owAUrTMTL1kqfwzavzwVJxafAGkXxrHbybpP5qZ5DjttAhDkRI3L2xQfPvHAFyibnwk2N9KYC9H6AOuZIuku/9eRlan+ZMDln63gaPFfvl1OB7hg==, serialNo=76EEF0C28D079D9CED85C67237F173FF825CFAE7) | |||||
| SignatureHeader header = new SignatureHeader(); | |||||
| header.setSerialNo("76EEF0C28D079D9CED85C67237F173FF825CFAE7"); | |||||
| header.setTimeStamp("1627973486"); | |||||
| header.setNonce("pKGTNqxLaljN9jB5DprFagpmggWIhyBA"); | |||||
| header.setSigned("gDmv1WDCGdlIyyW9bGDJuztWNritufRsiYt5bPfudpwvPA9hHWM47eFeZYzHpgxttnxyAL10XYbPK8SngtCHSeOghS4gXHuAQoWv3RlEkTHhIcf1eg+uD4zd4PsNqJ35YlW6RyYkjv/Y8didERnkvXZPvDrzP5DKsurLXvMJBs7mzVzt6QIgZa2DuVjnhmSk4aC3wPs7lqm8ElWsEblCr8k9RSrP92PFGSTnU5owAUrTMTL1kqfwzavzwVJxafAGkXxrHbybpP5qZ5DjttAhDkRI3L2xQfPvHAFyibnwk2N9KYC9H6AOuZIuku/9eRlan+ZMDln63gaPFfvl1OB7hg=="); | |||||
| logger.info("微信商圈支付通知---header{}"+header.toString()); | |||||
| String tenantId = "1019"; | |||||
| TenantEntity tenantEntity = wxMallService.getByTenantId(tenantId); | |||||
| try { | |||||
| // {"id":"fe9f7590-89d3-588a-a5a3-f3ca5cb6e806","create_time":"2021-08-03T14:51:23+08:00","resource_type":"encrypt-resource","event_type":"MALL_TRANSACTION.SUCCESS","summary":"支付成功","resource":{"original_type":"mall_transaction","algorithm":"AEAD_AES_256_GCM","ciphertext":"T9VctVJB+7Zs0dhZnejwXNOvxHM/CfPt4S4C4cAtvSYsO2++8eVMN3dZky1/TLVg/mJtFBVHU4IiPavZMV+tULw3yKBs/JomTBHblb8De8GKU2/m03/wD3rxufdYejTnxXQWsdAEaWduM/zWCCtNIblayVE8Bz6p0cZtutk6jknYaDQk13sNGh1U12lpcElGf3i8LxLG0jWp+DBp2seOizBsjB8Cky/xEMjmd9OzbtrCd7K22ZtGv7gyA2C/9NY5gFT9tlcGFaD+BvOx69o7Sw1uHZ5IaXHTpI9SQlHCWCs8tGZtMZrlzgFLa/DI+TFkh//WYNcZRomhBydAbE4xQJqSWB5/81Rqa4gYT85YJPhgXRKGl+F0S/6jCYuL5cJpqUCojNz+g16znI8=","associated_data":"mall_transaction","nonce":"0GqZRhyTkcHG"}} | |||||
| String body = "{\"id\":\"fe9f7590-89d3-588a-a5a3-f3ca5cb6e806\",\"create_time\":\"2021-08-03T14:51:23+08:00\",\"resource_type\":\"encrypt-resource\",\"event_type\":\"MALL_TRANSACTION.SUCCESS\",\"summary\":\"支付成功\",\"resource\":{\"original_type\":\"mall_transaction\",\"algorithm\":\"AEAD_AES_256_GCM\",\"ciphertext\":\"T9VctVJB+7Zs0dhZnejwXNOvxHM/CfPt4S4C4cAtvSYsO2++8eVMN3dZky1/TLVg/mJtFBVHU4IiPavZMV+tULw3yKBs/JomTBHblb8De8GKU2/m03/wD3rxufdYejTnxXQWsdAEaWduM/zWCCtNIblayVE8Bz6p0cZtutk6jknYaDQk13sNGh1U12lpcElGf3i8LxLG0jWp+DBp2seOizBsjB8Cky/xEMjmd9OzbtrCd7K22ZtGv7gyA2C/9NY5gFT9tlcGFaD+BvOx69o7Sw1uHZ5IaXHTpI9SQlHCWCs8tGZtMZrlzgFLa/DI+TFkh//WYNcZRomhBydAbE4xQJqSWB5/81Rqa4gYT85YJPhgXRKGl+F0S/6jCYuL5cJpqUCojNz+g16znI8=\",\"associated_data\":\"mall_transaction\",\"nonce\":\"0GqZRhyTkcHG\"}}"; | |||||
| logger.info("微信商圈支付通知---body{}"+body); | |||||
| WxPayService wxPayService = wxPayAccountService.getWxPayService(tenantId); | |||||
| //----------------签名验证----------- | |||||
| // BusinessCircleNotifyData notifyData = verifySignature(request,wxPayService); | |||||
| BusinessCircleNotifyData notifyData = wxPayService.getBusinessCircleService().parseNotifyData(body, header); | |||||
| logger.info("微信商圈通知---回调通知对象{}"+notifyData.toString()); | |||||
| WxBusinessCircleOrder wxBusinessCircleOrder = new WxBusinessCircleOrder(); | |||||
| wxBusinessCircleOrder.updateTenantInfo(tenantEntity); | |||||
| wxBusinessCircleOrder.setNoticeId(notifyData.getId()); | |||||
| wxBusinessCircleOrder.setNoticeCreateTime(sdf.parse(notifyData.getCreateTime())); | |||||
| wxBusinessCircleOrder.setNoticeEventType(notifyData.getEventType()); | |||||
| wxBusinessCircleOrder.setSummary(notifyData.getSummary()); | |||||
| //解密 | |||||
| if(WxPayConstant.NOTICE_EVENT_TYPE.equals(notifyData.getEventType())){ | |||||
| PaidResult result = wxPayService.getBusinessCircleService().decryptPaidNotifyDataResource(notifyData); | |||||
| logger.info("微信商圈支付成功通知---解密结果{}"+result.toString()); | |||||
| wxBusinessCircleOrder.setWxMchid(result.getMchid()); | |||||
| wxBusinessCircleOrder.setWxMerchantName(result.getMerchantName()); | |||||
| wxBusinessCircleOrder.setWxShopName(result.getShopName()); | |||||
| wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber()); | |||||
| wxBusinessCircleOrder.setAppid(result.getAppid()); | |||||
| wxBusinessCircleOrder.setOpenid(result.getOpenid()); | |||||
| wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getTimeEnd())); | |||||
| wxBusinessCircleOrder.setAmount(result.getAmount()); | |||||
| wxBusinessCircleOrder.setPayAmount(result.getAmount()); | |||||
| wxBusinessCircleOrder.setTransactionId(result.getTransactionId()); | |||||
| wxBusinessCircleOrder.setCommitTag(result.getCommitTag()); | |||||
| }else if(WxPayConstant.REFUND_EVENT_TYPE.equals(notifyData.getEventType())){ | |||||
| RefundResult result = wxPayService.getBusinessCircleService().decryptRefundNotifyDataResource(notifyData); | |||||
| logger.info("微信商圈退款成功通知---解密结果{}"+result.toString()); | |||||
| wxBusinessCircleOrder.setWxMchid(result.getMchid()); | |||||
| wxBusinessCircleOrder.setWxMerchantName(result.getMerchantName()); | |||||
| wxBusinessCircleOrder.setWxShopName(result.getShopName()); | |||||
| wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber()); | |||||
| wxBusinessCircleOrder.setAppid(result.getAppid()); | |||||
| wxBusinessCircleOrder.setOpenid(result.getOpenid()); | |||||
| wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getRefundTime())); | |||||
| wxBusinessCircleOrder.setAmount(result.getPayAmount()); | |||||
| wxBusinessCircleOrder.setPayAmount(result.getPayAmount()); | |||||
| wxBusinessCircleOrder.setTransactionId(result.getTransactionId()); | |||||
| wxBusinessCircleOrder.setRefundAmount(result.getRefundAmount()); | |||||
| wxBusinessCircleOrder.setRefundId(result.getRefundId()); | |||||
| } | |||||
| } catch (WxPayException e) { | |||||
| e.printStackTrace(); | |||||
| logger.error("微信商圈通知---"+e.getCustomErrorMsg()); | |||||
| } catch (ParseException e) { | |||||
| e.printStackTrace(); | |||||
| logger.error("微信商圈通知---时间转换异常"); | |||||
| } catch(MallinkException e){ | |||||
| logger.error("微信商圈通知---"+e.getMessage()); | |||||
| }catch (Exception e){ | |||||
| e.printStackTrace(); | |||||
| logger.error("微信商圈通知---其他异常"); | |||||
| } | |||||
| } | |||||
| // @PostMapping(value = "/test") | |||||
| // @ResponseBody | |||||
| // public void createOrdertests(){ | |||||
| // | |||||
| //// SignatureHeader(timeStamp=1627973486, nonce=pKGTNqxLaljN9jB5DprFagpmggWIhyBA, signed=gDmv1WDCGdlIyyW9bGDJuztWNritufRsiYt5bPfudpwvPA9hHWM47eFeZYzHpgxttnxyAL10XYbPK8SngtCHSeOghS4gXHuAQoWv3RlEkTHhIcf1eg+uD4zd4PsNqJ35YlW6RyYkjv/Y8didERnkvXZPvDrzP5DKsurLXvMJBs7mzVzt6QIgZa2DuVjnhmSk4aC3wPs7lqm8ElWsEblCr8k9RSrP92PFGSTnU5owAUrTMTL1kqfwzavzwVJxafAGkXxrHbybpP5qZ5DjttAhDkRI3L2xQfPvHAFyibnwk2N9KYC9H6AOuZIuku/9eRlan+ZMDln63gaPFfvl1OB7hg==, serialNo=76EEF0C28D079D9CED85C67237F173FF825CFAE7) | |||||
| // | |||||
| // SignatureHeader header = new SignatureHeader(); | |||||
| // header.setSerialNo("76EEF0C28D079D9CED85C67237F173FF825CFAE7"); | |||||
| // header.setTimeStamp("1627973486"); | |||||
| // header.setNonce("pKGTNqxLaljN9jB5DprFagpmggWIhyBA"); | |||||
| // header.setSigned("gDmv1WDCGdlIyyW9bGDJuztWNritufRsiYt5bPfudpwvPA9hHWM47eFeZYzHpgxttnxyAL10XYbPK8SngtCHSeOghS4gXHuAQoWv3RlEkTHhIcf1eg+uD4zd4PsNqJ35YlW6RyYkjv/Y8didERnkvXZPvDrzP5DKsurLXvMJBs7mzVzt6QIgZa2DuVjnhmSk4aC3wPs7lqm8ElWsEblCr8k9RSrP92PFGSTnU5owAUrTMTL1kqfwzavzwVJxafAGkXxrHbybpP5qZ5DjttAhDkRI3L2xQfPvHAFyibnwk2N9KYC9H6AOuZIuku/9eRlan+ZMDln63gaPFfvl1OB7hg=="); | |||||
| // | |||||
| // | |||||
| // logger.info("微信商圈支付通知---header{}"+header.toString()); | |||||
| // String tenantId = "1019"; | |||||
| // TenantEntity tenantEntity = wxMallService.getByTenantId(tenantId); | |||||
| // | |||||
| // try { | |||||
| // // {"id":"fe9f7590-89d3-588a-a5a3-f3ca5cb6e806","create_time":"2021-08-03T14:51:23+08:00","resource_type":"encrypt-resource","event_type":"MALL_TRANSACTION.SUCCESS","summary":"支付成功","resource":{"original_type":"mall_transaction","algorithm":"AEAD_AES_256_GCM","ciphertext":"T9VctVJB+7Zs0dhZnejwXNOvxHM/CfPt4S4C4cAtvSYsO2++8eVMN3dZky1/TLVg/mJtFBVHU4IiPavZMV+tULw3yKBs/JomTBHblb8De8GKU2/m03/wD3rxufdYejTnxXQWsdAEaWduM/zWCCtNIblayVE8Bz6p0cZtutk6jknYaDQk13sNGh1U12lpcElGf3i8LxLG0jWp+DBp2seOizBsjB8Cky/xEMjmd9OzbtrCd7K22ZtGv7gyA2C/9NY5gFT9tlcGFaD+BvOx69o7Sw1uHZ5IaXHTpI9SQlHCWCs8tGZtMZrlzgFLa/DI+TFkh//WYNcZRomhBydAbE4xQJqSWB5/81Rqa4gYT85YJPhgXRKGl+F0S/6jCYuL5cJpqUCojNz+g16znI8=","associated_data":"mall_transaction","nonce":"0GqZRhyTkcHG"}} | |||||
| // | |||||
| // String body = "{\"id\":\"fe9f7590-89d3-588a-a5a3-f3ca5cb6e806\",\"create_time\":\"2021-08-03T14:51:23+08:00\",\"resource_type\":\"encrypt-resource\",\"event_type\":\"MALL_TRANSACTION.SUCCESS\",\"summary\":\"支付成功\",\"resource\":{\"original_type\":\"mall_transaction\",\"algorithm\":\"AEAD_AES_256_GCM\",\"ciphertext\":\"T9VctVJB+7Zs0dhZnejwXNOvxHM/CfPt4S4C4cAtvSYsO2++8eVMN3dZky1/TLVg/mJtFBVHU4IiPavZMV+tULw3yKBs/JomTBHblb8De8GKU2/m03/wD3rxufdYejTnxXQWsdAEaWduM/zWCCtNIblayVE8Bz6p0cZtutk6jknYaDQk13sNGh1U12lpcElGf3i8LxLG0jWp+DBp2seOizBsjB8Cky/xEMjmd9OzbtrCd7K22ZtGv7gyA2C/9NY5gFT9tlcGFaD+BvOx69o7Sw1uHZ5IaXHTpI9SQlHCWCs8tGZtMZrlzgFLa/DI+TFkh//WYNcZRomhBydAbE4xQJqSWB5/81Rqa4gYT85YJPhgXRKGl+F0S/6jCYuL5cJpqUCojNz+g16znI8=\",\"associated_data\":\"mall_transaction\",\"nonce\":\"0GqZRhyTkcHG\"}}"; | |||||
| // logger.info("微信商圈支付通知---body{}"+body); | |||||
| // WxPayService wxPayService = wxPayAccountService.getWxPayService(tenantId); | |||||
| // | |||||
| // //----------------签名验证----------- | |||||
| //// BusinessCircleNotifyData notifyData = verifySignature(request,wxPayService); | |||||
| // BusinessCircleNotifyData notifyData = wxPayService.getBusinessCircleService().parseNotifyData(body, header); | |||||
| // logger.info("微信商圈通知---回调通知对象{}"+notifyData.toString()); | |||||
| // | |||||
| // WxBusinessCircleOrder wxBusinessCircleOrder = new WxBusinessCircleOrder(); | |||||
| // wxBusinessCircleOrder.updateTenantInfo(tenantEntity); | |||||
| // wxBusinessCircleOrder.setNoticeId(notifyData.getId()); | |||||
| // wxBusinessCircleOrder.setNoticeCreateTime(sdf.parse(notifyData.getCreateTime())); | |||||
| // wxBusinessCircleOrder.setNoticeEventType(notifyData.getEventType()); | |||||
| // wxBusinessCircleOrder.setSummary(notifyData.getSummary()); | |||||
| // | |||||
| // //解密 | |||||
| // if(WxPayConstant.NOTICE_EVENT_TYPE.equals(notifyData.getEventType())){ | |||||
| // PaidResult result = wxPayService.getBusinessCircleService().decryptPaidNotifyDataResource(notifyData); | |||||
| // logger.info("微信商圈支付成功通知---解密结果{}"+result.toString()); | |||||
| // | |||||
| // wxBusinessCircleOrder.setWxMchid(result.getMchid()); | |||||
| // wxBusinessCircleOrder.setWxMerchantName(result.getMerchantName()); | |||||
| // wxBusinessCircleOrder.setWxShopName(result.getShopName()); | |||||
| // wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber()); | |||||
| // wxBusinessCircleOrder.setAppid(result.getAppid()); | |||||
| // wxBusinessCircleOrder.setOpenid(result.getOpenid()); | |||||
| // wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getTimeEnd())); | |||||
| // wxBusinessCircleOrder.setAmount(result.getAmount()); | |||||
| // wxBusinessCircleOrder.setPayAmount(result.getAmount()); | |||||
| // wxBusinessCircleOrder.setTransactionId(result.getTransactionId()); | |||||
| // wxBusinessCircleOrder.setCommitTag(result.getCommitTag()); | |||||
| // | |||||
| // | |||||
| // | |||||
| // }else if(WxPayConstant.REFUND_EVENT_TYPE.equals(notifyData.getEventType())){ | |||||
| // RefundResult result = wxPayService.getBusinessCircleService().decryptRefundNotifyDataResource(notifyData); | |||||
| // logger.info("微信商圈退款成功通知---解密结果{}"+result.toString()); | |||||
| // | |||||
| // wxBusinessCircleOrder.setWxMchid(result.getMchid()); | |||||
| // wxBusinessCircleOrder.setWxMerchantName(result.getMerchantName()); | |||||
| // wxBusinessCircleOrder.setWxShopName(result.getShopName()); | |||||
| // wxBusinessCircleOrder.setWxShopNumber(result.getShopNumber()); | |||||
| // wxBusinessCircleOrder.setAppid(result.getAppid()); | |||||
| // wxBusinessCircleOrder.setOpenid(result.getOpenid()); | |||||
| // wxBusinessCircleOrder.setTimeEnd(sdf.parse(result.getRefundTime())); | |||||
| // wxBusinessCircleOrder.setAmount(result.getPayAmount()); | |||||
| // wxBusinessCircleOrder.setPayAmount(result.getPayAmount()); | |||||
| // wxBusinessCircleOrder.setTransactionId(result.getTransactionId()); | |||||
| // | |||||
| // wxBusinessCircleOrder.setRefundAmount(result.getRefundAmount()); | |||||
| // wxBusinessCircleOrder.setRefundId(result.getRefundId()); | |||||
| // | |||||
| // | |||||
| // } | |||||
| // | |||||
| // } catch (WxPayException e) { | |||||
| // e.printStackTrace(); | |||||
| // logger.error("微信商圈通知---"+e.getCustomErrorMsg()); | |||||
| // | |||||
| // } catch (ParseException e) { | |||||
| // e.printStackTrace(); | |||||
| // logger.error("微信商圈通知---时间转换异常"); | |||||
| // | |||||
| // } catch(MallinkException e){ | |||||
| // logger.error("微信商圈通知---"+e.getMessage()); | |||||
| // | |||||
| // }catch (Exception e){ | |||||
| // e.printStackTrace(); | |||||
| // logger.error("微信商圈通知---其他异常"); | |||||
| // | |||||
| // } | |||||
| // } | |||||
| } | } | ||||