網(wǎng)頁版微信支付。
1硼啤、填寫配置议经,包括開通微信支付,appid和key谴返,配置支付目錄煞肾,目錄路徑要文件所在目錄,配置授權目錄路徑嗓袱。
2籍救、拿到每次訪問的code,通過code生成openid和accesstoken渠抹,每個code只可以使用一次蝙昙,測試時候注意使用闪萄。授權方式選擇base,不需要拿到對方的頭像名稱等信息奇颠。這樣不需要用戶點擊確認就可以進入下一個界面败去。
3、進行支付簽名烈拒,簽名要注意大小寫圆裕,特別是時間戳要string類型,key的類型也要注意荆几,比如開發(fā)文檔里面有appid和appId吓妆,注意看清,被坑吨铸。ip地址為用戶的IP地址耿战。
4、通過appid和隨機字符串焊傅、簽名剂陡、簽名方式為md5,簽名成功狐胎,在微信瀏覽器可以調(diào)起微信內(nèi)部方法wxpayrequest實現(xiàn)支付功能鸭栖。失敗可以alert回調(diào)信息,先確認自己錯了哪里握巢,哪里需要再仔細一遍晕鹊。
5、收貨地址暴浦。收貨地址在微信個人信息里的“我的地址”溅话,通過accesstoken和url還有時間戳隨機字符串等參數(shù)一起簽名生成addrsign,注意歌焦,url為帶上code和state參數(shù)的URL飞几,否則無法簽名成功,而且所以參加簽名的參數(shù)都必須小些独撇,這跟支付簽名很大不同屑墨,要注意。更要注意的一點纷铣,支付的url要和收貨地址的url要一致卵史。通過微信瀏覽器調(diào)起editaddress方法進入到微信的“我的地址”里面,用戶可以選擇或者編輯地址搜立,確認完成跳回支付界面以躯,這時候aditaddress方法有參數(shù)返回,拼接參數(shù)就是完整的收貨地址啄踊。
6忧设、根據(jù)需求色鸳,需要收貨地址還是不需要收貨地址,先確定收貨地址方法有返回值而且不為空再調(diào)起支付方法见转。
7命雀、通過設計個人風格的商品界面,將用戶選購的商品價格數(shù)量等參數(shù)一一傳給后臺服務器保存斩箫。
個人開發(fā)結論吏砂,他奶奶的,一堆堆坑乘客,坑死勞資了狐血,前前后后花了我五天時間才搞懂這破玩意,主要是因為自己掉坑太多易核,掙扎好久都沒有頭緒匈织,還一直看著代碼問自己我哪里錯了,我哪里錯了…比如調(diào)起微信支付方法的簽名參數(shù)時間戳牡直,因為做過微信分享缀匕,分享用的是int類型,他奶奶的一轉眼就是字符串碰逸,眼瞎乡小!比如收貨地址的addsign,url是簽名參數(shù)但是一直簽名不對饵史,奶奶的满钟,我又找開發(fā)文檔,找了半天里面寫著“簽名url連code和state也要帶著一起簽胳喷。
總而言之湃番,坑很多,開發(fā)之前一定要好好看開發(fā)文檔和開放常遇到的問題吭露,少一點坑吠撮,讓老板多一份滿意。