xhxu 4 лет назад
Родитель
Сommit
d12b23927b
1 измененных файлов: 91 добавлений и 0 удалений
  1. +91
    -0
      mallinkCallback/src/main/java/com/iformall/controller/callback/WxBusinessOrderController.java

+ 91
- 0
mallinkCallback/src/main/java/com/iformall/controller/callback/WxBusinessOrderController.java Просмотреть файл

@@ -202,4 +202,95 @@ public class WxBusinessOrderController extends BaseController {
return stringBuilder.toString(); return stringBuilder.toString();
} }



@PostMapping(value = "/test")
@ResponseBody
public void createOrdertests(){

SignatureHeader header = new SignatureHeader();
header.setSerialNo("76EEF0C28D079D9CED85C67237F173FF825CFAE7");
header.setTimeStamp("1627548505");
header.setNonce("xFNtsILGmKGd0H2coSFk8GmezpgthOeI");
header.setSigned("miuGemV3bTvIOt9+mNElmPigc+FebFO8qxucrpGxTOzjYWnhty7VwIuublUc/GLEtRdbYrnMULKNoFeQbrEi6LyBVWHVhm6nmIhEdzfnh9PnYxa/7Rw31CAjk5q/py0fhH/EQNyVeGERBAelrgR5pV6yyvx98550QG31C/d3KczVH3srvTfy6LvKc7lAmhTh5WjhOqf0Rv7pGfEHkhCLD+QHGwnCNzXchsQz3Ruz63Sldtu/rHCSf2Gd/dQPFjgaNN31Y8usho6ERhL4r7S7UFamBXmRuVKhWQPg/YGQzz748c2X6wyjAMDczEq56eAHx4FfOCZFRgCPHDe+n2v3jw==");


logger.info("微信商圈支付通知---header{}"+header.toString());
String tenantId = "1019";
TenantEntity tenantEntity = wxMallService.getByTenantId(tenantId);

try {
String body = "{\"id\":\"91930167-b554-56b0-975b-9661ad94f621\",\"create_time\":\"2021-07-29T10:45:15+08:00\",\"resource_type\":\"encrypt-resource\",\"event_type\":\"MALL_TRANSACTION.SUCCESS\",\"summary\":\"支付成功\",\"resource\":{\"original_type\":\"mall_transaction\",\"algorithm\":\"AEAD_AES_256_GCM\",\"ciphertext\":\"OGgviwJkyUaRTi+NtrFR7tCoE/nYqOQGXOCWCH9R6HefMu5u4aqRG/O0Yuf6ucVJRmCXcT86bf9PlFM1cSsBjaO2Kez0HO6SciNiH4jpLwqMwq4BQ/uYllbfu+aD+QV67oXOxTvgSiz3zrIgoAdTJ80plIcfOVQ3+PILrlNYVyVH5ZtaZMxNaIhNHPf2xOOVngGBtQI22GYbwiGkJOR/rms2WRjxP0cOI7xp1+7oOvX1Mc0s/AiFMbDC/O6VXZrbL/TY0J/HufUBPzelt2Kt5z/zFL5w7MlgJhOjm+8WVRTnbrywlYl5KmPJ9T5+tE0bLC8jE2RkltrflvA1Z1zf/UCqA4Pp5uLQzd8NotimwGr21FCqasO577aROmwuG3BZY1XVqdJ0Co7zQEkBV9XftP4ECIVZtk8H/VHYmeCOch19\",\"associated_data\":\"mall_transaction\",\"nonce\":\"cnqsJHRack3M\"}}";
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("微信商圈支付成功通知---解密结果{}"+notifyData.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("微信商圈通知---其他异常");

}
}

} }

Загрузка…
Отмена
Сохранить