雖然在一個網站或則App服務中接入支付并不是哪些難事,只要你不懼怕去做,認真去了解整個支付的交互流程,實現上去真的是最多半個小時的事情。本文是在使用Ping++集成支付功能的基礎之上,實現微信支付,大約只須要五分鐘。
今天收到微信通知,今天申請的微信支付的接入申請早已通過,顧晚上的時侯就順便把微信支付給接入了。因為之前我就使用Ping++接入了支付寶的即時到賬服務,所以在這個基礎上降低一個微信支付的接入,想想就是分分鐘的事情。
配置Ping++后臺
待你申請的微信支付通過以后,你會領到四個特別關鍵的信息。
配置正確以后,須要簡單地更改前端發起支付的代碼,由于支付寶和微信支付在Ping++的系統中是有細微的差異的,具體是extra這個參數的區別:使用支付寶即時到賬的時侯,在extra部份須要傳入作為同步跳轉須要,而微信支付則須要在extra數組傳入對于的,這部份的代碼可以這樣:
switch ( $channel ) { case 'alipay_pc_direct' : $extra['success_url'] = url('/payment/done'); break; case 'wx_pub_qr': $extra['product_id'] = $this->wechatOrder(); break; default: //more extra comes here}
這部份我覺得是一分鐘就可以搞定!
更改后端代碼
到這兒微信接單,雖然只留了兩分鐘給后端了,不過這個足矣。由于我之前使用Vuejs構建了支付的組件,所以在降低微信然后的時侯就是加一些條件判定就OK,不過須要非常注意一點就是,微信支付是只支持掃碼的,并沒有哪些跳轉鏈接的概念,所以我們須要一個處理二維碼的庫,這兒就可以直接使用我之前推薦的vue-的了。
then((response) => { if(this.channel === 'wx_pub_qr') { this.status = 'paying'; this.qrcodeUrl = response.data.credential.wx_pub_qr; this.timeId = setInterval(() => { if (this.status == 'success') { clearInterval(this.timeId); } this.checkPaymentDone(response.data.id); }, 5000) } } checkPaymentDone(chargeId) { axios.post('/payment/check', { chargeId: chargeId }).catch(error => { this.status = 'exception'; }).then(response => { if (response.data.finished) { this.status = 'success'; } }) },
這樣在展示二維碼的時侯就可以這樣:
請使用微信掃碼支付
這樣用戶就可以在選擇微信支付的時侯,正確聽到微信收款的二維碼了!兩分鐘!
以上內容就是關于5分鐘實現微信支付接入教程方式微信接單,希望能幫助到你們。
免責聲明:部分文章信息來源于網絡以及網友投稿,本站只負責對文章進行整理、排版、編輯,出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其內容的真實性,如本站文章和轉稿涉及版權等問題,請作者在及時聯系本站,我們會盡快為您處理。