支付宝h5支付同步回调报错问题处理
This commit is contained in:
parent
0d5be1372c
commit
b03fdd3bbe
@ -131,18 +131,6 @@ public interface Payment {
|
|||||||
default String callbackUrl(String api, PaymentMethodEnum paymentMethodEnum) {
|
default String callbackUrl(String api, PaymentMethodEnum paymentMethodEnum) {
|
||||||
return api + "/buyer/cashier/callback/" + paymentMethodEnum.name();
|
return api + "/buyer/cashier/callback/" + paymentMethodEnum.name();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 支付回调地址
|
|
||||||
*
|
|
||||||
* @param api api地址
|
|
||||||
* @param paymentMethodEnum 支付类型
|
|
||||||
* @return 回调地址
|
|
||||||
*/
|
|
||||||
default String aliCallback(String api, PaymentMethodEnum paymentMethodEnum,String params) {
|
|
||||||
return api + "/buyer/cashier/callback/" + paymentMethodEnum.name()+"?passback_params="+params;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 支付异步通知地址
|
* 支付异步通知地址
|
||||||
*
|
*
|
||||||
|
@ -93,7 +93,7 @@ public class AliPayPlugin implements Payment {
|
|||||||
payModel.setProductCode("QUICK_WAP_PAY");
|
payModel.setProductCode("QUICK_WAP_PAY");
|
||||||
try {
|
try {
|
||||||
log.info("支付宝H5支付:{}", JSONUtil.toJsonStr(payModel));
|
log.info("支付宝H5支付:{}", JSONUtil.toJsonStr(payModel));
|
||||||
AliPayRequest.wapPay(response, payModel, aliCallback(apiProperties.getBuyer(), PaymentMethodEnum.ALIPAY, URLEncoder.createAll().encode(BeanUtil.formatKeyValuePair(payParam), StandardCharsets.UTF_8)),
|
AliPayRequest.wapPay(response, payModel, callbackUrl(apiProperties.getBuyer(), PaymentMethodEnum.ALIPAY),
|
||||||
notifyUrl(apiProperties.getBuyer(), PaymentMethodEnum.ALIPAY));
|
notifyUrl(apiProperties.getBuyer(), PaymentMethodEnum.ALIPAY));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("H5支付异常", e);
|
log.error("H5支付异常", e);
|
||||||
@ -236,8 +236,8 @@ public class AliPayPlugin implements Payment {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void callBack(HttpServletRequest request) {
|
public void callBack(HttpServletRequest request) {
|
||||||
verifyNotify(request);
|
|
||||||
log.info("支付同步回调:");
|
log.info("支付同步回调:");
|
||||||
|
callback(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -246,6 +246,30 @@ public class AliPayPlugin implements Payment {
|
|||||||
log.info("支付异步通知:");
|
log.info("支付异步通知:");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 验证支付结果
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
*/
|
||||||
|
private void callback(HttpServletRequest request) {
|
||||||
|
try {
|
||||||
|
AlipayPaymentSetting alipayPaymentSetting = alipayPaymentSetting();
|
||||||
|
//获取支付宝反馈信息
|
||||||
|
Map<String, String> map = AliPayApi.toMap(request);
|
||||||
|
log.info("同步回调:{}", JSONUtil.toJsonStr(map));
|
||||||
|
boolean verifyResult = AlipaySignature.rsaCertCheckV1(map, alipayPaymentSetting.getAlipayPublicCertPath(), "UTF-8",
|
||||||
|
"RSA2");
|
||||||
|
if (verifyResult) {
|
||||||
|
log.info("支付回调通知:支付成功-参数:{}", map);
|
||||||
|
} else {
|
||||||
|
log.info("支付回调通知:支付失败-参数:{}", map);
|
||||||
|
}
|
||||||
|
} catch (AlipayApiException e) {
|
||||||
|
log.error("支付回调同步通知异常", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 验证支付结果
|
* 验证支付结果
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user