alipay
alipay copied to clipboard
为什么验签是false呢?
AlipayTradeQueryResponse response = alipayClient.execute(request);
HashMap hashMap = Faster.parseJson(response.getBody(), HashMap.class);
JSONObject bo = (JSONObject)hashMap.get("alipay_trade_query_response");
Map<String, String> map = new HashMap<>();
map.put("sign",hashMap.get("sign").toString());
bo.entrySet().forEach(t -> {
map.put(t.getKey(),t.getValue().toString());
});
boolean v1 = AlipaySignature.rsaCheckV1(map, PARAM.get("PUBLIC"), PARAM.get("CHARSET"), PARAM.get("SIGN"));
System.out.println("验签:"+v1);
查询和预订单都是false, 但是回调是true
Map<String, String> map = request.getParameterMap() .entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, t -> t.getValue()[0]));
boolean v1 = AlipaySignature.rsaCheckV1(map, PARAM.get("PUBLIC"), PARAM.get("CHARSET"), PARAM.get("SIGN"));
System.out.println("验签:"+v1);
??
遇到同样的问题,预订单、查询和回调都验签失败,使用的是v3版本
遇到同样的问题,预订单、查询和回调都验签失败,使用的是v3版本
可以试试项目里面的测试用例
可能是支付宝生成的公私钥的问题,在支付宝生成的时候下面有个非java版本的选项,换成那个版本的再试一下
可能是支付宝生成的公私钥的问题,在支付宝生成的时候下面有个非java版本的选项,换成那个版本的再试一下
我就是非Java的 同样验签失败。
你解决这个问题了吗,我同样遇到了