| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 22-Oct-2025 | - | 35 | 32 | ||
| cloud/ | 22-Oct-2025 | - | 399 | 326 | ||
| entry/ | 22-Oct-2025 | - | 862 | 749 | ||
| hvigor/ | 22-Oct-2025 | - | 25 | 22 | ||
| paySDK/ | 22-Oct-2025 | - | 851 | 794 | ||
| sceenshots/ | 22-Oct-2025 | - | ||||
| .gitignore | D | 22-Oct-2025 | 156 | 13 | 13 | |
| README_zh.md | D | 22-Oct-2025 | 3.6 KiB | 81 | 59 | |
| build-profile.json5 | D | 22-Oct-2025 | 1.3 KiB | 59 | 58 | |
| hvigorfile.ts | D | 22-Oct-2025 | 159 | 2 | 1 | |
| hvigorw | D | 22-Oct-2025 | 2 KiB | 62 | 28 | |
| hvigorw.bat | D | 22-Oct-2025 | 2 KiB | 71 | 55 | |
| oh-package.json5 | D | 22-Oct-2025 | 862 | 28 | 26 | |
| ohosTest.md | D | 22-Oct-2025 | 974 | 15 | 10 |
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|  |  |  |  | 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 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```