• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3532

cloud/06-May-2025-399326

entry/06-May-2025-862749

hvigor/06-May-2025-2522

paySDK/06-May-2025-851794

sceenshots/06-May-2025-

.gitignoreD06-May-2025156 1313

README_zh.mdD06-May-20253.6 KiB8159

build-profile.json5D06-May-20251.3 KiB5958

hvigorfile.tsD06-May-2025159 21

hvigorwD06-May-20252 KiB6228

hvigorw.batD06-May-20252 KiB7155

oh-package.json5D06-May-2025862 2826

ohosTest.mdD06-May-2025974 1510

README_zh.md

1# 支付
2
3### 介绍
4
5本示例主要展示了加解密算法库框架的相关功能,使用[@ohos.security.cryptoFramework](https://docs.openharmony.cn/pages/v4.1/zh-cn/application-dev/reference/apis-crypto-architecture-kit/js-apis-cryptoFramework.md)
6接口,利用RSA非对称加密、ECC数字签名模拟选购支付功能;
7
8### 效果预览
9
10| 选购首页                          | 支付SDK首页                               | 密码输入界面                                            | 支付成功界面                                           |
11|-------------------------------|---------------------------------------|---------------------------------------------------|--------------------------------------------------|
12| ![main](sceenshots/main.jpeg) | ![calendar](sceenshots/pay_main.jpeg) | ![text_processing1](sceenshots/pay_password.jpeg) | ![text_processing1](sceenshots/pay_success.jpeg) |
13
14使用说明
15
161. 在选购首页,点击任意商品进入对支付主面;
172. 在支付主面,点击立即支付按钮,弹出密码输入框;
183. 输入密码满6位后得到支付结果,支付成功会进入支付成功界面,3s后自动回到选购首页;
19
20### 工程目录
21
22```
23entry/src/main/ets/
24|---entryability
25|---pages
26|   |---Index.ets                          // 选购首页
27cloud/src/main/ets/
28|---MerchantServer.ts                      // 商家云模拟
29|---PayServer.ts                           // 支付云模拟
30paySDK/src/main/ets/
31|---component
32|   |---payView.ets                        // 密码输入界面
33|   |---TitleBar.ets                       // 标题栏
34|---paysdkability
35|---pages
36|   |---Index.ets                          // 支付首页
37|---util
38|   |---Logger.ets
39```
40
41### 具体实现
42
43![main](sceenshots/software_architecture.png)
44
451. 选购页面通过商家云获取商品信息,选定商品通过商家云生成订单。
462. 商家云通过RSA非对称加密,使用支付云公钥,将商品信息传输给支付云SDK。
473. 支付云通过支付云私钥解密获得消息后生成订单明文orderString返回商家云。
484. 商家云通过ECC进行数字签名,添加到明文orderString后,形成完整的orderString返回给选购端。
495. 支付SDK通过RSA非对称加密,使用支付SDK公钥,将支付账号密码信息传输给支付云SDK,并携带完整的orderString。
506. 支付云通过支付SDK私钥解密账号密码信息,并通过商家云公钥进行验签。
51
52- 商家云可用接口封装在cloud模块MerchantServer,提供商品获取,生成订单功能,源码参考:[MerchantServer.ts](cloud/src/main/ets/MerchantServer.ts)。
53- 支付云可用接口封装在cloud模块PayServer,提供生成支付订单,支付转账功能,源码参考:[PayServer.ts](cloud/src/main/ets/PayServer.ts)
54- 支付SDK为单独feature,需要支付时拉起此hap,提供输入密码进行支付功能。逻辑位于PaySDK模块index,源码参考:[Index.ets](paySDK/src/main/ets/pages/Index.ets)
55
56### 相关权限
57
58不涉及
59
60### 依赖
61
62不涉及
63
64### 约束与限制
65
661. 本示例仅支持标准系统上运行,支持设备:RK3568;
672. 本示例已适配API version 10版本SDK,版本号:4.0.10.11,镜像版本号:OpenHarmony 4.0.10.13;
683. 本示例需要使用DevEco Studio 4.0 Release (Build Version: 4.0.0.600, built on October 17, 2023)及以上版本才可编译运行;
69
70### 下载
71
72如需单独下载本工程,执行如下命令:
73
74```
75git init
76git config core.sparsecheckout true
77echo code/BasicFeature/Security/PaySecurely/ > .git/info/sparse-checkout
78git remote add origin https://gitee.com/openharmony/applications_app_samples.git
79git pull origin master
80
81```