uniCloud接入支付寶開發平臺SDK

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

相關文章
相關標籤/搜索