{"_id":"@cordova-ohos/cordova-plugin-alipay-v2","_rev":"5-c2e4a70ceee791fe9af4746b1134e44d","name":"@cordova-ohos/cordova-plugin-alipay-v2","dist-tags":{"latest":"2.0.1"},"versions":{"2.0.0":{"name":"@cordova-ohos/cordova-plugin-alipay-v2","version":"2.0.0","keywords":["cordova","alipay-v2","ecosystem:cordova","cordova-openharmony"],"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","_id":"@cordova-ohos/cordova-plugin-alipay-v2@2.0.0","maintainers":[{"name":"luqi_tan","email":"295099422@qq.com"}],"bugs":{"url":"https://gitcode.com/OpenHarmony-Cordova/cordova-plugin-alipay-v2/issues"},"dist":{"shasum":"a3a7b918f2d333e39484fa8d8a173c4e58cfedf8","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-alipay-v2/-/cordova-plugin-alipay-v2-2.0.0.tgz","fileCount":9,"integrity":"sha512-RmVUG8S0+y4+gj+j04t/9Yp52Pm/Q/08wIIfnVlQnLVGlbt0+/9msie2MSvFbSnP3ReSPQ73yXu1A78ExMuAgw==","signatures":[{"sig":"MEUCIQCjTdwxEyig+lbrJcTWKBi2XNbMvoebCZ8JNj68r0icaQIgI+ZNptCbKDJEAIbCPTD8cwytmf3a/7MX+rk6LR6sHhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34261},"cordova":{"id":"cordova-plugin-alipay-v2","platforms":["ohos"]},"engines":{"cordovaDependencies":{"2.0.0":{"hcordova":">=1.0.0","@cordova-ohos/ohos":">=2.0.0"}}},"gitHead":"bfb221cfe159a71219f6a5f2ff4d6aef5f16c5e4","_npmUser":{"name":"luqi_tan","email":"295099422@qq.com"},"repository":{"url":"gitcode:OpenHarmony-Cordova/cordova-plugin-alipay-v2","type":"git"},"_npmVersion":"10.5.1","description":"Cordova alipay Plugin","directories":{},"_nodeVersion":"22.0.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cordova-plugin-alipay-v2_2.0.0_1773927117264_0.8079696067917197","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"@cordova-ohos/cordova-plugin-alipay-v2","version":"2.0.1","description":"Cordova alipay Plugin","cordova":{"id":"cordova-plugin-alipay-v2","platforms":["ohos"]},"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-alipay-v2"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-alipay-v2/issues"},"keywords":["cordova","alipay-v2","ecosystem:cordova","cordova-openharmony"],"engines":{"cordovaDependencies":{"2.0.1":{"@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-alipay-v2@2.0.1","gitHead":"cda2e106f5fc4642d836e5ddaaf0b4a8c74f2649","_nodeVersion":"22.0.0","_npmVersion":"10.5.1","dist":{"integrity":"sha512-m3lsxan0VE5xxY82c9Y5RM66eD64JE6VnZ5g5mfSnk1B9aa6F0ZMrCrO9WmBjmU9oR2m17c5RVoEcsAmC8gXGQ==","shasum":"75f52a193071e8ad7e541a95c0874f8cd1f7b16b","tarball":"https://registry.npmjs.org/@cordova-ohos/cordova-plugin-alipay-v2/-/cordova-plugin-alipay-v2-2.0.1.tgz","fileCount":10,"unpackedSize":59023,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDuV/rzBXnkbo/3fYl64NP2X3GztWfHqlG536t5DtA5ZwIgJnzD2QStEdwYRBTB/eutMog6a/Ip2Y5FnpRVfhYHoZ4="}]},"_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-alipay-v2_2.0.1_1785145586690_0.4974738566447685"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-19T13:31:57.129Z","modified":"2026-07-27T09:46:27.051Z","2.0.0":"2026-03-19T13:31:57.389Z","2.0.1":"2026-07-27T09:46:26.832Z"},"bugs":{"url":"https://gitcode.com/CPF-Cordova/cordova-plugin-alipay-v2/issues"},"author":{"name":"Huawei Device, Inc. Ltd. and","email":"马弓手"},"license":"Apache-2.0","keywords":["cordova","alipay-v2","ecosystem:cordova","cordova-openharmony"],"repository":{"type":"git","url":"gitcode:CPF-Cordova/cordova-plugin-alipay-v2"},"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-alipay-v2</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-alipay-v2@2.0.0](https://www.npmjs.com/package/cordova-plugin-alipay-v2/v/2.0.0) 开发，本文档重点阐述其在 OpenHarmony（OHOS）系统中的具体应用。\r\n\r\n- [cordova-plugin-alipay-v2](#cordova-plugin-alipay-v2)\r\n  - [简介](#简介)\r\n  - [核心特性](#核心特性)\r\n  - [前置依赖](#前置依赖)\r\n  - [环境准备](#环境准备)\r\n    - [1. 支付宝开放平台配置](#1-支付宝开放平台配置)\r\n  - [支持平台](#支持平台)\r\n  - [下载安装](#下载安装)\r\n    - [1. 基础安装（推荐）](#1-基础安装推荐)\r\n    - [2. 安装指定版本](#2-安装指定版本)\r\n    - [3. 从 GitCode 仓库安装](#3-从-gitcode-仓库安装)\r\n    - [4. 离线安装（本地包）](#4-离线安装本地包)\r\n    - [5. 安装后验证](#5-安装后验证)\r\n    - [6. 卸载插件](#6-卸载插件)\r\n  - [约束与限制](#约束与限制)\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\n\r\ncordova-plugin-alipay-v2 是一款基于 Cordova 框架的支付宝支付集成插件，适配支付宝开放平台接口规范，支持 Android、iOS 和 OHOS 平台。通过该插件，开发者可快速在 Cordova 混合应用中集成支付宝支付功能，包括订单创建、支付结果回调、支付状态查询等核心能力，满足电商、O2O、服务类应用的支付场景需求，且兼容支付宝客户端支付与 H5 支付两种模式，确保支付流程稳定可靠。本文档主要说明在 OpenHarmony 系统中的应用。\r\n\r\n## 核心特性\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），无冗余依赖，不影响应用启动速度，适配各类 Cordova 混合应用。\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 平台已添加到 Cordova 项目中。\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 相关参数，确保插件与支付宝 SDK 正常通信。\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 仓库安装，也可指定版本安装，仅需针对 OHOS 平台安装时添加对应参数。\r\n\r\n### 1. 基础安装（推荐）\r\n\r\n使用 hcordova 命令化工具安装，自动集成支付宝 SDK 与平台基础配置：\r\n\r\n```bash\r\n# 安装 hcordova 命令化工具\r\nnpm install -g hcordova\r\n\r\n# 全平台安装\r\nhcordova plugin add cordova-plugin-alipay-v2\r\n\r\n# 仅安装到 OHOS 平台\r\nhcordova plugin add cordova-plugin-alipay-v2 --platform ohos\r\n```\r\n\r\n### 2. 安装指定版本\r\n\r\n如需兼容特定支付宝 SDK 版本或 Cordova 版本，可指定插件版本安装（仅 OHOS 平台）：\r\n\r\n```bash\r\n# 指定版本安装（仅 OHOS 平台）\r\nhcordova plugin add cordova-plugin-alipay-v2@1.0.0 --platform ohos\r\n```\r\n\r\n### 3. 从 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-alipay-v2.git --platform ohos\r\n\r\n# 指定标签/分支安装\r\nhcordova plugin add https://gitcode.com/CPF-Cordova/cordova-plugin-alipay-v2.git@develop --platform ohos\r\n```\r\n\r\n### 4. 离线安装（本地包）\r\n\r\n适用于无网络环境，先下载插件包到本地，再执行离线安装：\r\n\r\n```bash\r\n# 下载插件包到本地（示例路径：~/Downloads/cordova-plugin-alipay-v2）\r\n# 执行离线安装\r\nhcordova plugin add ~/Downloads/cordova-plugin-alipay-v2 --platform ohos\r\n```\r\n\r\n### 5. 安装后验证\r\n\r\n安装完成后，可通过以下命令验证插件是否成功添加到项目中：\r\n\r\n```bash\r\n# 查看已安装的插件列表，若包含本插件 ID 则表示插件已成功安装\r\nhcordova plugin list\r\n```\r\n\r\n### 6. 卸载插件\r\n\r\n```bash\r\n# 全平台卸载\r\nhcordova plugin remove cordova-plugin-alipay-v2\r\n\r\n# 指定 OHOS 平台卸载\r\nhcordova plugin remove cordova-plugin-alipay-v2 --platform ohos\r\n```\r\n\r\n## 约束与限制\r\n\r\n* 应用配置：需完成支付宝开放平台应用审核与密钥配置，否则无法发起支付请求。\r\n\r\n* 签名要求：生产环境必须使用服务端签名，避免本地签名导致的私钥泄露风险，签名算法推荐使用 RSA2。\r\n\r\n* 平台配置：OHOS 平台需严格按照要求完成 scheme 声明、依赖配置及 buildOption 设置，否则会导致支付失败或回调异常。\r\n\r\n* 支付模式：H5 支付需服务端配合生成 H5 支付链接，无支付宝客户端时方可正常降级使用。\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订单信息由服务端生成并签名，客户端调用插件支付接口，接收支付结果并处理，适配 OHOS 平台回调逻辑。\r\n\r\n**注意：以下 `payInfo` 字符串仅作为格式参考。在实际生产环境中，此字符串必须由您的服务器根据您的实际 app_id 和签名生成。**\r\n\r\n```javascript\r\n// 订单信息由服务端生成（含签名，生产环境推荐服务端签名）\r\nfunction openAlipay() {\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    cordova.plugins.alipay.payment(payInfo,function(e){\r\n        if(e.resultStatus == 9000) {\r\n            // 支付成功，可调用服务端接口验证结果\r\n            document.getElementById(\"alipayInfo\").innerHTML = \"支付成功\";\r\n        }\r\n        if(e.resultStatus == 8000) {\r\n            // 支付宝正在处理，需后续通过异步通知确认\r\n            document.getElementById(\"alipayInfo\").innerHTML = \"支付宝正在处理\";\r\n            return;\r\n        }\r\n        // 支付取消、订单无效等状态，可根据 resultStatus 进一步处理\r\n    },function(e){\r\n        // 支付失败（网络异常、签名错误等）\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支付宝支付完整流程需客户端与服务端配合，确保订单安全与状态一致，核心步骤如下：\r\n\r\n1. 客户端发起订单请求：用户在客户端选择商品后，向商户服务端发起创建订单请求（携带商品 ID、金额等信息）。\r\n\r\n2. 服务端创建并签名订单：\r\n        \r\n\r\n    - 服务端生成唯一商户订单号（out_trade_no），避免重复订单。\r\n\r\n    - 构造支付宝订单参数（biz_content），包含订单金额、描述、超时时间等信息。\r\n\r\n    - 使用应用私钥进行签名（RSA2 算法），生成完整的支付参数（payInfo）。\r\n\r\n    - 将包含签名的完整支付参数返回给客户端。\r\n\r\n3. 客户端发起支付：客户端调用插件 `payment()` 方法，传入服务端返回的 payInfo，触发支付宝支付。\r\n\r\n4. 用户完成支付：\r\n        \r\n\r\n    - 若设备已安装支付宝客户端，直接跳转至客户端完成支付，体验更优。\r\n\r\n    - 若未安装支付宝客户端，自动降级为 H5 支付（需服务端配合生成 H5 支付链接）。\r\n\r\n5. 支付结果回调：\r\n        \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插件安装后需完成 OHOS 平台专属配置，否则可能导致支付失败、无法跳转支付宝客户端或回调异常，具体步骤如下：\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 中添加支付宝 SDK 依赖项：\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  }\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支付过程中常见错误码及处理建议，便于快速定位问题：\r\n\r\n- 9000：支付成功，需调用服务端接口验证结果真实性。\r\n\r\n- 8000：支付宝正在处理，需等待异步通知确认订单状态。\r\n\r\n- 4000：支付失败，可能是订单参数错误、签名错误或网络异常。\r\n\r\n- 6001：用户取消支付，可提示用户重新发起支付。\r\n\r\n- 6002：网络异常，需检查设备网络连接，并重试支付。\r\n\r\n## 新增特性\r\n\r\n无新增特性，保持原生插件核心支付功能，适配 OpenHarmony 平台运行需求，完善 OHOS 平台专属配置说明、回调逻辑适配，确保支付流程在 OpenHarmony 设备上稳定可靠，兼容支付宝客户端与 H5 支付模式。\r\n\r\n## 目录结构\r\n\r\n```\r\ncordova-plugin-alipay-v2/\r\n├── src/                          # 源代码目录\r\n│   └── main/                     # 主要源代码\r\n│       ├── cpp/                  # C++ 原生代码\r\n│       │   └── alipay/           # 支付宝支付模块\r\n│       │       ├── alipay.cpp    # 支付宝支付 C++ 实现\r\n│       │       └── alipay.h      # 支付宝支付头文件\r\n│       └── ets/                  # ArkTS 代码\r\n│           └── components/       # 组件目录\r\n│               └── AlipayAction/ # 支付宝支付动作组件\r\n│                   └── AlipayAction.ets  # ets 支付宝支付实现\r\n├── www/                          # Web 资源目录\r\n│   └── js_alipay.js              # 暴露给 Cordova 的 JS API\r\n├── LICENSE                       # 开源许可证文件\r\n├── OAT.xml                       # OpenHarmony 审核配置文件\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-alipay-v2/issues) ，当然也非常欢迎发 [PR](https://gitcode.com/CPF-Cordova/cordova-plugin-alipay-v2/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-alipay-v2 官方指南](https://www.npmjs.com/package/cordova-plugin-alipay-v2)\r\n\r\n- GitCode 仓库：[CPF-Cordova/cordova-plugin-alipay-v2](https://gitcode.com/CPF-Cordova/cordova-plugin-alipay-v2)\r\n","readmeFilename":"README.md"}