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