uniCloud是基於node爲運行環境的,因此得接入node版的SDK,須要安裝npm包,因爲npm包大小超過10M,目前爲止,只有騰訊雲環境才能知足需求。node
這是支付寶開發平臺SDK的npm資源地址,有安裝和使用文檔,能夠前往瞭解shell
https://www.npmjs.com/package/alipay-sdknpm
安裝json
雲函數能夠·使用npm安裝第三方依賴,因此從雲函數裏面下手app
在你所須要的雲函數目錄下打開終端async
初始化npm工程(在雲函數目錄下初始化,若是已經有package.json文件了,可跳過)ide
npm init -y
安裝依賴(在雲函數目錄下安裝依賴)函數
npm install alipay-sdk --save
密鑰生成(本人選擇的是證書模式,此步操做看實際開發情狀)工具
須要資料測試
一、應用私鑰證書:用工具生成的密鑰(非JAVA格式,RSA2簽名類型),而後複製本身生成一個pem格式文件)
二、應用公鑰證書
三、支付寶公鑰證書
四、支付寶根證書
這四份文件可前往https://opendocs.alipay.com/open/291/105971瞭解操做
注意:應用私鑰轉換pem格式文件時,要注意字符串格式,千萬不要用txt格式,直接重命名pem格式相似的思路。否則的話,使用時會報0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag錯誤,可用openSSL工具生成pem文件,操做文檔https://opensupport.alipay.com/support/helpcenter/207/201602520381?ant_source=antsupport,或者其它方式生成也行,不侷限的
拿到上面的文件後,將這些文件直接放到雲函數目錄下
使用
//雲函數暫時不支持import寫法,只能用require導入 const AlipaySdk = require('alipay-sdk').default; //node內置的模塊 const fs = require('fs'); const path = require('path'); exports.main = async (event, context) => { const alipaySdk = new AlipaySdk({ appId: 'xxx', signType: 'RSA2', privateKey: fs.readFileSync('./ssl.pem','UTF-8'),//我建的格式是UTF-8,實際填寫看實際開發情狀 alipayRootCertPath: path.join(__dirname,'./alipayRootCert.crt'), appCertPath: path.join(__dirname,'./appCertPublicKey.crt'), alipayPublicCertPath: path.join(__dirname,'./alipayCertPublicKey_RSA2.crt') }); return alipaySdk; }
直接上傳雲函數並運行測試一下,若是出現如下信息,說明SDK導入成功,而且可使用了
若是你想要更多的運用此SDK,能夠移步其它文檔https://www.yuque.com/chenqiu/alipay-node-sdk/guide