0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

支付宝支持HarmonyOS版本的SDK

OpenHarmony技术社区 来源:鸿蒙技术社区 作者:软通夏德旺 2021-09-06 09:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着 HarmonyOS 的快速发展,支付宝也推出了支持 HarmonyOS 版本的 SDK。

具体的操作可以看支付宝官方文档,地址为:

https://opendocs.alipay.com/open/01ysmx

集成第三方 SDK 是程序员的一个基本必备能力,特别是像支付宝这样的官方文档介绍都很明确,看 SDK 文档是程序员的基本能力,本篇博客还是会概述下集成基本流程,然后重点梳理其中的问题。

首先访问支付宝的官方平台蚂蚁金服开放平台,网址为:

https://open.alipay.com/platform/home.htm

然后用自己的支付宝登录并认证开发者,认证的时候要录入自己的相关个人信息,这里不多说如何认证,简单的“下一步”傻瓜式操作。

接着在平台首页依次点击“文档中心”进入查阅相关的 Android 集成的开发文档,接着下载集成支付宝的 SDK 和 demo。

在进行支付宝接入的时候,需要企业用户(也就是说需要营业执照,统一社会信用代码等信息去进行注册),那么个人开发爱好者就没法做正式支付宝的开发接入了。

但是支付宝后来推出了沙箱模式,一来可以方便项目开发期间进行测试,二来个人用户也可以熟练下支付宝继承的操作。

非常遗憾的是,目前我在开发的时候发现,鸿蒙版本的 SDK 并不支持沙箱模式(还不确认是我自己的问题还是官方的问题,官方没有找到是否支持沙箱的说明),该问题我还在想办法给阿里和华为进行反馈。

下面以沙箱环境开发进行案例讲解:

①登录开发者平台进入沙箱页面(前提是已经完成开发者认证):

https://open.alipay.com/platform/manageHome.htm

点击红色区域标注的“沙箱”,进入之后的界面如下:

这里有时会报个数据出错,沙箱环境不是很稳定,多刷新几次,阿里会定期进行维护,实在不行过段时间再操作。

此时,就可以获得相应的 APPID,商户 ID 等信息,此时在沙箱环境下只用配置个 RSA 秘钥。

②RSA2(SHA256)密钥生成方法

工具下载:

https://doc.open.alipay.com/docs/doc.htm?treeId=291&articleId=106097&docType=1

解压后,WINDOWS 版本双击文件“RSA 签名验签工具 .bat”即可运行工具;Mac 版本双击文件 “RSA 签名验签工具 .command”即可运行工具。

生成密钥:快速生成 RSA 私钥公钥。

选择密钥格式,选 PKCS1 格式生成的私钥为非 Java 开发语言使用;选 PKCS8 格式生成的私钥为 Java 开发语言使选择密钥长度,生成 2048 位的 RSA 私钥。

设置 RSA2:点击之后,如下:

将之前生成的公钥复制进来,然后点击保存即可。

注意:公钥私钥不要频繁用工具生成,每次生成都会不一样,那么重新生成后请重新进此页面修改公钥。公钥和私钥是一对,一定要保持一致,后面会在服务端和 App 中使用到私钥。

③下载沙箱版钱包 App,支付宝会提供测试账号,里面有余额

如下图:

扫码下载即可。

手机上安装好沙箱版支付宝之后,用上图中的账号密码进行登录。

④官方 demo 下载

下载官方的 demo:

https://gw.alipayobjects.com/os/bmw-prod/2d42c098-ce3a-4819-9d83-1bfaa6c00a43.zip

下载的官方 demo 代码结构如下:

导入到 DevEco Studio 中,然后配置 app 签名和密钥等参数。

⑤代码说明

我并没有直接使用官方 demo,而是自己重新创建了一个工程,然后引入官方 demo 中的相关核心代码。我的工程源码可以在附件中进行下载。

导入 SDK:

添加依赖:

implementation files(‘libs/alipaysdk-harmony-15.8.01-9adcf86.har’)

