php 商户转账到微信零钱

首先在微信商户开通此功能(开通可能不易)

拿到  商户号   证书 还有证书序列号   关联商户的appid(如果是app在开放平台申请appid小程序的话那就是小程序的appid)   注意一定要关联appid   

在微信商户号里   开通 api 权限 以及添加服务器的ip

     /**生成认证信息
     * @param $url
     * @param $pars
     * @param $http_method
     * @param $cert_path
     * @param $key_path
     * @param $mch_id
     * @return string
     */
    public static function getToken($url, $pars, $http_method, $cert_path, $key_path, $mch_id)
    {
        $timestamp = time();                                  // 请求时间戳
        $url_parts = parse_url($url);                         // 获取请求的绝对URL
        $nonce = $timestamp . rand('10000', '99999');     // 请求随机串
        $body = empty($pars) ? '' : json_encode((object)$pars);              // 请求报文主体
        $stream_opts = [
            "ssl" => [
                "verify_peer" => false,
                "verify_peer_name" => false,
            ]
        ];
 
        $apiclient_cert_arr = openssl_x509_parse(file_get_contents($cert_path, false, stream_context_create($stream_opts)));
        // 证书序列号
        $serial_no = $apiclient_cert_arr['serialNumberHex'];
        // 密钥
        $mch_private_key = file_get_contents($key_path, false, stream_context_create($stream_opts));
        // 商户id:文档顶部定义
        $merchant_id = $mch_id;
        $canonical_url = ($url_parts['path'] . (!empty($url_parts['query']) ? "?${url_parts['query']}" : ""));
        $message = $http_method . "\n" .
            $canonical_url . "\n" .
            $timestamp . "\n" .
            $nonce .

你可能感兴趣的:(php,开发语言)