亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ruby如何集成支付寶快捷支付

發布時間:2021-12-22 14:12:08 來源:億速云 閱讀:193 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關Ruby如何集成支付寶快捷支付,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

客戶端

客戶端集成移動端支付寶快捷支付,iOS和Android端很方便,使用支付寶提供的sdk就可以了,要注意的地方就是:

  • 一定要用支付寶提供的工具,生成商戶自己的公鑰和密鑰,密鑰要經過pkcs8編碼。這些都可以使用支付寶提供的工具來完成。

  • 要把商戶的公鑰提交到支付寶。

基本上看著文檔就可以很快完成集成測試。

當用戶手機沒有安裝支付寶App,則會彈出安裝支付寶App的彈窗,點確定就去下載支付寶App,點取消就彈出webview打開網頁版支付寶結算。

服務端

服務端是用Ruby。

因為所有的支付請求都由客戶端完成了,那么服務端只剩下了實現支付寶異步通知接口的任務。

異步通知接口有兩步工作:RSA簽名驗證、Notify ID驗證是否支付寶請求。

RSA簽名驗證

目前快捷支付的簽名類型,只支持RSA, 所以服務端接收異步通知的接口Notify就只能用RSA來驗證簽名。支付RSA驗證的邏輯是這樣的(文檔里也有描述,理解這個邏輯有助于順利完成驗證):

  • 商戶使用支付寶提供的工具生成RSA公鑰私鑰,并把商戶公鑰提交給支付寶。 這一步意味著雙方互換公鑰。

  • 支付寶發給商戶的請求是用支付寶的私鑰加密的,所以必須用支付寶的公鑰解密,而支付寶的公鑰在文檔里已經提供。

  • 商戶發往支付寶的請求,必須是商戶自己的私鑰加密,而支付寶那邊用商戶的公鑰解密。就是移動客戶端sdk完成的工作。所以移動客戶端那邊一定是用商戶自己的私鑰,并且是經過pkcs8編碼的。

理解了RSA的加密解密邏輯,我們就了解了,服務端后臺要驗證來自于支付寶的異步通知POST請求,必須用支付寶的公鑰了。

復制文檔里支付寶的RSA公鑰, 換行的部分用\n代替,如下:

 
-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRA\nFljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih4/PrQE\nB/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5Ksi\nNG9zpgmLCUYuLkxpLQIDAQAB\n-----END PUBLIC KEY-----

然后,我們使用OpenSSL::PKey::RSA類:

 
rsa = OpenSSL::PKey::RSA.new(alipay_pub_key)

alipay_pub_key是上面的支付寶公鑰。
一定要上面這種格式,或者你使用工具生成符合pem格式的pem文件,否則會報錯。

然后我們就可以使用rsa的verify方法驗證簽名了:

 
rsa.verify('sha1', Base64.decode64(sign), rsa_string.force_encoding("utf-8"))

注意,這里的sign,是支付寶請求里的簽名參數, 這里的sign一定要經過base64解碼。rsa_string是根據支付寶文檔生成的待簽名字符串。

這樣,你就可以完成RSA驗證了。

Notify ID驗證

這個很簡單, 帶上支付寶文檔里提供的參數,給支付驗證接口發個請求就可以了。


關于“Ruby如何集成支付寶快捷支付”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长兴县| 栾川县| 永靖县| 淄博市| 马鞍山市| 赣榆县| 伊吾县| 九台市| 集安市| 贡觉县| 泰宁县| 连南| 蒙山县| 山西省| 马龙县| 鄂托克前旗| 福贡县| 星子县| 远安县| 南投县| 五寨县| 五大连池市| 左贡县| 旬阳县| 三江| 元阳县| 华池县| 金阳县| 万州区| 衡阳县| 南平市| 寻乌县| 屯留县| 毕节市| 荔浦县| 如皋市| 米林县| 永吉县| 龙州县| 塔城市| 江都市|