uniCloud接入支付宝开发平台SDK

uniCloud是基于node为运行环境的,所以得接入node版的SDK,需要安装npm包,由于npm包大小超过10M,目前为止,只有腾讯云环境才能满足需求。

这是支付宝开发平台SDK的npm资源地址,有安装和使用文档,可以前往了解

https://www.npmjs.com/package/alipay-sdk

安装

云函数可以·使用npm安装第三方依赖,所以从云函数里面下手

在你所需要的云函数目录下打开终端

 

 

 初始化npm工程(在云函数目录下初始化,如果已经有package.json文件了,可跳过)

npm init -y

安装依赖(在云函数目录下安装依赖)

npm install alipay-sdk --save

密钥生成(本人选择的是证书模式,此步操作看实际开发情状)

需要资料

1、应用私钥证书:用工具生成的密钥(非JAVA格式,RSA2签名类型),然后复制自己生成一个pem格式文件)

2、应用公钥证书

3、支付宝公钥证书

4、支付宝根证书

这四份文件可前往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

 

posted @ 2021-01-22 10:48  木人子韦一日尘  阅读(722)  评论(0编辑  收藏  举报