主頁 > 知識庫 > 微信支付--簽名錯誤問題的解決方法

微信支付--簽名錯誤問題的解決方法

熱門標(biāo)簽:北京外呼系統(tǒng)咨詢電話 高德地圖標(biāo)注公司位置需要錢嗎 襄陽外呼增值業(yè)務(wù)線路解決方案 地圖標(biāo)注資源分享注冊 慶陽外呼系統(tǒng)定制開發(fā) 怎么去掉地圖標(biāo)注文字 海南人工外呼系統(tǒng)哪家好 合肥阿里辦理400電話號 廊坊地圖標(biāo)注申請入口

最近在做微信支付,調(diào)用微信的統(tǒng)一下單支付接口http://mch.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1時,老是返回“簽名錯誤”,偶爾可以成功,不知道是怎么回事。我在日志中打印出生成的字符串和簽名,然后用相同的數(shù)據(jù)在微信支付提供的在線支付調(diào)試工具生成簽名,發(fā)現(xiàn)生成的簽名結(jié)果一樣!生成的最終xml也一樣,但接口就是返回

xml>return_code>![CDATA[FAIL]]>/return_code>
 return_msg>![CDATA[簽名錯誤]]>/return_msg>
 /xml>

POST給微信的xml內(nèi)容:

xml>
appid>![CDATA[wxe587fed28211bccb]]>/appid>
body>![CDATA[Demo]]>/body>
device_info>![CDATA[WEB]]>/device_info>
fee_type>![CDATA[CNY]]>/fee_type>
mch_id>![CDATA[1265056801]]>/mch_id>
nonce_str>![CDATA[ejnshgum39igp6qwpvzwb5jbwk8yigqz]]>/nonce_str>
notify_url>![CDATA[http://testpay.le1.com.cn/wechat/notify.htm]]>/notify_url>
openid>![CDATA[opZb3wsfU6RUZGxgFZ6OXVbdVxcU]]>/openid>
out_trade_no>![CDATA[1002_09745565EpuxTunUCD0AA72E]]>/out_trade_no>
product_id>![CDATA[QWE789C1523QWE78]]>/product_id>
sign>![CDATA[BF4BB39FFAFC4DF470C5A3F7784678BD]]>/sign>
spbill_create_ip>![CDATA[172.16.12.171]]>/spbill_create_ip>
total_fee>![CDATA[1]]>/total_fee>
trade_type>![CDATA[NATIVE]]>/trade_type>
/xml>

首先 , 看到返回msg顯示簽名錯誤 , 第一反應(yīng)官網(wǎng)提供的路徑去生成了一下簽名做比較 , 結(jié)果發(fā)現(xiàn)簽名算法是沒錯的.

     https://pay.weixin.qq.com/wiki/tools/signverify/

找了各種方法 , 百度谷歌搜索了一下午 , 發(fā)現(xiàn)很多同行都遇到了一樣的問題 , 得到了以下解決方法

  1、確認(rèn)公眾號的appSecret和商戶號的API密鑰沒有搞混。

  2、重置商戶API密鑰。(本人親測是這樣解決了問題,tx真是個坑,我嚴(yán)重鄙視。)

  3、確認(rèn)公眾號授權(quán)的域名和目錄是正確的。

  4、參數(shù)body含有中文字符,改換英文簽名成功,那么就轉(zhuǎn)換字符編碼試試。

    $dat = iconv('UTF-8','ISO8859-1',array2xml($package));

然而 , 并沒有解決問題 , 先吐槽一下微信支付這個巨坑 , 不是說它的api水平有多爛,但你至少說明白一點啊,每次看微信api都頭痛。比阿里差的不是一個數(shù)量級的。調(diào)阿里api都是,優(yōu)雅、簡單、舒服,效率高。調(diào)微信api的感覺是,憤怒、頭痛、惡心,想打人。

后續(xù)問題解決后會在該隨筆追加解決方案 .

追加: 問題已解決 , 重置了三次商戶密鑰.(....................)

在解決過程中又發(fā)現(xiàn)了一個較大的坑 , 在二維碼支付模式中 , 本來的設(shè)計是生成二維碼之后展示到頁面上讓用戶去長按識別來支付 , 但是今天發(fā)現(xiàn)微信關(guān)閉了這個功能 , 只能是用另外一臺手機(jī)去掃碼支付 .

由于用戶體驗及其不好 , 后改用公眾號支付模式 .

總結(jié)

以上所述是小編給大家介紹的微信支付--簽名錯誤問題的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • C# 微信支付 wx.chooseWXPay 簽名錯誤的解決方法
  • 使用weixin-java-tools完成微信授權(quán)登錄、微信支付的示例
  • php對微信支付回調(diào)處理的方法
  • JS實現(xiàn)仿微信支付彈窗功能
  • php實現(xiàn)微信支付之企業(yè)付款
  • Android微信支付獲取二次簽名Sign的方法

標(biāo)簽:綿陽 鎮(zhèn)江 平頂山 鶴崗 哈密 株洲 商丘 臺州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《微信支付--簽名錯誤問題的解決方法》,本文關(guān)鍵詞  微信,支付,簽名,錯誤,問,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《微信支付--簽名錯誤問題的解決方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于微信支付--簽名錯誤問題的解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章