写点什么

周榕彬:云开发模式下的微信支付能力调用新姿势

腾讯云

  • 2020-11-30
  • 本文字数:2169 字

    阅读完需:约 7 分钟

周榕彬:云开发模式下的微信支付能力调用新姿势

2020 年 11 月 29 日,腾讯 2020「小程序·云开发」技术峰会在北京顺利召开。本次峰会以“重新定义开发”为主题,深度聚焦小程序云开发的创新成果与实践案例。以下为微信高级后台开发工程师周榕彬的演讲实录:


周榕彬:大家下午好,我是来自微信小程序团队的周榕彬,今天很高兴可以在这里跟大家分享一下云开发的支付能力。


在日常生活中,小程序的支付场景还是很常见的,比方说扫码点餐、付费阅读等等。


当开发者需要在小程序内销售商品或者内容时,就可以通过接入微信支付来完成。


那在传统开发模式下,小程序接入微信支付是一个怎么样的流程呢?


首先开发者需要注册一个微信支付的商户号,并且将这个商户号与小程序 APPID 进行绑定。然后开发者需要准备一套开发调试环境和一套线上环境。这包括购买服务器,并在其上面部署服务运行环境。由于我们调用微信支付 API 的时候必须遵循一些规则,比如调用退款接口时,我们需要用到双向证书,所以开发者还需要提前下载好微信支付的 API 证书,并且将它部署到服务器上。同时,为了安全的接受支付结果回调请求,开发者还需要去购买一个域名,并且为这个域名申请 HTTPS 证书。


然后再来到开发阶段,开发者首先需要设计登录鉴权方案,再进行支付业务逻辑的开发。


最后阶段,就是在小程序上线前,开发者还需要评估服务的性能,然后做缩扩容的方案,以及考虑对系统进行加固,以此来保护我们的业务数据。同时,还需要配备一套监控告警系统,以便开发者更好的了解业务线上情况。


总结起来,在传统的开发模式下,小程序接入微信支付的过程,开发者不仅要关心业务支付逻辑的开发,还需要做好一系列的运维和保障的工作。


那有没有办法让开发者只需要关注业务逻辑开发呢?下面我们看一下云开发是怎么来做到的。


同样的,使用云开发来接入微信支付,同样需要去注册一个微信支付的商户号,并且将该商户号与小程序 APPID 进行绑定。在开通云开发后,开发者可以一键创建云环境,也就不需要再去购买服务器和部署服务运行环境了。在使用我们云开发提供的支付 API 时,由于请求免鉴权了,开发者也不需要下载和部署微信支付的 API 证书。同时,可以通过云函数来接受支付结果回调,开发者不需要额外购买域名,也不需要申请 HTTPS 证书。


来到开发阶段,因为云开发提供天然的鉴权,并且给每个请求带上了 Open ID 等信息,所以开发者也不需要额外设计登录鉴权系统,只需要关注具体的业务逻辑开发就可以了。


在小程序上线后了,开发者可以使用云开发提供的自定义告警来及时的了解线上业务的运行情况。而像保护数据安全、设计服务伸缩等运维工作,就可以放心的交给云开发来做。


总的来说,使用云开发的微信支付能力,能大大降低微信支付的接入门槛,使得开发者有更多时间来投入到业务的开发迭代之中。


前面主要介绍了传统模式下和云开发模式下,接入微信支付的流程差异。那下面具体介绍下云开发支付有哪些优点。


一是安全性。在小程序中使用云开发 SDK 时,请求底层采用的是微信的私有协议,该协议参考了 tls1.3 草案标准进行设计,它可以保证我们云开发请求数据的安全性,做到了防窃听,防篡改,防重放,防伪造,也就是说请求从小程序到达云函数是安全的,而在云函数中使用云开发 SDK 调用支付 API 的时候,底层是通过内网来请求微信支付的 API。内网相对于外网来说,时延更低,网络质量会更加稳定。


下面介绍一下云开发支付能力的实现方案。云开发是通过微信支付服务商的模式来提供支付能力。


开发者在云函数中调用云开发原生支付 API 时,无需使用微信支付的 API 证书,这里也就不存在证书泄漏的风险。而通过我们云开发 SDK 来调用支付能力的时候,请求采用的是云开发的私有协议。云开发后台收到请求后,就会对这个请求进行鉴权校验,最终通过 HTTPS 协议调用微信支付服务商 API。


可以看到在请求的整个过程中,请求的每一个步骤,我们都会进行鉴权校验,从而保证了支付链路的安全性。一个业务上线之后,必须会产生业务的数据,接下来介绍下云开发如何保护业务数据安全的。


云上的资源,不管是云数据库,还是对象存储,都是由腾讯云的访问管理系统(CAM)来提供保护。也就是说对于每个访问云开发资源的请求,CAM 都会校验其请求的权限,所以说,云开发的资源数据不会被恶意访问到。


前面也提到了云开发提供的一些运维能力,比如服务的自动伸缩、自定义告警等等一些


能力。这里再提一下高级日志查询能力,该能力可以帮助开发者快速找到失败 Case 的日志,从而更快地定位到问题,有更多的时间进行修复上线。


前面讲了这么多云开发支付的一些优点,其实接入简单也是很重要一个优点。


这里举一个下单支付的例子。


比如我们现在想买一杯饮料,首先需要获取预付单 ID,开发者只需要在云函数中调用云开发统一下单的接口即可拿到预付单的信息。拿到预付单 ID 等信息后,只需在小程序端调用一下微信 JSAPI,就可拉起支付二维码。当用户扫描完成支付之后,开发者指定的云函数就会收到支付结果回调,在云函数中处理完业务逻辑后,返回特定的消息结构体就可以完成整个支付过程了。


我们可以看到,使用云开发来完成支付下单的过程,开发者只需要十来行代码,就可以完成。再介绍下云开发即将开放的支付工具,包括分账和小程序红包。目前分账能力已在内测完毕,我们会发尽快发布上线。


今天关于云开发支付的分享就到这里。大家在使用云开发的过程中如果有遇到任何问题,欢迎在开发者社区提问。


谢谢。

2020-11-30 17:311608

评论

发布
暂无评论
发现更多内容

位运算在数据库中的实际应用

领创集团Advance Intelligence Group

数据库 位计算

声网许振明:RTC 场景 UHD 视频应用和探索

声网

前端 音视频 RTC

SQL 嵌套 N 层太长太难写怎么办?

王磊

干货 | 企业监控系统体系化建设思路

嘉为蓝鲸

自动化运维 嘉为蓝鲸 企业监控系统

叮咚~,这份春节前突击检查应对指南请收好!

嘉为蓝鲸

自动化运维 weops 嘉为蓝鲸

MASA Stack 1.0 发布会圆满收官

MASA技术团队

.net 云原生 PaaS dapr MASA

图像增强及运算:局部直方图均衡化和自动色彩均衡化处理

华为云开发者联盟

Python 人工智能 华为云 企业号 1 月 PK 榜

使用 YonBuilder 进行报表分析 - 扩展篇

YonBuilder低代码开发平台

WeOps上新啦 | WeOpsV3.14拓展云平台能力,支持自动发现和监控告警

嘉为蓝鲸

自动化运维 weops 嘉为蓝鲸

网易伏羲预训练模型”玉言“登顶CLUE分类榜单,成绩首次超过人类水平

网易伏羲

人工智能

【案例分享】如何利用京东云建设高可用业务架构

京东科技开发者

云计算 架构 高可用架构 后端、 企业号 1 月 PK 榜

免费下载 | 2023 中国技术成熟度评估曲线发布,共看六大发展趋势

博睿数据

可观测性 智能运维 博睿数据 权威报告

使用MTK迁移Mysql源库后主键自增列导致数据无法插入问题

华为云开发者联盟

数据库 后端 华为云 企业号 1 月 PK 榜

揭开华为云CodeArts TestPlan启发式测试设计神秘面纱!

华为云开发者联盟

云计算 后端 华为云 企业号 1 月 PK 榜

Svelte框架实现表格协同文档

葡萄城技术团队

聚焦技术与体验极致提升,阿里云视频云连续5年领跑!

阿里云视频云

阿里云 IDC 视频云

嘉为蓝鲸研运一体化解决方案荣获信通院XOps领域年度明星解决方案

嘉为蓝鲸

自动化运维 嘉为蓝鲸

实力领跑 | 旺链科技入选《2022中国区块链技术创新典型企业名录》

旺链科技

区块链 区块链技术 产业区块链

英特尔CEO帕特·基辛格:五大“超级技术力量”,推动人类社会发展

科技之家

​洞悉获客之道,林肯汽车开展高端社区精准营销俘获消费者芳心

联营汇聚

如何对小程序进行更高效的管理

Onegun

小程序 微信小程序 小程序管理平台

如何通过C#和VB.NET合并Excel文档

Geek_249eec

C# Excel VB.NET

证券服务应用评测系列:海通e海通财发布9.0版本,探索证券APP持续提升用户体验

易观分析

App 证券

2022Q4消费级AR眼镜市场季度分析:雷鸟创新领跑,华为强势入局

易观分析

市场 消费 AR眼镜

深度 | 新兴软件研发范式崛起,云计算全面走向 Serverless 化

阿里巴巴云原生

阿里云 Serverless 云原生

标准升级 |《企业数字化成熟度模型IOMM标准》(企业整体视角)发布

信通院IOMM数字化转型团队

数字化转型 IOMM ICT深度观察

什么是AutodeskMaya?为什么要学习它?

Finovy Cloud

3DMAX maya

如何训练开发者记忆能力

SEAL安全

开发者 实用技能 记忆

NFTScan 与 SeeDAO 孵化器达成战略合作,为开发者提供专业的 NFT 数据服务!

NFT Research

NFT

还在用Excel和SQL?火山引擎VeDI这款产品帮你更快处理数据

字节跳动数据平台

大数据 数据分析 企业 数据看板

昆仑万维深耕AIGC领域 昆仑天工助力内容创作者创造无限可能

Geek_2d6073

周榕彬:云开发模式下的微信支付能力调用新姿势_文化 & 方法_InfoQ精选文章