{"_id":"@cordova-ohos/cordova-plugin-adam-alipay","_rev":"5-6b5d27014c87faeac91f963dc5b684b3","name":"@cordova-ohos/cordova-plugin-adam-alipay","dist-tags":{"latest":"2.0.5"},"versions":{"2.0.4":{"name":"@cordova-ohos/cordova-plugin-adam-alipay","version":"2.0.4","keywords":["cordova","adam-alipay","ecosystem:cordova","cordova-openharmony"],"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-adam-alipay@2.0.4","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"bugs":{"url":"https://gitcode.com/OpenHarmony-Cordova/cordova-plugin-adam-alipay/issues"},"dist":{"shasum":"ef8e73a96776322535e8b6de2eced137ba44faf0","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-adam-alipay/-/cordova-plugin-adam-alipay-2.0.4.tgz","fileCount":9,"integrity":"sha512-6ByQ8T9RfOvF7VB5FvjTnXuENmJLyx4/D4hYX9mEECt8z+Nw6s7wMiXNujUNB8sdwTxIvT4PGvKFxNAmhZNbwQ==","signatures":[{"sig":"MEQCICAySpDVX5b+DP/cUgkwkp/jOWcVUh+eWwSW+Q7ej5cWAiBGLfNJzHYiO4p976Iof1xNEfyNizX0oMOKYJJRckIRFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34310},"cordova":{"id":"cordova-plugin-adam-alipay","platforms":["ohos"]},"engines":{"cordovaDependencies":{"2.0.4":{"hcordova":">=1.0.0","@cordova-ohos/ohos":">=2.0.0"}}},"gitHead":"e74986fa24344772b85d2a6d9caf7c045a2a1865","_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"repository":{"url":"gitcode:OpenHarmony-Cordova/cordova-plugin-adam-alipay","type":"git"},"_npmVersion":"10.5.1","description":"Cordova alipay Plugin","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-adam-alipay_2.0.4_1773926868032_0.9816524912916382","host":"s3://npm-registry-packages-npm-production"}},"2.0.5":{"name":"@cordova-ohos/cordova-plugin-adam-alipay","version":"2.0.5","description":"Cordova alipay Plugin","cordova":{"id":"cordova-plugin-adam-alipay","platforms":["ohos"]},"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-adam-alipay"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-adam-alipay/issues"},"keywords":["cordova","adam-alipay","ecosystem:cordova","cordova-openharmony"],"engines":{"cordovaDependencies":{"2.0.5":{"@cordova-ohos/ohos":">=2.0.0","hcordova":">=1.0.0"}}},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-adam-alipay@2.0.5","gitHead":"3082949da4a223c351a46b07b1990d3a52833a5b","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-nyNzifqi+DLSnRe1mMWqxSU36flRZwAlY2EJ2fat6JhlHm0/HJE3/cZLuRLyc2v8cb6CTtf3jpmSdQwOBkZTFA==","shasum":"1af4a9e99abf32eb89d0e47520ca19a5daef22d3","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-adam-alipay/-/cordova-plugin-adam-alipay-2.0.5.tgz","fileCount":10,"unpackedSize":54874,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDp4UHKYWcaXPA9F+A7LOTPSHw2uUBLiJFrOpIU8mGlmwIgN4xkHnvzPkSqgAXJkJ35khKHrQSgTGv2kNGfmcymI+Q="}]},"_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"directories":{},"maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"},{"name":"hcordova","email":"chenlihuiabc@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cordova-plugin-adam-alipay_2.0.5_1785145890516_0.3727478649681153"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-19T13:27:47.940Z","modified":"2026-07-27T09:51:30.878Z","2.0.4":"2026-03-19T13:27:48.172Z","2.0.5":"2026-07-27T09:51:30.682Z"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-adam-alipay/issues"},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","keywords":["cordova","adam-alipay","ecosystem:cordova","cordova-openharmony"],"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-adam-alipay"},"description":"Cordova alipay Plugin","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"},{"name":"wanpengsz","email":"wanpengsz@163.com"},{"name":"xkh111","email":"xukaihui11@163.com"},{"name":"hcordova","email":"chenlihuiabc@163.com"}],"readme":"# <center>cordova-plugin-adam-alipay</center>\r\n\r\n[![zh-CN](https://img.shields.io/badge/lang-中文-blue.svg)](README.md)\r\n[![en](https://img.shields.io/badge/lang-English-blue.svg)](README.en.md)\r\n\r\n本项目基于 [cordova-plugin-adam-alipay@2.0.4](https://www.npmjs.com/package/cordova-plugin-adam-alipay/v/2.0.4) 开发，本文档重点阐述其在 OpenHarmony（OHOS）系统中的具体应用。\r\n\r\n- [cordova-plugin-adam-alipay](#cordova-plugin-adam-alipay)\r\n  - [简介](#简介)\r\n  - [支持平台](#支持平台)\r\n  - [下载安装](#下载安装)\r\n    - [从 npm 安装（推荐）](#从-npm-安装推荐)\r\n    - [安装指定版本](#安装指定版本)\r\n    - [从 GitCode 仓库安装](#从-gitcode-仓库安装)\r\n    - [离线安装（本地包）](#离线安装本地包)\r\n    - [安装后验证](#安装后验证)\r\n    - [卸载](#卸载)\r\n  - [约束与限制](#约束与限制)\r\n    - [兼容性](#兼容性)\r\n    - [权限要求](#权限要求)\r\n  - [使用示例](#使用示例)\r\n    - [示例 1：发起支付宝支付](#示例-1发起支付宝支付)\r\n  - [使用说明](#使用说明)\r\n    - [前置依赖](#前置依赖)\r\n    - [环境准备](#环境准备)\r\n      - [1. 支付宝开放平台配置](#1-支付宝开放平台配置)\r\n    - [快速上手](#快速上手)\r\n    - [支付流程说明](#支付流程说明)\r\n    - [平台配置细节](#平台配置细节)\r\n      - [OHOS 平台配置](#ohos-平台配置)\r\n  - [新增特性](#新增特性)\r\n  - [目录结构](#目录结构)\r\n  - [贡献代码](#贡献代码)\r\n  - [许可证](#许可证)\r\n  - [官方资源](#官方资源)\r\n\r\n\r\n## 简介\r\n\r\ncordova-plugin-adam-alipay 是 Harmony Cordova 生态系统中一款核心支付插件，基于 Cordova 框架开发，适配支付宝开放平台接口规范，支持 Android、iOS 和 OHOS 平台。通过该插件，开发者可快速在 Cordova 混合应用中集成支付宝支付功能，包括订单创建、支付结果回调、支付状态查询等核心能力，满足电商、O2O、服务类应用的支付场景需求，且兼容支付宝客户端支付与 H5 支付两种模式，确保支付流程稳定可靠。本文档主要说明在 OpenHarmony 系统中的应用。\r\n\r\n- 平台适配：支持 Android、iOS 和 OHOS 平台，遵循各平台支付宝 SDK\r\n\r\n- 多支付模式：支持「支付宝客户端支付」（推荐，体验优）和「H5 支付」（备用，无客户端时降级）\r\n\r\n- 完整支付流程：覆盖订单签名、支付发起、结果回调、异常处理全链路\r\n\r\n- 支付状态同步：支付结果实时回调，支持同步通知与异步通知结合，确保订单状态一致性\r\n\r\n- 签名安全保障：支持本地签名（测试环境）和服务端签名（生产环境），规避签名信息泄露风险\r\n\r\n- 错误处理机制：提供明确的错误码与描述，覆盖网络异常、支付取消、订单无效、签名错误等场景\r\n\r\n- 轻量化设计：插件体积小（仅～80KB），无冗余依赖，不影响应用启动速度\r\n\r\n## 支持平台\r\n\r\n- **Android**：API 19 及以上（Android 4.4+）\r\n\r\n- **iOS**：10.0 及以上\r\n\r\n- **OHOS**：5.0+\r\n\r\n## 下载安装\r\n\r\n通过 hcordova CLI 即可快速安装插件，支持从 npm 仓库或 GitCode 仓库获取。\r\n\r\n### 从 npm 安装（推荐）\r\n\r\n```bash\r\n# 使用 hcordova CLI 安装\r\n# 安装 hcordova 命令化工具\r\nnpm install -g hcordova\r\n\r\n# 全平台安装\r\nhcordova plugin add cordova-plugin-adam-alipay\r\n\r\n# 仅安装到 OHOS 平台（推荐稳定版）\r\nhcordova plugin add cordova-plugin-adam-alipay --platform ohos\r\n```\r\n\r\n### 安装指定版本\r\n\r\n如需兼容特定支付宝 SDK 版本或 Cordova 版本，可指定插件版本（仅 OHOS 平台）：\r\n\r\n```bash\r\n# 仅安装到 OHOS 平台指定版本\r\nhcordova plugin add cordova-plugin-adam-alipay@1.0.0 --platform ohos\r\n```\r\n\r\n### 从 GitCode 仓库安装\r\n\r\n如需测试最新功能或修复，可从 GitCode 仓库安装开发分支（仅 OHOS 平台）：\r\n\r\n```bash\r\n# 仅安装到 OHOS 平台\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-adam-alipay.git --platform ohos\r\n\r\n# 指定标签/分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-adam-alipay.git@develop --platform ohos\r\n```\r\n\r\n### 离线安装（本地包）\r\n\r\n适用于无网络环境，先下载插件包到本地，再执行离线安装：\r\n\r\n```bash\r\n# 下载插件包到本地（示例路径：~/Downloads/cordova-plugin-adam-alipay）\r\n# 执行离线安装\r\nhcordova plugin add ~/Downloads/cordova-plugin-adam-alipay  --platform ohos\r\n```\r\n\r\n### 安装后验证\r\n\r\n安装完成后，可通过以下命令验证插件是否成功添加到项目中：\r\n\r\n```bash\r\n# 查看已安装的插件列表，若包含本插件 ID 则表示插件已成功安装\r\nhcordova plugin list\r\n```\r\n\r\n### 卸载\r\n\r\n```bash\r\n# Cordova CLI 全平台卸载\r\nhcordova plugin remove cordova-plugin-adam-alipay \r\n\r\n# 指定 OHOS 平台卸载\r\nhcordova plugin remove cordova-plugin-adam-alipay --platform ohos\r\n```\r\n\r\n## 约束与限制\r\n\r\n* 前置依赖：需拥有支付宝开放平台账号，创建应用并开通对应支付能力，配置应用密钥与 AppID；\r\n\r\n* 依赖插件：无额外 Cordova 插件依赖，支付宝官方 SDK 会在插件安装时自动集成。\r\n\r\n* 平台配置：OHOS 平台需完成 scheme 声明、依赖配置及 buildOption 设置，否则会导致支付失败或回调异常。\r\n\r\n* 签名要求：生产环境需使用服务端签名，避免本地签名导致的私钥泄露风险；签名算法推荐使用 RSA2。\r\n\r\n### 兼容性\r\n\r\n支持：\r\n\r\n| 项目 | 版本/信息 |\r\n|-----|--------|\r\n| SDK | API12+ |\r\n| IDE | DevEco Studio: 5.0+ |\r\n| ROM | 5.1+ |\r\n| Emulator | OpenHarmony 6.0+ |\r\n\r\n在以下版本中已测试通过：\r\n\r\n| 项目 | 版本/信息 |\r\n|-----|--------|\r\n| @cordova-ohos/ohos | 14.0.1-ohos-14.0.1 |\r\n| SDK | 5.0.0(12) |\r\n| IDE | DevEco Studio: 6.0.13.200 |\r\n| ROM | 5.1.0.120 SP3 |\r\n| Emulator | OpenHarmony 6.0.1(21) |\r\n\r\n### 权限要求\r\n\r\n需授予应用网络访问权限（用于与支付宝服务器通信、获取支付参数及回调结果），插件自动适配各平台基础权限，无需额外手动配置；OHOS 平台需按要求配置 scheme，确保跳转支付宝客户端正常。\r\n\r\n## 使用示例\r\n\r\n### 示例 1：发起支付宝支付\r\n\r\n订单信息由服务端生成，客户端调用插件支付接口，接收支付结果并处理。\r\n\r\n```javascript\r\n// 订单信息有服务端生成\r\nfunction openAlipay2() {\r\n    var payInfo = \"alipay_sdk=alipay-sdk-java-dynamicVersionNo&app_id=YOUR_APP_ID&biz_content=YOUR_BIZ_CONTENT&charset=utf-8&format=json&method=alipay.trade.app.pay&notify_url=YOUR_NOTIFY_URL&sign=YOUR_SIGN_STRING&sign_type=RSA2&timestamp=2025-10-13+18%3A02%3A57&version=1.0\";\r\n    Alipay.pay(payInfo,function(e){\r\n        if(e.resultStatus == 9000) {\r\n            document.getElementById(\"alipayInfo\").innerHTML = \"支付成功\";\r\n        }\r\n\r\n        if(e.resultStatus == 8000) {\r\n            document.getElementById(\"alipayInfo\").innerHTML = \"支付宝正在处理\";\r\n            return;\r\n        }\r\n\r\n    },function(e){\r\n        document.getElementById(\"alipayInfo\").innerHTML = \"支付失败\";\r\n        return;\r\n    });\r\n}\r\n```\r\n\r\n## 使用说明\r\n\r\n### 前置依赖\r\n\r\n- **支付宝开放平台账号**：需在 [支付宝开放平台](https://open.alipay.com/) 注册开发者账号，创建应用并开通「手机网站支付」或「App 支付」能力\r\n\r\n- **应用密钥配置**：需生成应用公钥/私钥对（RSA2 算法，推荐），并在支付宝开放平台配置公钥，获取 **AppID**（应用唯一标识）\r\n\r\n- **Cordova 环境**：项目需基于 Cordova 10.0.0+ 框架构建，确保 OHOS 平台已添加\r\n\r\n- **依赖插件**：无需额外 Cordova 插件依赖，仅需支付宝官方 SDK（安装时自动集成）\r\n\r\n### 环境准备\r\n\r\n在集成插件前，需完成以下环境配置（关键步骤，否则支付会失败）：\r\n\r\n#### 1. 支付宝开放平台配置\r\n\r\n1. 登录 [支付宝开放平台](https://open.alipay.com/)，进入「控制台 → 应用管理 → 创建应用」，选择「App 应用」类型\r\n\r\n2. 应用创建后，在「能力列表」中添加「App 支付」或「手机网站支付」能力，提交审核（审核通常 1-3 个工作日）\r\n\r\n3. 审核通过后，进入「应用信息 → 开发设置」，配置以下信息：\r\n       \r\n\r\n    - **应用公钥**：上传使用 RSA2 算法生成的应用公钥（需与代码中私钥匹配）\r\n\r\n    - **OHOS 平台**：配置 OHOS 相关参数\r\n\r\n### 快速上手\r\n\r\n插件使用流程遵循支付宝支付标准流程：**服务端创建订单 → 生成支付签名 → 客户端发起支付 → 接收支付结果 → 服务端验证结果**，参考上述使用示例即可快速集成。\r\n\r\n### 支付流程说明\r\n\r\n支付宝支付完整流程需客户端与服务端配合，确保订单安全与状态一致，核心步骤如下：\r\n\r\n1. **客户端发起订单请求**：用户在客户端选择商品后，向商户服务端发起创建订单请求（携带商品 ID、金额等信息）\r\n\r\n2. **服务端创建并签名订单**：\r\n        \r\n\r\n    - 服务端生成唯一商户订单号（out_trade_no）\r\n\r\n    - 构造支付宝订单参数（biz_content），使用应用私钥进行签名（RSA2 算法）\r\n\r\n    - 将包含签名的完整支付参数返回给客户端\r\n\r\n3. **客户端发起支付**：客户端调用插件 `payment()` 方法，传入服务端返回的支付参数，触发支付宝支付\r\n\r\n4. **用户完成支付**：\r\n        \r\n    - 若安装支付宝客户端，直接跳转至客户端完成支付\r\n\r\n    - 若未安装，可降级为 H5 支付（需服务端配合生成 H5 支付链接）\r\n\r\n5. **支付结果回调**：\r\n        \r\n    - **同步回调**：支付完成后跳转回客户端，插件通过 `successCallback` 返回客户端同步结果\r\n\r\n    - **异步回调**：支付宝服务器向商户服务端 `notify_url` 推送支付结果（可靠，推荐作为订单状态确认依据）\r\n\r\n6. **客户端验证结果**：客户端收到同步结果后，需调用商户服务端接口，验证支付结果真实性（避免伪造结果）\r\n\r\n7. **订单状态更新**：服务端验证支付结果通过后，更新本地订单状态，并向客户端返回最终确认结果\r\n\r\n### 平台配置细节\r\n\r\n插件安装后需完成以下平台专属配置，否则可能导致支付失败或回调异常。\r\n\r\n#### OHOS 平台配置\r\n\r\n1. 在开发者的 App module 的 module.json5 里加入下方 scheme 声明：\r\n   \r\n```json\r\n\"querySchemes\": [\r\n   \"alipays\"\r\n]\r\n```\r\n\r\n2. 修改项目中的 oh-package.json5 文件，在 dependencies 中加入支付宝 alipaysdk 的依赖项：\r\n\r\n```json\r\n{\r\n  \"name\": \"entry\",\r\n  \"version\": \"1.0.0\",\r\n  \"description\": \"Please describe the basic information.\",\r\n  \"main\": \"\",\r\n  \"author\": \"\",\r\n  \"license\": \"\",\r\n  \"dependencies\": {\r\n    \"@cashier_alipay/cashiersdk\": \"^15.8.35\",\r\n    \"@cordova-ohos/ohos\": \"file:../cordova\"\r\n  }\r\n}\r\n ```\r\n\r\n3. 支付宝支付插件引起的，在 build-profile.json5 中增加找到 buildOption 配置选项，增加 \"useNormalizedOHMUrl\": true，如下：\r\n   \r\n ```json\r\n\"buildOption\": {\r\n    \"strictMode\": {\r\n    \"useNormalizedOHMUrl\": true\r\n    }\r\n}\r\n```\r\n\r\n## 新增特性\r\n\r\n无新增特性，保持原生插件核心支付功能，适配 OpenHarmony 平台运行需求，完善 OHOS 平台专属配置说明，确保支付流程在 OpenHarmony 设备上稳定可靠。\r\n\r\n## 目录结构\r\n\r\n```\r\ncordova-plugin-adam-alipay/\r\n├── src/main/                          # 主要源代码目录\r\n│   ├── cpp/adam/                      # C++ 实现层\r\n│   │   ├── Alipay.cpp                 # 支付宝支付功能的 C++ 实现\r\n│   │   └── Alipay.h                   # 对应的头文件声明\r\n│   ├── ets/components/AlipayAction/   # ets 组件层\r\n│   │   └── AlipayAction.ets           # 支付宝支付的 eTS 组件封装\r\n├── www/                               # Web 前端资源\r\n│   └── alipay.js                      # 提供给 Cordova WebView 调用的 JS 接口\r\n├── LICENSE                            # 开源许可证文件\r\n├── OAT.xml                            # 开源审查（OAT）配置文件\r\n├── package.json                       # Node.js 包描述文件\r\n├── plugin.xml                         # Cordova 插件配置文件\r\n└── README.md                          # 项目说明文档\r\n```\r\n\r\n## 贡献代码\r\n\r\n使用过程中发现任何问题都可以提 [Issue](https://gitcode.com/CPF-Cordova/cordova-plugin-adam-alipay/issues) ，当然也非常欢迎发 [PR](https://gitcode.com/CPF-Cordova/cordova-plugin-adam-alipay/pulls) 共建。\r\n\r\n## 许可证\r\n\r\n本插件基于 **Apache License 2.0** 开源，详见 [LICENSE](LICENSE) 文件。\r\n\r\n## 官方资源\r\n\r\n- Android 和 iOS：[cordova-plugin-adam-alipay 官方指南](https://www.npmjs.com/package/cordova-plugin-adam-alipay)\r\n\r\n- GitCode 仓库：[CPF-Cordova/cordova-plugin-adam-alipay](https://gitcode.com/CPF-Cordova/cordova-plugin-adam-alipay)\r\n","readmeFilename":"README.md"}