| @@ -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("微信商圈通知---其他异常"); | |||
| // | |||
| // } | |||
| // } | |||
| } | |||