注意:虽然这里已经引入了 libs 下的所有 har 库,但是如果不单独再引入支付宝 sdk 的依赖的话,在编写代码的时候会出现 api 的标红,并且没有 api 的联想,尽管最后编译运行不会报错。

在真机上运行调试,配置签名信息,如果您希望在鸿蒙真机上运行 Demo,则需要先在 Project 以及 Module 的 build.gradle 中配置调试签名:

您也可以使用 IDE 自带的签名设置界面完成配置,请参考 HarmonyOS 文档 - 使用真机进行调试 :

https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ide_debug_device-0000001053822404#ZH-CN_TOPIC_0000001057215892__section837891802519

调试签名的获取流程,请参考 AppGallery 文档 - 调试 HarmonyOS 应用:

https://developer.huawei.com/consumer/cn/doc/distribution/app/agc-harmonyapp-debugharmonyapp

修改 PayDemoActivityC 中的 APPID 和 RSA2_PRIVATE:这个 APPID 就是之前沙箱环境中的那个 APPID(如果是正式的商业环境是自己创建的应用 APP 的 APPID),RSA2_PRIVATE 就是自己之前用工具生成的私钥。

正式环境中该私钥一定不要放到app里面,而是通过服务器生成。

按照 Android 版本支付宝 SDK 在沙箱环境下的运行做法,还需要添加如下代码(商业环境千万不要加)启用沙箱环境,否则无法调起支付宝沙箱版本钱包。

此时问题来了,目前鸿蒙版本 sdk,如果加了这句代码,那么无法调用起来支付宝沙箱版本钱包,也无法调用起来正式版本的支付宝 app。

而是直接提示报错,报错截图如下:

下图是我在鸿蒙真机上安装的各个 app,快捷支付这个就是我开发的 demo,然后安装了个正式版支付宝 app 和沙箱版 app。

如果去除掉 EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX)这行代码,那么是可以调起来正式版本的支付宝的。

那么此时就需要正式版的 APPID 和密钥,这个是需要营业执照去认证的,由于本人没有申请商用版本的密钥,就没有经过后续测试了。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2643

    浏览量

    70253
  • HarmonyOS
    +关注

    关注

    80

    文章

    2157

    浏览量

    36427

原文标题:支付宝SDK适配鸿蒙系统!

