murenziwei

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

 

分类:

技术点:

相关文章:

  • 2021-08-22
  • 2022-01-18
  • 2021-07-03
  • 2021-09-12
  • 2021-12-02
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2022-02-09
  • 2021-11-29
  • 2021-08-09
  • 2021-05-03
相关资源
相似解决方案