toplan/phpsms

composer更新到1.8.0版本 阿里大鱼 发送短信报错 Invalid signature

Closed this issue · 6 comments

1.8.0版本发送短信: {"success":false,"time":{"started_at":"0.47898600 1498094446","finished_at":"0.53329300 1498094446"},"logs":[{"driver":"Alidayu","time":{"started_at":"0.47902900 1498094446","finished_at":"0.53327600 1498094446"},"success":false,"result":{"info":"{\"code\":25,\"msg\":\"Invalid signature\",\"request_id\":\"zlycsgi622v2\"}","code":25}}]}

固定版本到1.7.2 发送短信成功: {"success":true,"time":{"started_at":"0.53952600 1498095191","finished_at":"0.18113300 1498095192"},"logs":[{"driver":"Alidayu","time":{"started_at":"0.53955100 1498095191","finished_at":"0.18108200 1498095192"},"success":true,"result":{"info":"{\"err_code\":\"0\",\"model\":\"108284793846^1111232052740\",\"success\":true}","code":"0"}}]}

望解决回复

protected function createParams(array $params)
{
    $params = array_merge([
        'app_key'            => $this->appKey,
        'v'                  => '2.0',
        'format'             => 'json',
        'sign_method'        => 'md5',
        'timestamp'          => date('Y-m-d H:i:s'),
    ], $params);
    $params['sign'] = $this->genSign($params);

    return $this->params($params);
}

官方文档: http://open.taobao.com/docs/doc.htm?spm=a219a.7386781.3.7.t2WqSr&docType=1&articleId=101617&treeId=1
错误原因: 算sign的时候, 没有加入公共参数, 这个问题坑了我好多天

composer:
"toplan/phpsms": "~1.7.0"

是啊 突然就发不了验证码了

pull request 已经提交

好的,我晚点合并