文章出处:【微信号:gh_834c4b3d87fe,微信公众号:OpenHarmony技术社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    支付宝FluidMarkdown鸿蒙版正式开源

    近日,支付宝正式开源面向鸿蒙平台的 FluidMarkdown ——一款专为智能化业务场景打造的移动端 Markdown 渲染库。作为首个适配 HarmonyOS 平台的流式 Markdown 引擎
    的头像 发表于 12-26 13:42 917次阅读

    华为与中移互联网、支付宝签署战略合作协议

    今日,为推进AI新通信生态繁荣,中移互联网有限公司(以下简称“中移互联网”)、支付宝(杭州)数字服务技术有限公司(以下简称“支付宝”)及华为技术有限公司(以下简称“华为”)正式签署合作协议,共同开启
    的头像 发表于 12-17 16:41 913次阅读

    支付宝“碰一下”的革新背后:国民技术MCU的隐形力量

    近日,全球顶尖金融科技盛会Money20/20公布首届创新大奖TheMoneyAwards结果,“支付宝碰一下”从众多参赛企业中脱颖而出,凭借创新的解决方案和极致的用户体验摘得“支付”类别大奖,成为
    的头像 发表于 11-21 19:15 1564次阅读
    <b class='flag-5'>支付宝</b>“碰一下”的革新背后:国民技术MCU的隐形力量

    广汽能源与支付宝深化战略合作

    2025年11月14日,广汽能源科技有限公司(以下简称“广汽能源”)与支付宝(杭州)数字服务技术有限公司(以下简称“支付宝”)在广汽集团总部举行深化合作签约仪式。广汽集团副总经理郑衡、蚂蚁集团支付宝
    的头像 发表于 11-18 10:19 871次阅读

    国民技术MCU芯片护航支付宝碰一下设备创新

    近日,全球顶尖金融科技盛会Money20/20公布首届创新大奖The Money Awards结果,“支付宝碰一下”从众多参赛企业中脱颖而出,凭借创新的解决方案和极致的用户体验摘得“支付”类别大奖,成为该类别中唯一的中国企业。
    的头像 发表于 11-06 10:15 1396次阅读

    AppGallery Connect(HarmonyOS 5及以上) --公开测试创建并发布测试版本(一)

    公开测试版本支持分发中国大陆地区。 7.配置软件版本。 本文主要参考引用自HarmonyOS官方文档
    发表于 09-26 17:24

    淘宝/天猫:使用支付宝API实现多场景支付,覆盖用户偏好

    ​  在淘宝和天猫等电商平台上,支付体验直接影响用户满意度和转化率。支付宝作为核心支付工具,其开放API(Application Programming Interface)允许开发者灵活集成多场景
    的头像 发表于 09-25 09:59 1076次阅读
    淘宝/天猫:使用<b class='flag-5'>支付宝</b>API实现多场景<b class='flag-5'>支付</b>,覆盖用户偏好

    奥比中光助力支付宝碰一下落地电梯场景

    近日,支付宝与分众传媒宣布联合推出“碰一下抢红包”服务。作为创新交互方式,“支付宝碰一下”首次被引入至电梯场景,并已在全国20余个城市的电梯铺设。奥比中光作为“支付宝碰一下”业务的核心供应商,为这一创新交互方式首次大规模落地电梯
    的头像 发表于 08-12 11:32 1503次阅读

    HarmonyOS 5】鸿蒙应用隐私保护详解

    HarmonyOS 5】鸿蒙应用隐私保护详解 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、前言 在今天这个手机不离手的时代,我们每天用手机
    的头像 发表于 07-11 18:30 1497次阅读

    HarmonyOS 5】鸿蒙mPaaS详解

    Platform as a Service 的缩写,即 移动开发平台 。 蚂蚁移动开发平台mPaaS ,融合了支付宝科技能力,可以为移动应用开发、测试、运营及运维提供云到端的一站式解决方案。经过了十多年的技术
    的头像 发表于 07-11 18:23 1101次阅读
    【<b class='flag-5'>HarmonyOS</b> 5】鸿蒙mPaaS详解

    HarmonyOS 5】金融应用开发鸿蒙组件实践

    HarmonyOS 5】金融应用开发鸿蒙组件实践 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、鸿蒙生态观察 2024 年 1 月 18 日: 发布
    的头像 发表于 07-11 18:20 1210次阅读
    【<b class='flag-5'>HarmonyOS</b> 5】金融应用开发鸿蒙组件实践

    HarmonyOS AI辅助编程工具(CodeGenie)UI生成

    UI Generator基于BitFun Platform AI能力平台,用于快速生成可编译、可运行的HarmonyOS UI工程,支持基于已有UI布局文件(XML),快速生成
    发表于 07-10 11:51

    碰一下终端,让自助售货机秒变 “家里的冰箱”

    支付更多元化支付宝“碰一下”支付终端的多样性体现在:除了NFC支付,还能兼容原有的扫码支付。目前可支持
    的头像 发表于 06-18 10:49 2272次阅读
    碰一下终端,让自助售货机秒变 “家里的冰箱”

    使用 Flutter SDK 3.27.4构建HarmonyOS应用

    使用 Flutter SDK 3.27.4构建HarmonyOS应用 下载鸿蒙版flutter(3.27.4版本) 项目地址:https://gitcode.com/openharmony-sig
    的头像 发表于 06-11 09:15 1190次阅读

    京东开源Taro on HarmonyOS C-API版本

    近日,京东正式开源了Taro on HarmonyOS C-API 版本,为鸿蒙应用跨端开发提供高性能框架。这次版本的发布,带来了更丰富的样式适配、更高效的渲染性能、更全面的组件支持
    的头像 发表于 06-09 09:19 1333次阅读
    京东开源Taro on <b class='flag-5'>HarmonyOS</b> C-API<b class='flag-5'>版本</b>