現在微支付的需求越來越多,最近剛接到一個需要微支付的項目,於是身為程序猿的我拿到最新的微信支付接口文檔(3.3.6)就開始研究微信支付。本以為應該跟支付寶差不多的感覺結果被坑了。恕在下無能,在微信簽名弄了兩天都沒有弄好,一直看着報錯簽名驗證錯誤,查看網上分享的都是2.X的版本,方法完全變了,於是只能硬着頭皮自己細讀文檔,檢查任何一個可能會出現的錯誤。還是沒有解決問題。后來在網上遇到一個大俠,我把我的代碼發到給他,然后我按照他告訴我的方式修改,到現還是沒有實現。 希望哪位大俠能幫助我一下。
我把問題詳細描述一下:
1. 我已經實現了前面的幾個步驟,能拿到預支付 ID:prepay_id;
2. 當我利用JSAPI 支付,提示“該公眾號支付簽名無效,無法發起該筆交易”。文檔中的簽名沒有詳細說明,問了好多朋友和網友,都遇到類似的問題。希望騰訊能把簽名的這個地方的文檔寫的詳細點。能按照騰訊的文檔做出來的。那簡直就是牛人。警告騰訊的人(幸虧當前沒去騰訊),他媽的。做人要有厚道,那么粗糙的文檔就拿出來,不是大公司的作為。
我的簽名如下:
function getAppId() {
return $("#appId").val();
}
function getSignType() {
return "MD5";
}
function getPackage() {
return "prepay_id=" + $("#prepay_id").val();
}
var signString;
function getSign() {
signString = "appId=" + getAppId() + "&nonceStr=" + $("#nonceStr").val() + "&package=" + getPackage() + "&signType=" + getSignType() + "&timeStamp=" + getTimeStamp() + "&key=" + getKey();
return CryptoJS.MD5(signString).toString().toUpperCase();
}
我也附上我調試打印的日志.
經過大俠們的指點,今天早上終於成功。謝謝各位大俠。最后還是希望騰訊這樣的大公司把文檔寫的詳細點。不要坑害人。
