| | |
| | | import java.io.IOException; |
| | | import java.nio.charset.StandardCharsets; |
| | | import java.security.GeneralSecurityException; |
| | | import java.util.Collection; |
| | | import java.util.Enumeration; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | |
| | |
| | | @ApiOperation(value = "微信支付/退款通知") |
| | | public String payNotify(@RequestBody String notifyData, HttpServletRequest request, HttpServletResponse response) throws WxPayException { |
| | | |
| | | Enumeration<String> headerNames = request.getHeaderNames(); |
| | | while (headerNames.hasMoreElements()){ |
| | | String name = headerNames.nextElement(); |
| | | log.info("request headerNames: {}", name); |
| | | } |
| | | |
| | | Collection<String> headerNames1 = response.getHeaderNames(); |
| | | for (String name : headerNames1) { |
| | | log.info("request headerNames: {}", name); |
| | | } |
| | | |
| | | // 获取请求头 |
| | | SignatureHeader signatureHeader = getSignatureHeader(response); |
| | | SignatureHeader signatureHeader = getSignatureHeader(request); |
| | | |
| | | log.info("微信支付/退款通知: {}", notifyData); |
| | | |
| | |
| | | log.info("微信分账通知: {}", notifyData); |
| | | |
| | | // 获取请求头 |
| | | SignatureHeader signatureHeader = getSignatureHeader(response); |
| | | |
| | | SignatureHeader signatureHeader = getSignatureHeader(request); |
| | | |
| | | ProfitSharingNotifyNewResult notifyResult = getProfitSharingNotifyData(notifyData, signatureHeader); |
| | | ProfitSharingNotifyResult result = notifyResult.getResult(); |
| | |
| | | beforeSign.getBytes(StandardCharsets.UTF_8), header.getSigned()); |
| | | } |
| | | |
| | | private SignatureHeader getSignatureHeader(HttpServletResponse response){ |
| | | private SignatureHeader getSignatureHeader(HttpServletRequest request){ |
| | | SignatureHeader signatureHeader = new SignatureHeader(); |
| | | signatureHeader.setSerialNo(response.getHeader(WECHAT_PAY_SERIAL)); |
| | | signatureHeader.setSigned(response.getHeader(WECHAT_PAY_SIGNATURE)); |
| | | signatureHeader.setNonce(response.getHeader(WECHAT_PAY_NONCE)); |
| | | signatureHeader.setTimeStamp(response.getHeader(WECHAT_PAY_TIMESTAMP)); |
| | | signatureHeader.setSerialNo(request.getHeader(WECHAT_PAY_SERIAL)); |
| | | signatureHeader.setSigned(request.getHeader(WECHAT_PAY_SIGNATURE)); |
| | | signatureHeader.setNonce(request.getHeader(WECHAT_PAY_NONCE)); |
| | | signatureHeader.setTimeStamp(request.getHeader(WECHAT_PAY_TIMESTAMP)); |
| | | |
| | | log.info("timeStamp:{} nonce : {} signed:{} serialNo:{}", |
| | | signatureHeader.getTimeStamp(), |