处理微信回调
This commit is contained in:
parent
0b3c9ff267
commit
d8c4799028
|
|
@ -109,31 +109,25 @@ public class PayController {
|
||||||
@PostMapping("/notifyMnp")
|
@PostMapping("/notifyMnp")
|
||||||
@ApiOperation("微信支付回调")
|
@ApiOperation("微信支付回调")
|
||||||
public AjaxResult<Object> notifyMnp(@RequestBody String jsonData, HttpServletRequest request) throws WxPayException {
|
public AjaxResult<Object> notifyMnp(@RequestBody String jsonData, HttpServletRequest request) throws WxPayException {
|
||||||
SignatureHeader signatureHeader = this.getWxRequestHeader(request);
|
// 构建签名
|
||||||
|
SignatureHeader signatureHeader = new SignatureHeader();
|
||||||
|
signatureHeader.setSignature(request.getHeader("wechatpay-signature"));
|
||||||
|
signatureHeader.setNonce(request.getHeader("wechatpay-nonce"));
|
||||||
|
signatureHeader.setSerial(request.getHeader("wechatpay-serial"));
|
||||||
|
signatureHeader.setTimeStamp(request.getHeader("wechatpay-timestamp"));
|
||||||
|
|
||||||
|
// 解密数据
|
||||||
WxPayService wxPayService = WxPayDriver.handler(ClientEnum.MNP.getCode());
|
WxPayService wxPayService = WxPayDriver.handler(ClientEnum.MNP.getCode());
|
||||||
WxPayOrderNotifyV3Result.DecryptNotifyResult notifyResult = wxPayService.parseOrderNotifyV3Result(jsonData, signatureHeader).getResult();
|
WxPayOrderNotifyV3Result.DecryptNotifyResult notifyResult = wxPayService.parseOrderNotifyV3Result(jsonData, signatureHeader).getResult();
|
||||||
|
|
||||||
|
// 取出数据
|
||||||
String transactionId = notifyResult.getTransactionId();
|
String transactionId = notifyResult.getTransactionId();
|
||||||
String outTradeNo = notifyResult.getOutTradeNo();
|
String outTradeNo = notifyResult.getOutTradeNo();
|
||||||
String attach = notifyResult.getAttach();
|
String attach = notifyResult.getAttach();
|
||||||
|
|
||||||
|
// 处理回调
|
||||||
iPayService.handlePaidNotify(attach, outTradeNo, transactionId);
|
iPayService.handlePaidNotify(attach, outTradeNo, transactionId);
|
||||||
return AjaxResult.success();
|
return AjaxResult.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ApiOperation("微信支付回调签名相关")
|
|
||||||
private SignatureHeader getWxRequestHeader(HttpServletRequest request) {
|
|
||||||
String signature = request.getHeader("wechatpay-signature");
|
|
||||||
String nonce = request.getHeader("wechatpay-nonce");
|
|
||||||
String serial = request.getHeader("wechatpay-serial");
|
|
||||||
String timestamp = request.getHeader("wechatpay-timestamp");
|
|
||||||
|
|
||||||
SignatureHeader signatureHeader = new SignatureHeader();
|
|
||||||
signatureHeader.setSignature(signature);
|
|
||||||
signatureHeader.setNonce(nonce);
|
|
||||||
signatureHeader.setSerial(serial);
|
|
||||||
signatureHeader.setTimeStamp(timestamp);
|
|
||||||
return signatureHeader;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue