微信第三方平台,微信支付开发 服务商模式 签名错误

微信支付服务商自从申请下来后一直没有 使用服务商模式接入,今天终于有时间来做接入了,第一步找sdk 找来找去发现普通商户接入模式和服务商接入模式sdk是一模一样的,这就奇怪了,前些日子看sdk的时候 发现普通商户接入模式和服务商接入模式的sdk还是不一样呢,今天就一样了,于是反复点链接,最终确认发现sdk确实是一样的 。在一看sdk更新的日期是8月17日,果然微信支付sdk升级了,于是给支付组发邮件确认,得到确定的答复,普通商户版 和服务商版本的sdk是一样的 ,但是服务商版本的开发需要自己添加子商户号和子商户appid

1 需要自己添加的配置 Wxpay.Data.php

    /**
     * 设置微信分配的子商户公众账号ID   这个是子账号公众号的appid
     * @param string $value
     **/
    public function SetSubAppid($value)
    {
        $this->values['sub_appid'] = $value;
    }

    /**
     * 获取微信分配的子公众账号ID的值
     * @return 值
     **/
    public function GetSubAppid()
    {
        return $this->values['sub_appid'];
    }

    /**
     * 设置微信支付分配的子商户号
     * @param string $value
     **/
    public function SetSubMch_id($value)
    {
        $this->values['sub_mch_id'] = $value;
    }

      /**
     * 获取微信支付分配的子商户号的值
     * @return 值
     **/
    public function GetSubMch_id()
    {
        return $this->values['sub_mch_id'];
    }

  一共四个函数

2 在Wxpay.Api.php  添加两行代码
        $inputObj->SetSubAppid('xxxxxxx');//子账户的appid
        $inputObj->SetSubMch_id('xxxx');//子账户商户号

然后就可以测试了,如无意外的话到了支付页面会提示你签名错误。

3 现在该修改第三个文件了Wxpay.Config.php

    public function GetAppId()
    {
        return $this->APPID;   这个是应该填服务商对应的公众号的appid
    }

    public function GetMerchantId()
    {
        return $this->MCHID;   服务商的商户号
    }

    public function GetAppSecret()
    {
        return $this->APPSECRET;  //服务商appid对应的 appsecrest
      
    }

   最终要的一个修改来了   这个应该填的是商户支付秘钥   在这里设置 https://pay.weixin.qq.com/index.php/account/api_cert

   一般刚开通的服务商是没有设置这个的 ,如果不设置这个,肯定会提示您签名错误,把这个设置完了,填在这个位置,测试

OK 。

   public function GetKey()
    {
        return $this->KEY;
       
    }

原文地址:https://www.cnblogs.com/Fooo/p/12033933.html