云调用使用-阿里云开发者社区

开发者社区> 开发者学习资源库> 正文

云调用使用

简介: 云调用是基于小程序 Serverless 的云函数来使用支付宝小程序开放接口的能力,可以方便的让开发者在小程序中直接调用支付宝的后端开放接口,不需要关注服务端的相关配置,极大的减少了接入的流程,进一步降低了支付宝小程序的开发门槛。

云调用使用

云调用是基于小程序 Serverless 的云函数来使用支付宝小程序开放接口的能力,可以方便的让开发者在小程序中直接调用支付宝的后端开放接口,不需要关注服务端的相关配置,极大的减少了接入的流程,进一步降低了支付宝小程序的开发门槛。
目前云调用涵盖了支付宝开放的基础能力、营销能力、会员能力、支付能力、安全能力和资金能力,以及阿里云开放的短信能力。

步骤一:开通云调用功能

完成以下操作,在小程序云控制台开通云调用功能:

  1. 打开小程序云控制台。
  2. 在导航栏选择 扩展能力。
  3. 在扩展能力页面,单击立即开通。
  4. 单击前往 RAM 进行授权,然后单击同意授权允许小程序访问函数计算服务。
    image.png
  5. 返回扩展能力页面,查看开通状态。
    image.png

步骤二:安装并初始化SDK

  1. 在小程序项目的根目录执行以下命令安装 SDK。
npm install @alicloud/mpserverless-sdk --save
npm install alipay-serverless-sdk --save
  1. 在 app.js 中初始化云调用 SDK(全局只需初始化一次)。
// 1. 引入必要的 sdk
import MPServerless from '@alicloud/mpserverless-sdk';
import cloud from 'alipay-serverless-sdk';
 
// 2. 在 app.js 中对 sdk 进行初始化
// 2.1 初始化 MPServerless
my.serverless = my.serverless || new MPServerless({
  uploadFile: my.uploadFile,
  request: my.request,
  getAuthCode: my.getAuthCode,
}, {
  // 2.2 参数能在小程序云服务空间详情中获取
  appId: '',
  spaceId: '',
  clientSecret: '',
  endpoint: ''
});
// 2.3 初始化 alipay-serverless-sdk
cloud.init(my.serverless);

其中:

  • appId 是小程序的 ID。您可以在支付宝小程序控制台获得。
  • spaceId、clientSecret 和 endpoint 在小程序 Serverless 控制台创建服务空间后可以获得。
  1. 在想要使用 SDK 的页面导入 alipay-serverless-sdk 即可使用。
// 比如在 page.js导入alipay-serverless-sdk
import cloud from 'alipay-serverless-sdk';
 
//调用对应能力的API
const res = await cloud.base.qrcode.create(urlParam, queryParam, describe);

云调用SDK接口说明

云调用SDK提供了基础能力、营销能力、会员能力、支付能力、安全能力和资金能力以及通用调用能力的接口调用,只需要开通云调用,你就能在小程序端快捷的调用各类接口。(云函数端调用云调用接口也将在近期开放)

基础能力

import cloud from 'alipaytest-serverless-sdk'

const res = await cloud.base.oauth.getToken('yourauthcode');
import cloud from 'alipaytest-serverless-sdk'

const res = await cloud.base.qrcode.create('pages/index/index','key=value','我的二维码描述');

营销能力

import cloud from 'alipaytest-serverless-sdk'

const res = await cloud.marketing.templateMessage.send('2088xxxxx','2017010100000000580012345678','MDI4YzIxMDE2M2I5YTQzYjUxNWE4MjA4NmU1MTIyYmM=','page/component/index','');

资金能力

  • 无密转账到支付宝账号

    • 单笔转账 cloud.fund.transferAccount.transfer
import cloud from 'alipaytest-serverless-sdk'

const res = await cloud.fund.transferAccount.transfer('155983843433000','1.00',{
    identity: '2088xxxxxxxxx',
  identity_type: 'ALIPAY_USER_ID'
},'转账标题');

支付能力

import cloud from 'alipaytest-serverless-sdk'

const res = await cloud.payment.faceToFace.pay('Iphone6 16G','20150320010101001','88.88','28763443825664394');

更多云调用支持的开放能力见可以使用支付宝扫码登陆官方小程序云开发助手,在 学习 > 云调用SDK文档 学习更多云调用开放能力的使用。
image.png

同时我们提供了调用支付宝开放能力的通用云调用接口,满足您的开发需要。

var exchangeUseParams = new Object({
  user_id: 2088xxxxxx',
  voucher_id: '2020132xxxxxxx',
  out_biz_no: 'xxxxxx'
 });
const res = await cloud.util.generic.execute('alipay.marketing.exchangevoucher.use', 
      exchangeUseParams);

云调用模板工程

打开小程序IDE工具,点击【模板选取】的【云与开放能力】,选择 Serverless支付宝能力地图demo。
image.png

课程作业

支付宝扫码登陆官方小程序【小程序云开发助手】,在 学习 > 训练营打卡作业 > 云调用使用 中提交作业。
image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

开发者免费资源中心,技术电子书、会议PPT、论文资料持续供应中

官方博客
官网链接