支付寶幾口之條碼支付,公司最近要開一家店鋪,收銀系統要本身來開發,由於配套的還有app,做爲程序要,這下就苦逼了吧!本身用java寫可視化界面就算了,還要去調用支付寶的支付接口和微信的支付接口,唉,沒辦法,下面就關於條碼支付作一個記錄吧!java
第一步:做爲程序員,確定直接去看api,看到第一步,就知道要去註冊一個企業帳號,固然要填寫企業的信息(企業爲的法人信息、營業執照,對公帳戶信息(收錢)什麼的..)程序員
第二部:註冊成功以後,實名認證也作了(這裏須要1到2天),固然繼續研究支付寶的開發文檔咯,按文檔走,建立一個應用,個人應用叫「大頭」,由於「測試應用」,支付寶典型不會讓你經過的...編程
建立完了以後在你的應用列表裏面就會有了,不過這時候是開發狀態,在開發狀態,他的接口只能在沙箱環境中使用,因此本人二話不說,直接上線,因而就有了下面的「菜叔叔」這個應用了,由於那個沙箱環境我去配過,沒有成功,並且週末還罷工,因此果斷放棄,windows
在這裏我說一下,上線以前,須要把你用的條碼支付的功能加上去,以下圖:api
在功能裏面是「當面付」,上線的時候須要,若是用於app,須要填寫app的資料,好比安卓要填寫安卓的應用簽名和應用報名,蘋果的要填寫一個BxxxID,在開發的時候,這個id能夠統一的,安卓這邊的應用簽名與應用包名我在下面補充。微信
這些都作完了以後,ok,咱們接下來要配置祕鑰,通常狀況,這裏配置很差,條碼支付都會報簽名錯誤,並且還無頭緒,由於你明明是按照文檔走的,可是就是跑不通,我最開始的祕鑰是下載的的支付寶提供的windows的祕鑰生成工具,按照文檔走,用的是2048的,java版(PKCS8)的,後來一炮程序的時候就出問題,老是報簽名錯誤:app
上網去搜了,才發現,唉,仍是用openssl 工具靠譜,因而去網上下載了一個windows 64位的openssl 工具,下面會附上該工具的下載地址,若是是32位的朋友,就麻煩本身找一下咯!工具
下載好了,按照文檔走,支付寶把命令寫錯了,該死,又不行測試
此次又上網去搜,在谷歌上找到了正確解法,以下:spa
下載openSSL工具:AMD64-Win64OpenSSL-0_9_8g.zip
隨便解壓到哪一個目錄下,在該目錄的地址欄輸入cmd:
進入命令提示符,依次輸入一下命令:
1.openssl genrsa -out rsa_private_key.pem 1024
2.openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
3.openssl pkcs8 -topk8 -nocrypt -inform PEM -in rsa_private_key.pem -outform PEM outform
注:非java編程,第3步就能夠省略哈,若是是java,則須要轉換,轉換以後生成的數據記得copy保存到你的記事本文件或者其餘,我是直接copy到我生成的那個私鑰的文件裏的..)
將這3步執行完了以後,你回到你的openssl 的解壓路徑下,會看到2個文件,以下所示:
ok,這時候就開始去配置你的 應用的應用環境了,主要是網關和回調地址,以及祕鑰,上面我主要講的祕鑰,我先講祕鑰配置好,至於網關和回調地址下面說,在配置祕鑰的時候又2中選擇RSA和RSA2
在這裏我一開始選擇的支付寶推薦的RSA2,用它工具生成的祕鑰,無論用,可是用上面的命令生成的祕鑰又只是針對RSA的(我試着把1024改爲了2048,發現仍是不行),因而就沒有關RSA2了,果斷用的RSA了,因此看起來我好想2個都配置了祕鑰,可是我使用的倒是RSA:
完成以後就會生成支付寶公鑰了,這2個在代碼中都會用到,到這裏,你的祕鑰配置就結束了,下面講一下網關的配置,這裏主要是方便支付寶和咱們的程序交互
這裏的網關和受權回調地址,我感受好像沒什麼影響,下次能夠試一下不配置這個有沒有關係,多是尚未研究好支付寶的接口文檔,還不太清楚這裏的網關和受權回調地址的含義,會繼續去研究的。
好了,到這裏你們都知道直接去下載demo運行了吧,demo裏也說了只要把本身的數據更換上去就能夠了(pid,appid,祕鑰等等),在這裏我要說一下填寫祕鑰的時候,若是是java編,要用以前轉碼以後的那串數據,以下:
還有一點給你們提示一下,不少用戶不知道pid在哪裏查,打開這個網址就能夠查詢了:https://e.alipay.com,登陸後,選擇簽約管理;
進去以後就就可查詢了pid了。