• 商家存在未配置的参数,请联系商家解决


    最近遇见了很多的朋友在做H5微信支付的,出现一个错误【商家存在未配置的参数,请联系商家解决】。

    今天在这里给大家详细的分析一下:

    1.先添加项目使用的域名-请登陆商户号对应的商户平台--"产品中心"--"开发配置"自行配置 

    2.查看http请求头中的Referer 是否跟你配置的支付域名一致,如果不一致就添加referer的域名到H5支付域名中

    3.还有种情况就是需要伪造referer:

    ASP:
     
    dim http
    set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以
    Http.open "GET",url,false
    Http.setRequestHeader "Referer","http://www.05809.cn/"
    Http.send()
     
    PHP(前提是装了curl):
     
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, "http://www.05809.cn/xxx.asp");
    curl_setopt ($ch, CURLOPT_REFERER, "http://www.05809.cn/");
    curl_exec ($ch);
    curl_close ($ch);
     
    PHP(不装curl用sock)
     
    $server = 'www.dc9.cn';
    $host = 'www.dc9.cn';
    $target = '/xxx.asp';
    $referer = 'http://www.dc9.cn/'; // Referer
    $port = 80;
    $fp = fsockopen($server, $port, $errno, $errstr, 30);
    if (!$fp)
    {
    echo "$errstr ($errno)<br />
    ";
    }
    else
    {
    $out = "GET $target HTTP/1.1
    ";
    $out .= "Host: $host
    ";
    $out .= "Cookie: ASPSESSIONIDSQTBQSDA=DFCAPKLBBFICDAFMHNKIGKEG
    ";
    $out .= "Referer: $referer
    ";
    $out .= "Connection: Close
    
    ";
    fwrite($fp, $out);
    while (!feof($fp))
    {
    echo fgets($fp, 128);
    }
    fclose($fp);
    }
     
    VB.NET/C#.NET
     
    Dim oXMLHttp As MSXML2.XMLHTTP30 = New MSXML2.XMLHTTP30()
    或者
    MSXML2.XMLHTTP30 oXMLHttp = new MSXML2.XMLHTTP30();
    oXMLHttp.open(....
    oXMLHttp.setRequestHeader(...
    oXMLHttp.send(..
     
    //js
    var url = "http://www.yourtarget.com";  
    var param = "name=david&age=30";  
    var obj = new ActiveXObject("WinHttp.WinHttpRequest.5.1");  
    obj.Open("POST", url, false);  
    obj.Option(4) = 13056;  
    obj.Option(6) = false; //false可以不自动跳转,截取服务端返回的302状态。  
    obj.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  
    obj.setRequestHeader("Referer", "http://www.baidu.com");  
    obj.Send(param);  
    WScript.Echo(obj.responseText);
     
    //app
    app 解决if (("4.4.3".equals(android.os.Build.VERSION.RELEASE))
                    || ("4.4.4".equals(android.os.Build.VERSION.RELEASE))) {
         //兼容这两个版本设置referer无效的问题
         view.loadDataWithBaseURL("商户申请H5时提交的授权域名",
                        "<script>window.location.href="" + targetUrl + "";</script>",
                        "textml", "utf-8", null);
     } else {
          Map<String, String> extraHeaders = new HashMap<>();
          extraHeaders.put("Referer", "商户申请H5时提交的授权域名");
          view.loadUrl(targetUrl, extraHeaders);
     }
    

    本人在这里并不建议大家用伪造的方式去做。

    如有需要可以加我Q群【308742428】大家一起讨论技术。

    后面会不定时为大家更新文章,敬请期待。

    喜欢的朋友可以关注下。

    如果对你有帮助,请打赏一下!!!

      

  • 相关阅读:
    mysql 事务只读: Could not retrieve transation read-only status server
    页面加载空白---(failed)net::ERR_INCOMPLETE_CHUNKED_ENCODING
    关于数据库mysql死锁:MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction
    高性能分布式锁-redisson的使用
    C/S程序抓包
    linux 安装maven
    linux之jdk安装及环境
    腾讯云服务器搭建之mysql
    mysql去重保留id最小的
    MySQL中文全文检索
  • 原文地址:https://www.cnblogs.com/dsn727455218/p/9848334.html
Copyright © 2020-2023  润新知