微信支付JS API使用心得


微信的接口真的很坑爹,只返回成功或失敗,從來不會告訴你為什么失敗。這個微信支付的js接口也是調了一個下午才成功,期間踩了不少坑,在這里總結一下,而且把支付接口封裝成了一個js文件,這樣以后調用就很方便了。

坑1:公眾號里面可以設置測試目錄,例如是 www.baidu.com/pay/,這樣設置的,那么的你支付的頁面的url一定要在這個目錄下面,而且不能有二級目錄,例如支付的url是www.baidu.com/pay/1的話是可以的,但是www.baidu.com/pay/1/1這樣是不可以的,會返回access denied

坑2:支付的鏈接一定要在該公眾號里面打開的,例如點擊公眾號按鈕打開,所以測試的時候可以用公眾號把支付鏈接發送給測試的個人微信號,這樣個人微信號打開該鏈接才能觸發微信支付的接口,否則也是返回access denied

 

下面是調用我封裝好的支付接口的代碼

<script src="/crowd/js/sha1.js"></script>
<script src="/crowd/js/weixin_pay.js"></script>
<script src="/crowd/js/jQuery.md5.js"></script>
<script type="text/javascript">
    function after_pay(ret){
        alert(ret[0]+ret[1])
    }
    function pay(money){
        ret=weixin_pay('{{ip}}',money,'支持老師','',after_pay)

    }
</script>

需要導入三個js文件,一個是sha1加密方法,一個是md5的加密方法,最后一個就是我封裝好的支付接口。下載地址:http://download.csdn.net/detail/siding159/7747653

 

wexin_pay方法需要輸入四個參數,用戶客戶端的ip地址,我的做法是后端獲取,然后返回網頁的時候帶上,支付的金額數量,支付說明,訂單號out_trade_no(微信文檔那里說這個需要在商戶內部是唯一的,就是唯一標識這個訂單的編號,這里可以輸入為空,這樣的話,weixin_pay函數里面會自己生產一個唯一的字符串,然后再ret里面返回)和支付完成后回調的函數after_pay

使用weixin_pay.js需要修改里面的參數為自己公眾號的參數,例如appid那些。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM