微信支付三大支付方式里面,最復(fù)雜也是坑最多
2021-01-31
微信支付
在三種支付方式中,最復(fù)雜,最棘手的非微信支付就是微信支付。讓我們從微信開始。
微信支付有四種常見類型:
微信JS付款,也稱為官方帳戶內(nèi)的付款,使用場景是微信中的H5商城。 WeChat PC付款不能在WeChat之外使用,也稱為掃描代碼付款。使用場景為PC端。請注意,這不是“本機掃描代碼支付”微信APP支付,使用場景是本機或混合APP微信WEB支付,該場景是微信外部的觸摸屏網(wǎng)站,此界面一直可用,僅最近開放允許普通公司申請,如果有的話,我會談?wù)?/p>
自從接口應(yīng)用階段以來,這四種方法都有其自身的陷阱。我要感謝騰訊為我們增加了很多工作。
微信JS付款的第一階段:界面應(yīng)用程序
因為這是面向開發(fā)人員的教程,所以具體的應(yīng)用條件以及如何應(yīng)用將不會太詳細。請注意以下幾點:
請設(shè)置您的微信帳號為官方帳號的臨時管理員。獲取官方帳戶和商戶平臺的帳戶和密碼。您需要在微信平臺上自行檢查APPSECRET。此過程需要官方帳戶管理員授權(quán)商家平臺。要配置KEY,在此過程中,兩條驗證短信將發(fā)送到領(lǐng)導(dǎo)者的手機上
簡而言之php微信支付接口開發(fā)教程,這四個數(shù)據(jù)需要在第一階段結(jié)束時準確獲得:
APPID登錄到公共平臺以查看APPSECRET-登錄公共平臺以申請重置,然后查看MCHID-商戶平臺的IDKEY-商戶平臺本身設(shè)置的KEY
檢查APPID
查看APPSECRET
查看MCHID
設(shè)置密鑰
第二階段:配置
此處的配置是指公共平臺的配置。該配置需要詳細說明。如今,各種現(xiàn)成的項目和集成的付款代碼比比皆是,但是您無法使用它?,F(xiàn)在不要花時間對其進行審查。該代碼與您的配置有關(guān)。讓我們原則上了解它:
企業(yè)域名,JS接口安全域名,網(wǎng)頁授權(quán)域名
PHP支付界面教程,微信支付,支付寶支付,銀聯(lián)支付(一)
的詳細說明
這三個參數(shù)在同一頁面上配置,并且配置方法相同。只需直接填寫域名。如果您遇到的問題是REDIRECT_URI錯誤,則可能是這里的問題。
付款授權(quán)目錄
PHP支付界面教程,微信支付,支付寶支付,銀聯(lián)支付(一)
的詳細說明
請務(wù)必填寫實際開始付款的頁面的網(wǎng)址php微信支付接口開發(fā)教程,并以斜杠結(jié)尾。然后有三個問題:
1. 我完全沒搞懂實際發(fā)起支付的是哪個URL
2. 我并不清楚什么叫斜杠結(jié)尾
3. 我配置對了為什么沒用
在獲取OPENID的過程中將進行重定向,通常會重定向回該頁面,但是某些項目不會這樣做。例如,ecshop被重定向到另一個頁面,因此實際頁面也被啟動成為另一個頁面。斜線的結(jié)尾是從右邊開始計算您的URL。當遇到第一個斜杠時,請刪除已計算的部分,其余部分為正確的配置內(nèi)容。當然,也有大量的ThinkPHP3.2用戶。您的參數(shù)以斜杠傳遞,這意味著您只能在付款頁面上輸入一個參數(shù),否則將不進行任何配置。您可能根本沒有配置正確的配置,請參考前兩個。如果確定配置正確,請去喝杯咖啡,有時此配置不會立即生效。第三階段:調(diào)試
倒一杯咖啡,打開您心愛的代碼編輯器,按照以下6個步驟操作,不要浮躁,您將再次感謝騰訊...
將您在第一步中準備的參數(shù)放入項目中(如果幸運的話,您已經(jīng)完成了開發(fā))
測試是否已獲取CODE測試是否已獲取OPENID測試預(yù)付款指令是否正常測試JS是否正常測試回調(diào)數(shù)據(jù)是否正常
分享您踩過的維修區(qū)或例程:
在官方DEMO中,JsApiPay類下面GetOpenid方法中第4行,
$_SERVER['PHP_SELF']
和
$_SERVER['QUERY_STRING']
之間少了一個問號。導(dǎo)致的問題就是有一些用GET傳參的同學,OPENID死活獲取不到。
訂單名稱里面不能含有&,暫時只發(fā)現(xiàn)這個符號會使得支付發(fā)起失敗
簽名錯誤,一般是再去檢查參數(shù),特別是一些看不到的字符可能混在參數(shù)中,最好不要懷疑簽名方法有問題。
流程中有4個左右的地方會簽名,或者驗證簽名,一定要確保所使用的KEY都是正確的。
在調(diào)試JS的時候用
alert(res.err_code+res.err_desc+res.err_msg)
把錯誤彈出來
測試回調(diào)的時候用
$GLOBALS['HTTP_RAW_POST_DATA']
來接收微信的通知,做好是接收到就存到數(shù)據(jù)庫里,先確保接收到了,再去調(diào)簽名和業(yè)務(wù)邏輯。
寫在最后
操作類的內(nèi)容和理論類的內(nèi)容是分開的。例如,本文是關(guān)于操作類的。將來(但不是現(xiàn)在)將會有文章討論JS支付的原理或公鑰和私鑰的原理,因為我不想留下太多漏洞。
控制文章的節(jié)奏似乎有點不足,但是我將嘗試避免使用大規(guī)模代碼,分享更多經(jīng)驗和干貨,并從初學者的角度撰寫更多文章。如有任何疑問,請留言討論,希望對大家有幫助!
以上內(nèi)容均為作者原創(chuàng),特此聲明,如果需要轉(zhuǎn)載,請征得您的同意