目录
回调的验证我没写,后续写了再加上
补上回调:
第一步:构造自己的回调方法-POST
注意:不要用@RequstBody接收body,要用原始的body
@PostMapping("/wxPayNotify")
public Result payNotice(HttpServletRequest request, HttpServletResponse response)
第二步:直接贴code丰富了下面JsapiService的一些属性和方法
public static NotificationParser parser;
Config config =
new RSAAutoCertificateConfig.Builder()
.merchantId(merchantId)
.privateKeyFromPath(privateKeyPath)
.merchantSerialNumber(merchantSerialNumber)
.apiV3Key(apiV3Key)
.build();
parser = new NotificationParser((NotificationConfig) config);
/**
* 验签和解密
*
* @param requestParam
* @return
*/
public static Transaction verifier(RequestParam requestParam) {
// RequestParam requestParam = new RequestParam.Builder()
// .serialNumber(wechatPaySerial)
// .nonce(wechatpayNonce)
// .signature(wechatSignature)
// .timestamp(wechatTimestamp)
// .body(requestBody)
// .build();
try {
Transaction transaction = parser.parse(requestParam, Transaction.class);
return transaction;
} catch (Exception e) {
return null;
}
}
第三步:使用
在你的controller中直接使用 verifier(RequestParam requestParam)就可以了 如果是null就是验证没通过,如果有值验签和解密成功可以拿到这个单子的所有信息