摘要:按著我的步驟一步一步操作,你就可以成功的到這個(gè)微信支付技能包。原文鏈接手把手教你實(shí)現(xiàn)小程序微信支付由于自己本身就是開(kāi)發(fā)的,所以只涉及到微信支付的開(kāi)發(fā)。我將會(huì)一步一步的記錄如何實(shí)現(xiàn)微信支付的。第一步先上微信支付開(kāi)發(fā)文檔境內(nèi)普通商戶(hù)里面下載與。
這是我自己研究了兩天的微信支付整理得的開(kāi)發(fā)筆記,然后在這里分享給大家,讓大家快速上手微信支付。
按著我的步驟一步一步操作,你就可以成功的get到這個(gè)微信支付技能包。補(bǔ)上自己最想的文章:[5分鐘解決微信支付][1] https://segmentfault.com/a/1190000014444847 這篇文章被很多人咨詢(xún),感謝你們的支持,所以新寫(xiě)了一篇填坑,希望對(duì)大家有幫助。
=======================
更多編程技巧,可關(guān)注琉憶編程庫(kù):shuaiqi100.com。
由于自己本身就是PHP開(kāi)發(fā)的,所以只涉及到PHP微信支付的開(kāi)發(fā)。我將會(huì)一步一步的記錄如何實(shí)現(xiàn)微信支付的。
第一步:先上微信支付開(kāi)發(fā)文檔境內(nèi)普通商戶(hù)里面下載SDK與DEMO。下載網(wǎng)址:https://pay.weixin.qq.com/wik...
在這里可以下載自己對(duì)應(yīng)的編程代碼來(lái)使用對(duì)應(yīng)的SDK和DEMO進(jìn)行改。我主要用的是PHP,所以下載的是PHP。
第二步:將下載的支付SDK與DEMO進(jìn)行解壓,然后打開(kāi)這個(gè)解壓后的文件夾。 第三步,從商家中心下載證書(shū)到本地放到cert文件夾里面。商家中心路徑:(注意需要下載安全插件,且只能在IE模式登錄?。?br>https://pay.weixin.qq.com/ind...
具體路徑為:登錄進(jìn)去到商家中心后,登錄微信支付商戶(hù)平臺(tái),點(diǎn)擊【賬戶(hù)中心】->【賬戶(hù)設(shè)置】->【API安全】->【下載證書(shū)】中
下載證書(shū)完成后,記得順便設(shè)置密鑰!!這個(gè)密鑰等下需要在微信支付lib配置文件夾里面配置支付。
密鑰要求:需要字母+數(shù)字一起32位數(shù)??!為的是認(rèn)真和安全。
下載證書(shū)到本地后,取出這兩個(gè)證書(shū)放到cert文件里面去,
這兩個(gè)證書(shū)分別叫做: apiclient_cert.pem 和 apiclient_key.pem
打開(kāi)lib文件夾下的 WxPay.Config.php
在這里就有說(shuō)明需要用到的配置信息,只用配置這四項(xiàng),其他的都不用修改??!
首先是APPID,注意一定是要注冊(cè)的主體一致,其次用到支付的公眾號(hào)或者是小程序都必須是和APPID一致的開(kāi)發(fā)者??!不的話,請(qǐng)求支付會(huì)出錯(cuò),提示:appid and openid not match!
APPID和MCHID可以通過(guò)開(kāi)戶(hù)郵件中獲取,關(guān)于KEY就是剛才在第三步中要一起設(shè)置的密鑰,直接復(fù)制粘貼進(jìn)來(lái)就可以了。
APPSECRET就是小程序里面開(kāi)發(fā)者的那個(gè)APPSECRET,直接去微信小程序里面獲取粘貼過(guò)來(lái)就可以了!具體看下面??!
按上面的配置好,保存后就可以下一步了,修改支付接口。
第五步:修改獲取openid的接口打開(kāi)example文件夾,打開(kāi)WxPay.JsApiPay.php
找到 private function __CreateOauthUrlForOpenid($code) 方法。
需要修改里面的 $urlObj["code"] = $code; 修改為:$urlObj["js_code"] = $code;
注意:說(shuō)說(shuō)為什么這樣修改:【下面的內(nèi)容只是為了了解,不想深入原理可以跳過(guò)】
code 換取 session_key
這是一個(gè) HTTPS 接口,開(kāi)發(fā)者服務(wù)器使用登錄憑證 code 獲取 session_key 和 openid。其中 session_key 是對(duì)用戶(hù)數(shù)據(jù)進(jìn)行加密簽名的密鑰。為了自身應(yīng)用安全,session_key 不應(yīng)該在網(wǎng)絡(luò)上傳輸。
獲取openid的接口地址: https://api.weixin.qq.com/sns...
微信支付中,需要獲取微信用戶(hù)的openid,所以在小程序中,需要先通過(guò)wx.login獲取到用戶(hù)返回的code代碼,然后用code換取用戶(hù)的openid回來(lái)。在微信支付中,WxPay.JsApiPay.php里面已經(jīng)封裝了通過(guò)傳過(guò)來(lái)的code換取openid的方法:GetOpenid()。而在這里請(qǐng)求獲取openid的路徑知道帶參名是js_code不是code,所以需要修改配置文件里面的code為js_code!
保存好后,就可以第六步了,修改支付接口??!
第六步:修改支付接口打開(kāi)example文件夾下的jsapi.php文件。首先:刪除頭部的這些代碼,也可以注釋?zhuān) 疽驗(yàn)橛貌坏剑际菧y(cè)試數(shù)據(jù)】
//初始化日志
$logHandler= new CLogFileHandler("../logs/".date("Y-m-d").".log");
$log = Log::Init($logHandler, 15);
//打印輸出數(shù)組信息
function printf_info($data)
{
foreach($data as $key=>$value){ echo "$key : $value
"; }
}
其次:刪除底部的HTML代碼,全部!全部!全部?。∫?yàn)槎际嵌嘤嗟?,不要因?yàn)檫@些HTML代碼請(qǐng)求出錯(cuò)。最后,修改核心的部分代碼!!將要進(jìn)行詳細(xì)講解。這時(shí)候貼上官方文檔,可以看著文檔修改這里的支付信息,因?yàn)楹苤匾?/p>
參考文檔:
https://pay.weixin.qq.com/wik...
前面的修改只是為了這一步實(shí)現(xiàn)微信支付,彈出我們想要的支付密碼輸入框??!
記住,在微信小程序中是需要使用wx.request方法請(qǐng)求demo里面的jsapi.php文件,然后請(qǐng)求這個(gè)方法成功后會(huì)返回一串參數(shù),然后根據(jù)打印的參數(shù)對(duì)應(yīng)的填入這些參數(shù)內(nèi)賦值即可。
wx.requestPayment({
"timeStamp": "",
"nonceStr": "",
"package": "",
"signType": "MD5",
"paySign": "",
"success":function(res){
},
"fail":function(res){
}
})
【具體可以看開(kāi)發(fā)文檔的參數(shù)配置】
網(wǎng)址:https://mp.weixin.qq.com/debu...
這一步過(guò)去我曾卡了很久,但是它很重要??!
登陸微信支付第三方平臺(tái)
網(wǎng)址: https://pay.weixin.qq.com/ind...
然后按設(shè)置好的微信請(qǐng)求支付鏈接下寫(xiě)一個(gè)notify的控制器方法用于回調(diào)執(zhí)行,當(dāng)微信支付成功后就會(huì)去執(zhí)行這個(gè)目錄下的notify方法,然后可以寫(xiě)修改訂單狀態(tài)。
注意事項(xiàng): 1.回調(diào)方法可以看demo里面的Notify.php文件進(jìn)行修改成控制器方法用于回調(diào)??! 2.回調(diào)的方法一定要是在微信支付平臺(tái)設(shè)置的支付目錄下??! 3.支付的回調(diào)路徑是不能夠帶參數(shù)的?。〔荒軒?shù)??!不能帶參數(shù)??! 如果回調(diào)沒(méi)有成功,請(qǐng)看上面的注意事項(xiàng)進(jìn)行檢查,因?yàn)槲以谶@里跌倒了N次,N次,N次?。。?/b>對(duì)了,另外提醒下是在jsapi.php文件里面設(shè)置的回調(diào)路徑,也就是demo里面的:wxpay/example/jsapi.php ,【同目錄下的Notify.php文件是官方給的回調(diào)方法,可以看這個(gè)方法進(jìn)行改寫(xiě)回調(diào)控制器!!】如下代碼:
$input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");
//修改為你的支付目錄下的路徑+回調(diào)函數(shù)名,例如:http://www.abc.com/example/no...
如果你覺(jué)得這篇文章對(duì)你有用可以幫我分享出去給更多需要的人。
最后謝謝大家的支持。
個(gè)人微信公眾號(hào):琉憶編程庫(kù)文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30641.html
摘要:,之前在寫(xiě)過(guò)一篇微信支付教程手把手教你實(shí)現(xiàn)小程序的微信支付。說(shuō)說(shuō)必須要自己填寫(xiě)的東西開(kāi)頭的這幾個(gè)信息都可以從小程序后臺(tái)微信支付申請(qǐng)成功后發(fā)的郵件中拿到。 你好,是我琉憶,一個(gè)文藝的程序員。 很久沒(méi)有更新什么技術(shù)文了,特在此補(bǔ)上一篇精華文章——微信支付。PS,之前在segmentfault寫(xiě)過(guò)一篇微信支付教程:手把手教你實(shí)現(xiàn)小程序的微信支付。【從發(fā)表開(kāi)始,到現(xiàn)在被很多人收藏,加微信和QQ...
摘要:配置配置使用概率抽樣。采樣率定義了對(duì)跟蹤跨度進(jìn)行采樣的概率,其值可以介于和含之間。例如,以下配置對(duì)象將采樣率更改為即每個(gè)跨度都被采樣,并使用協(xié)議將跟蹤發(fā)送到位于的服務(wù)器文件路徑注將采樣率更改為會(huì)完全禁用跟蹤。目錄手把手教你學(xué)Dapr - 1. .Net開(kāi)發(fā)者的大時(shí)代手把手教你學(xué)Dapr - 2. 必須知道的概念手把手教你學(xué)Dapr - 3. 使用Dapr運(yùn)行第一個(gè).Net程序手把手教你學(xué)Da...
摘要:多端統(tǒng)一開(kāi)發(fā)框架優(yōu)秀學(xué)習(xí)資源匯總官方資源項(xiàng)目倉(cāng)庫(kù)官方文檔項(xiàng)目倉(cāng)庫(kù)官方文檔微信小程序官方文檔百度智能小程序官方文檔支付寶小程序官方文檔字節(jié)跳動(dòng)小程序官方文檔文章教程不敢閱讀包源碼帶你揭秘背后的哲學(xué)從到構(gòu)建適配不同端微信小程序等的應(yīng)用小程序最 Awesome Taro 多端統(tǒng)一開(kāi)發(fā)框架 Taro 優(yōu)秀學(xué)習(xí)資源匯總 showImg(https://segmentfault.com/img/r...
摘要:青云知行學(xué)院最新課程出爐啦,歡迎訂閱,還有青云優(yōu)惠券放送主題系列培訓(xùn)課程二如何通過(guò)玩轉(zhuǎn)存儲(chǔ)時(shí)間月日本期內(nèi)容介紹本節(jié)課主要介紹存儲(chǔ)的特點(diǎn),如何配置存儲(chǔ)類(lèi)型,如何使用存儲(chǔ)功能。 青云知行學(xué)院最新課程出爐啦,歡迎訂閱,還有青云優(yōu)惠券放送??! 主題: KubeSphere 系列培訓(xùn)課程(二)- 如何通過(guò) KubeSphere 玩轉(zhuǎn) Kubernetes 存儲(chǔ) 時(shí)間:1 月 23 日 20:00...
閱讀 1547·2021-11-24 10:17
閱讀 1043·2021-09-29 09:43
閱讀 2170·2021-09-23 11:21
閱讀 2187·2019-08-30 14:13
閱讀 1305·2019-08-29 13:58
閱讀 3166·2019-08-28 17:51
閱讀 1821·2019-08-26 13:29
閱讀 2986·2019-08-26 10:13