springboot项目,公钥证书方式,进行支付宝退款时,支付宝返回:“验签出错,建议检查签名字符串或签名私钥与应用公钥是否匹配”。返回值里面,sub_code值是isv.invalid-signature。
使用AlipayClient的sdkExecute和execute都不好使,改为certificateExecute,问题解决。
以下是我的代码:
AlipayTradeRefundRequest refundRequest = new AlipayTradeRefundRequest();
AlipayTradeRefundModel model = new AlipayTradeRefundModel();
model.setOutTradeNo(paySn);
model.setRefundAmount(payAmount);
model.setRefundReason("商品退款");
refundRequest.setBizModel(model);
try {
AlipayTradeRefundResponse response = alipayClient.certificateExecute(refundRequest);
if (response.isSuccess() && response.getFundChange().equalsIgnoreCase("Y")) {
// 退款成功
} else {
// 退款失败
}
} catch (AlipayApiException e) {
e.prin