概述
1.支付回調方法
你要在創建個packageName+.wxapi的包,在該包下創建個名為 WXPayEntryActivity的Activity類,並實現 接口 IWXAPIEventHandler ,支付的回調就在該接口的 onResp(BaseResp resp)方法中進行.
2.PayReq的參數 sign的生成
以下是官方文檔的sign算法,,需要注意的是
簽名算法
簽名生成的通用步驟如下:
第一步,設所有發送或者接收到的數據為集合M,將集合M內非空參數值的參數按照參數名ASCII碼從小到大排序(字典序),使用URL鍵值對的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特別注意以下重要規則:
◆ 參數名ASCII碼從小到大排序(字典序);
◆ 如果參數的值為空不參與簽名;
◆參數名區分大小寫;
◆ 驗證調用返回或微信主動通知簽名時,傳送的sign參數不參與簽名,將生成的簽名與該sign值作校驗。
◆ 微信接口可能增加字段,驗證簽名時必須支持增加的擴展字段
第二步,在stringA最后拼接上key得到stringSignTemp字符串,並對stringSignTemp進行MD5運算,再將得到的字符串所有字符轉換為大寫,得到sign值signValue。
key設置路徑:微信商戶平台(pay.weixin.qq.com)-->賬戶設置-->API安全-->密鑰設置
舉例:
假設傳送的參數如下:
appid: wxd930ea5d5a258f4f
mch_id: 10000100
device_info: 1000
body: test
nonce_str: ibuaiVcKdpRxkhJA
第一步:對參數按照key=value的格式,並按照參數名ASCII字典序排序如下:
stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=10000100&nonce_str=ibuaiVcKdpRxkhJA";
第二步:拼接API密鑰:
stringSignTemp="stringA&key=192006250b4c09247ec02edce69f6a2d"
sign=MD5(stringSignTemp).toUpperCase()="9A0A8659F005D6984697E2CA0A9CF3B7"
最終得到最終發送的數據:
wxd930ea5d5a258f4f
10000100
1000
ibuaiVcKdpRxkhJA
9A0A8659F005D6984697E2CA0A9CF3B7
以下為正確簽名方法!
最后
以上就是善良奇异果为你收集整理的android微信支付毁掉,android微信支付 需要注意的坑的全部内容,希望文章能够帮你解决android微信支付毁掉,android微信支付 需要注意的坑所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复