微信扫码支付(3):获取验签秘钥

官方文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=23_1&index=1

1.签名生成代码

import java.util.HashMap;
import java.util.Map;

public class WXTest {

  public static void main(String[] args) throws Exception {
    Map<String, String> params = new HashMap<String, String>();
    params.put("mch_id", "1**24****");//商户号
    params.put("nonce_str", WXPayUtil.generateNonceStr());//随机字符串
    // API_KEY为真实的API_KEY,在第2步提到过。
    System.out.println(WXPayUtil.generateSignature(params, "API_KEY"));//打印签名
  }
}

2.用postman获得验签密钥

image

数据是以XML方式提交,sign就是上面代码打印值:

<xml>
    <nonce_str>hl7PokYEfq7Yh4cDCOmlTURMP0lSNZLi</nonce_str>
    <mch_id>1**24****</mch_id>
    <sign>6FDACB4ADA0246923DDB7FD1A797BEA7</sign>
</xml>

并以XML方式返回

<xml>
  <return_code><![CDATA[SUCCESS]]></return_code>
  <return_msg><![CDATA[ok]]></return_msg>
  <sandbox_signkey><![CDATA[************************]]></sandbox_signkey>
</xml>

sandbox_signkey对应的就是沙箱验签密钥。

posted @ 2019-04-23 22:29  huiy_小溪  阅读(857)  评论(0编辑  收藏  举报