HarmonyOS集成支付宝支付sdk

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

[[422905]]

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

引言

随着HarmonyOS的快速发展,支付宝也推出了支持HarmonyOS版本的SDK,具体的操作可以看支付宝官方文档,地址为https://opendocs.alipay.com/open/01ysmx

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

首先访问支付宝的官方平台蚂蚁金服开放平台,网址为:https://open.alipay.com/platform/home.htm 。然后用自己的支付宝登录并认证为开发者,认证的时候要录入自己的相关个人信息,这里不多说如何认证,简单的“下一步”傻瓜式操作。接着在平台首页依次点击“文档中心”进入查阅相关的Android集成的开发文档,接着下载集成支付宝的SDK和demo。

在进行支付宝接入的时候,需要企业用户(也就是说需要营业执照,统一社会信用代码等信息去进行注册),那么个人开发爱好者就没法做正式支付宝的开发接入了。但是支付宝后来推出了沙箱模式,一来可以方便项目开发期间进行测试,二来个人用户也可以熟练下支付宝继承的操作。非常遗憾的是,目前我在开发的时候发现,鸿蒙版本的sdk并不支持沙箱模式(还不确认是我自己的问题还是官方的问题,官方没有找到是否支持沙箱的说明),该问题我还在想办法给阿里和华为进行反馈。

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

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

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

2、RSA2(SHA256)密钥生成方法

工具下载:

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

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

选择密钥格式,选PKCS1格式生成的私钥为非Java开发语言使用;选PKCS8格式生成的私钥为Java开发语言使

选择密钥长度,生成2048位的RSA私钥。

③设置RSA2

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

点击之后,如下

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

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

3、下载沙箱版钱包app,支付宝会提供测试账号,里面有余额。

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

扫码下载即可。

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

4、官方demo下载

下载官方的demo,

官方demo

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

5、代码说明

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

(1)导入sdk

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

添加依赖

  1. implementation files('libs/alipaysdk-harmony-15.8.01-9adcf86.har'
HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

(2)在真机上运行调试,配置签名信息

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

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

(3)修改PayDemoActivityC中的APPID和RSA2_PRIVATE

这个APPID就是之前沙箱环境中的那个APPID(如果是正式的商业环境是自己创建的应用APP的APPID),RSA2_PRIVATE就是自己之前用工具生成的私钥。正式环境中该私钥一定不要放到app里面,而是通过服务器生成。

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

此时问题来了,目前鸿蒙版本sdk,如果加了这句代码,那么无法调用起来支付宝沙箱版本钱包,也无法调用起来正式版本的支付宝app。而是直接提示报错,报错截图如下

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

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

HarmonyOS集成支付宝支付sdk-鸿蒙HarmonyOS技术社区

如果去除掉EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX)这行代码,那么是可以调起来正式版本的支付宝的,那么此时就需要正式版的APPID和密钥,这个是需要营业执照去认证的,由于本人没有申请商用版本的密钥,就没有经过后续测试了。

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2021-01-25 14:13:26

iOS支付宝支付

2018-02-25 11:22:14

SDK代码接口

2014-11-17 10:52:56

支付宝去阿里化

2024-02-28 08:59:47

2011-04-21 11:27:42

Firefox支付宝

2009-09-17 12:15:28

互联网

2009-08-26 16:07:09

支付宝网上购物安全迈克菲

2023-11-28 08:53:15

2013-10-11 09:41:01

Windows 8.1支付宝

2018-03-27 12:02:31

央行支付宝红包

2011-10-15 23:24:48

Java

2009-12-14 16:31:00

Linux安装支付宝

2009-11-23 10:02:22

PHP支付宝接口

2011-12-28 21:43:40

苹果

2013-11-28 11:15:43

微信支付宝支付战争

2017-12-18 18:23:09

支付宝扫码赚钱支付宝套路

2013-10-31 11:24:53

支付宝漏洞支付宝漏洞

2021-12-29 21:36:12

微信支付宝移动支付

2018-07-01 15:40:51

微信支付宝央行

2019-11-01 09:36:58

微信支付支付宝
点赞
收藏

51CTO技术栈公众号