今天在ThinkPHP集成支付寶的時候,老出現一個錯誤:錯誤代碼 ILLEGAL_SIGN 。
經查發現生成的支付URL後面多了一個參數:&__hash__=fd859fc9a96d36e0c4a75b036bbda88f_688da907d6c415fd12a1f4324a2110f3
該參數是ThinkPHP的令牌驗證開啟後自動加入的。
在Action中可以使用C ( 'TOKEN_ON', false );來開啟或者關閉令牌驗證。
值得注意的是,如果沒有關閉令牌驗證而集成支付接口的話,那麼支付接口生成的跳轉URL後面就會多出這個參數,而支付寶接口是沒有這個參數的,所以會出現以上錯誤。