收藏
回答

微信支付 Authorization 里面 signature 参数由什么参数组合成?

微信支付 Authorization 里面  signature 参数由什么参数组合成?

回答关注问题邀请回答
收藏

3 个回答

  • 君莫笑
    君莫笑
    2021-11-23

    能不能文字 描述一下

    2021-11-23
    有用
    回复
  • Memory (私信不回复)
    Memory (私信不回复)
    2021-11-23

    看这里https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_0.shtml

    2021-11-23
    有用
    回复 11
    查看更多(6)
  • 游戏人生
    游戏人生
    2021-11-23

    /**

    * V3 SHA256withRSA 签名.

    *

    * @param method 请求方法 GET POST PUT DELETE 等

    * @param canonicalUrl 例如 https://api.mch.weixin.qq.com/v3/pay/transactions/app?version=1 ——> /v3/pay/transactions/app?version=1

    * @param timestamp 当前时间戳 因为要配置到TOKEN 中所以 签名中的要跟TOKEN 保持一致

    * @param nonceStr 随机字符串 要和TOKEN中的保持一致

    * @param body 请求体 GET 为 "" POST 为JSON

    * @param keyPair 商户API 证书解析的密钥对 实际使用的是其中的私钥

    * @return the string

    */

    @SneakyThrows

    String sign(String method, String canonicalUrl, long timestamp, String nonceStr, String body, KeyPair keyPair) {

    String signatureStr = Stream.of(method, canonicalUrl, String.valueOf(timestamp), nonceStr, body)

    .collect(Collectors.joining("\n", "", "\n"));

    Signature sign = Signature.getInstance("SHA256withRSA");

    sign.initSign(keyPair.getPrivate());

    sign.update(signatureStr.getBytes(StandardCharsets.UTF_8));

    return Base64Utils.encodeToString(sign.sign());

    }

    2021-11-23
    有用
    回复
登录 后发表内容