@alipay/alipay-aipay 1.2.2 → 1.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +13 -12
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +17 -9
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +5 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/utils/config.d.ts +5 -3
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +34 -12
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/file.d.ts +8 -0
- package/dist/utils/file.d.ts.map +1 -1
- package/dist/utils/file.js +161 -9
- package/dist/utils/file.js.map +1 -1
- package/dist/utils/jq.d.ts.map +1 -1
- package/dist/utils/jq.js +8 -0
- package/dist/utils/jq.js.map +1 -1
- package/package.json +6 -5
- package/skill/SKILL.md +15 -169
- package/skill/VERSION +1 -1
- package/skill/references/integration/flow.md +321 -292
- package/skill/references/integration/modules/alipay-sdk-reminder.md +5 -3
- package/skill/references/integration/modules/checklist.md +41 -27
- package/skill/references/integration/modules/code-examples/csharp/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +199 -0
- package/skill/references/integration/modules/code-examples/csharp/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +8 -4
- package/skill/references/integration/modules/code-examples/csharp/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +6 -2
- package/skill/references/integration/modules/code-examples/csharp/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.cs +3 -1
- package/skill/references/integration/modules/code-examples/java/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +184 -0
- package/skill/references/integration/modules/code-examples/java/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +4 -1
- package/skill/references/integration/modules/code-examples/java/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +5 -2
- package/skill/references/integration/modules/code-examples/java/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemoController.java +3 -1
- package/skill/references/integration/modules/code-examples/nodejs/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +135 -0
- package/skill/references/integration/modules/code-examples/nodejs/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +16 -10
- package/skill/references/integration/modules/code-examples/nodejs/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +10 -4
- package/skill/references/integration/modules/code-examples/nodejs/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.js +2 -1
- package/skill/references/integration/modules/code-examples/php/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +157 -0
- package/skill/references/integration/modules/code-examples/php/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +4 -1
- package/skill/references/integration/modules/code-examples/php/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +5 -2
- package/skill/references/integration/modules/code-examples/php/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.php +2 -1
- package/skill/references/integration/modules/code-examples/python/1-/351/200/232/347/224/250/346/216/245/345/217/243//345/274/202/346/255/245/351/200/232/347/237/245/345/244/204/347/220/206/344/273/243/347/240/201/347/244/272/344/276/213.md +128 -0
- package/skill/references/integration/modules/code-examples/python/2-/347/275/221/347/253/231/346/224/257/344/273/230//347/273/237/344/270/200/346/224/266/345/215/225/344/270/213/345/215/225/345/271/266/346/224/257/344/273/230/351/241/265/351/235/242/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +4 -1
- package/skill/references/integration/modules/code-examples/python/3-APP/346/224/257/344/273/230/APP/346/224/257/344/273/230/346/216/245/345/217/243/344/273/243/347/240/201/347/244/272/344/276/213.md +5 -1
- package/skill/references/integration/modules/code-examples/python/4-/346/214/211/351/207/217/344/273/230/350/264/271/A2MPaymentDemo.py +4 -2
- package/skill/references/integration/modules/interface-contract/aipay-interface-contract.md +53 -0
- package/skill/references/integration/modules/interface-contract/apppay-interface-contract.md +45 -0
- package/skill/references/integration/modules/interface-contract/common-trade-contract.md +42 -0
- package/skill/references/integration/modules/interface-contract/notify-url-contract.md +68 -0
- package/skill/references/integration/modules/interface-contract/webpay-interface-contract.md +44 -0
- package/skill/references/integration/modules/interface-guide.md +37 -72
- package/skill/references/integration/modules/product-decision.md +10 -27
- package/skill/references/integration/modules/sandbox/a2m-sandbox-test.md +62 -94
- package/skill/references/integration/modules/sandbox/alipay-sandbox-tool.md +43 -40
- package/skill/references/integration/modules/sandbox/sandbox-setup-guide.md +93 -114
- package/skill/references/integration/modules/scripts/local_402_sandbox_pay.py +357 -147
- package/skill/references/integration/modules/scripts/sandbox_config.sh +299 -0
- package/skill/references/integration/modules/troubleshooting-flow.md +28 -0
- package/skill/references/normal/alipay-cli-env.md +15 -5
- package/skill/references/normal/full-process-routing.md +80 -0
- package/skill/references/normal/json/customer-messages.json +937 -0
- package/skill/references/normal/json/policy-rules.json +179 -0
- package/skill/references/normal/rejection-guide.md +11 -6
- package/skill/references/normal/scripts/alipay_cli_env.mjs +29 -0
- package/skill/references/normal/scripts/alipay_cli_env.sh +21 -0
- package/skill/references/normal/scripts/common.sh +87 -0
- package/skill/references/normal/scripts/detect_dev_tool.sh +5 -1
- package/skill/references/normal/scripts/integration_message_runner.mjs +801 -0
- package/skill/references/normal/scripts/onboarding_message_runner.mjs +436 -0
- package/skill/references/normal/scripts/open_official_url.sh +82 -0
- package/skill/references/normal/scripts/platform_compat.mjs +39 -0
- package/skill/references/normal/scripts/project_route_inspector.sh +132 -0
- package/skill/references/normal/scripts/python_script_runner.mjs +56 -0
- package/skill/references/normal/scripts/render_customer_message.mjs +1263 -0
- package/skill/references/normal/scripts/self_update.mjs +160 -0
- package/skill/references/normal/scripts/telemetry.mjs +1278 -0
- package/skill/references/normal/self-update.md +18 -51
- package/skill/references/onboarding/flow.md +381 -283
- package/skill/references/onboarding/modules/app-release.md +132 -179
- package/skill/references/onboarding/modules/authorization.md +53 -64
- package/skill/references/onboarding/modules/error-handling.md +31 -34
- package/skill/references/onboarding/modules/product-sign.md +62 -66
- package/skill/references/onboarding/modules/scripts/app.sh +397 -158
- package/skill/references/onboarding/modules/scripts/ar_sign_apply.sh +38 -22
- package/skill/references/onboarding/modules/scripts/auth.sh +479 -167
- package/skill/references/onboarding/modules/scripts/download_key_tool.sh +157 -0
- package/skill/references/onboarding/modules/scripts/error_handler.sh +100 -130
- package/skill/references/onboarding/modules/scripts/network_retry.sh +96 -0
- package/skill/references/onboarding/modules/scripts/query_sign_status.sh +17 -70
- package/skill/references/onboarding/modules/scripts/service.sh +153 -89
- package/skill/references/onboarding/modules/scripts/sign_status_parser.sh +58 -0
- package/skill/references/onboarding/modules/scripts/upload_screenshots.sh +16 -14
- package/skill/references/onboarding/modules/service-registration.md +67 -72
- package/skill/references/runtime-entry.md +62 -0
|
@@ -10,22 +10,20 @@
|
|
|
10
10
|
|
|
11
11
|
签约模块负责产品签约流程,包括签约状态查询和签约申请提交。
|
|
12
12
|
|
|
13
|
-
本模块采用 `ar-sign.apply`
|
|
13
|
+
本模块采用 `ar-sign.apply` **脚本封装 / 静态参数模式**:由 `scripts/ar_sign_apply.sh` 基于当前已确认的产品类型、MCC 和资料字段直接构造 `businessProperty` 后提交申请,只覆盖本文档和脚本已经验证的字段与产品。
|
|
14
14
|
|
|
15
15
|
**使用条件:** Step 3.1 始终使用本模块的签约状态查询规则;只有查询结果为 `NOT_SIGNED` 时,才使用本模块的签约申请提交规则。`SIGNED_EFFECTIVE`、`SIGN_SUBMITTED`、查询失败或其他状态均禁止提交签约申请。
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
|
-
## MCP能力
|
|
19
|
+
## 当前主流程 MCP 能力
|
|
20
20
|
|
|
21
|
-
| MCP
|
|
22
|
-
|
|
23
|
-
| `ar-sign` |
|
|
24
|
-
| `ar-query` |
|
|
25
|
-
| `ar-query` | `queryArInfosByBackProd` | 按后台产品码查询合约状态 |
|
|
26
|
-
| `ar-order-query` | `queryBizOrder` | 按订单号查询签约订单 |
|
|
21
|
+
| MCP 方法 | 用途 | 固定入口 |
|
|
22
|
+
|------------|------|----------|
|
|
23
|
+
| `ar-sign.apply` | 提交签约申请 | `scripts/ar_sign_apply.sh` |
|
|
24
|
+
| `ar-query.queryArInfosBySalesProd` | 按当前产品码查询合约状态 | `scripts/query_sign_status.sh`、`scripts/auth.sh` |
|
|
27
25
|
|
|
28
|
-
>
|
|
26
|
+
> 本表只记录当前主流程脚本实际使用的方法。只能执行固定脚本入口,不得根据方法名自行构造 MCP 调用。
|
|
29
27
|
|
|
30
28
|
---
|
|
31
29
|
|
|
@@ -33,7 +31,7 @@
|
|
|
33
31
|
|
|
34
32
|
### 查询命令
|
|
35
33
|
|
|
36
|
-
|
|
34
|
+
默认执行 `scripts/query_sign_status.sh --sales-code <当前产品码> --product-type <aipay|webpay|apppay>`。若本轮成功的 `auth.sh` 已对完全相同请求取得合法 `resultObj.arInfoList`,它会通过共享 `sign_status_parser.sh` 输出带 `ALIPAY_AIPAY_INTERNAL:` 前缀的 `AUTH_SIGN_QUERY_REUSABLE=true`、`SIGN_STATUS` 和产品匹配的 `FLOW:*`;仅三者唯一且一致时可直接复用。标记缺失、冲突或结构无法证明时仍执行本命令。所有状态标记只用于分支判断,禁止对客。
|
|
37
35
|
|
|
38
36
|
### 状态判断规则
|
|
39
37
|
|
|
@@ -47,35 +45,35 @@
|
|
|
47
45
|
|
|
48
46
|
### 判断逻辑
|
|
49
47
|
|
|
50
|
-
`scripts/query_sign_status.sh`
|
|
48
|
+
`scripts/query_sign_status.sh` 自动完成以下状态判断,并输出带 `ALIPAY_AIPAY_INTERNAL:` 前缀的状态信号(`SIGN_STATUS=...`)与分支信号(`FLOW:PC_WEB_NOT_SIGNED` 等);成功时 stdout 为空,Agent 直接转移,不补写话术。`SIGNED_EFFECTIVE` 与 `SIGN_SUBMITTED` 的后续 FLOW 保持一致,均不重复提交签约,继续应用发布/服务注册。
|
|
51
49
|
|
|
52
50
|
### 产品×状态分支处理表
|
|
53
51
|
|
|
54
52
|
| 签约状态 | 产品类型 | FLOW 信号 | 后续流程 |
|
|
55
53
|
|----------|----------|-----------|----------|
|
|
56
|
-
| `NOT_SIGNED` | 网站支付 | `FLOW:PC_WEB_NOT_SIGNED` |
|
|
57
|
-
| `NOT_SIGNED` | APP支付 | `FLOW:APP_NOT_SIGNED` |
|
|
58
|
-
| `NOT_SIGNED` | 按量付费 | `FLOW:AI_PAY_NOT_SIGNED` |
|
|
54
|
+
| `NOT_SIGNED` | 网站支付 | `FLOW:PC_WEB_NOT_SIGNED` | 签约类别收集3张网站截图;应用类别按自身候选独立决策,两个分支分别推进 |
|
|
55
|
+
| `NOT_SIGNED` | APP 支付 | `FLOW:APP_NOT_SIGNED` | 签约类别收集 APP 名称和 3 张 APP 界面截图;应用类别按自身候选独立决策,两个分支分别推进 |
|
|
56
|
+
| `NOT_SIGNED` | 按量付费 | `FLOW:AI_PAY_NOT_SIGNED` | 签约无需页面图片;签约、服务和应用分别满足自身条件后独立推进 |
|
|
59
57
|
| `SIGNED_EFFECTIVE` | 网站支付 | `FLOW:PC_WEB_SIGNED` | Step 4 完成应用决策后,跳过签约提交并执行应用发布 |
|
|
60
|
-
| `SIGNED_EFFECTIVE` | APP支付 | `FLOW:APP_SIGNED` | Step 4 完成应用决策后,跳过签约提交并执行应用发布 |
|
|
58
|
+
| `SIGNED_EFFECTIVE` | APP 支付 | `FLOW:APP_SIGNED` | Step 4 完成应用决策后,跳过签约提交并执行应用发布 |
|
|
61
59
|
| `SIGNED_EFFECTIVE` | 按量付费 | `FLOW:AI_PAY_SIGNED` | Step 4 完成服务/应用决策后,跳过签约提交并执行服务注册 + 应用发布 |
|
|
62
60
|
| `SIGN_SUBMITTED` | 网站支付 | `FLOW:PC_WEB_SIGNED` | Step 4 完成应用决策后,跳过重复签约提交并执行应用发布 |
|
|
63
|
-
| `SIGN_SUBMITTED` | APP支付 | `FLOW:APP_SIGNED` | Step 4 完成应用决策后,跳过重复签约提交并执行应用发布 |
|
|
61
|
+
| `SIGN_SUBMITTED` | APP 支付 | `FLOW:APP_SIGNED` | Step 4 完成应用决策后,跳过重复签约提交并执行应用发布 |
|
|
64
62
|
| `SIGN_SUBMITTED` | 按量付费 | `FLOW:AI_PAY_SIGNED` | Step 4 完成服务/应用决策后,跳过重复签约提交并执行服务注册 + 应用发布 |
|
|
65
63
|
|
|
66
64
|
**⚠️ 按量付费无需签约材料:**
|
|
67
65
|
```
|
|
68
|
-
✅
|
|
69
|
-
✅ APP
|
|
70
|
-
✅
|
|
71
|
-
✅
|
|
66
|
+
✅ 网站支付未签约:签约类别一次收集 3 张网站截图
|
|
67
|
+
✅ APP 支付未签约:签约类别一次收集 APP 名称和 3 张 APP 界面截图
|
|
68
|
+
✅ 按量付费未签约:签约分支无需页面图片,不阻塞服务/应用分支的独立准备和执行
|
|
69
|
+
✅ 按量付费在服务类别基于已查询候选,一次收集新建/修改分支的完整五项服务资料;Step 5.2 才执行写操作
|
|
72
70
|
```
|
|
73
71
|
|
|
74
|
-
|
|
72
|
+
**按量付费完整产品开通的独立分支:**
|
|
75
73
|
```
|
|
76
74
|
✅ 未签约且提交成功:继续服务市场注册 + 应用发布
|
|
77
75
|
✅ 已签约:跳过签约提交,继续服务市场注册 + 应用发布
|
|
78
|
-
❌
|
|
76
|
+
❌ 禁止:只完成产品签约就宣称按量付费产品开通完成
|
|
79
77
|
❌ 禁止:已签约状态下重复提交签约申请
|
|
80
78
|
```
|
|
81
79
|
|
|
@@ -85,7 +83,7 @@
|
|
|
85
83
|
|
|
86
84
|
## 签约提交
|
|
87
85
|
|
|
88
|
-
**执行 `scripts/ar_sign_apply.sh` 提交签约申请。脚本通过 `error_handler.sh` 间接初始化 `DEV_TOOL_NAME`;产品码和类目编码优先通过 `--sales-code`、`--mcc-code`
|
|
86
|
+
**执行 `scripts/ar_sign_apply.sh` 提交签约申请。脚本通过 `error_handler.sh` 间接初始化 `DEV_TOOL_NAME`、`PLATFORM` 和当前 `run_id` 对应的 `PLATFORM_ID`;产品码和类目编码优先通过 `--sales-code`、`--mcc-code` 显式传入。签约状态为 `NOT_SIGNED` 且当前产品全部签约材料完整并校验通过后直接执行,不再增加回复 `1`;材料缺失或校验失败时继续使用 flow 登记的材料提示并禁止提交。**
|
|
89
87
|
|
|
90
88
|
```bash
|
|
91
89
|
# 按量付费
|
|
@@ -94,20 +92,13 @@ bash scripts/ar_sign_apply.sh --product aipay --sales-code "I1080300001000160457
|
|
|
94
92
|
# 网站支付
|
|
95
93
|
bash scripts/ar_sign_apply.sh --product webpay --sales-code "I1080300001000041203" --mcc-code "<mccCode>" --picurl1 <imageRef1> --picurl2 <imageRef2> --picurl3 <imageRef3>
|
|
96
94
|
|
|
97
|
-
# APP支付
|
|
95
|
+
# APP 支付
|
|
98
96
|
bash scripts/ar_sign_apply.sh --product apppay --sales-code "I1080300001000041313" --mcc-code "<mccCode>" --app-name "<APP名称>" --picurl1 <imageRef1> --picurl2 <imageRef2> --picurl3 <imageRef3>
|
|
99
97
|
```
|
|
100
98
|
|
|
101
|
-
###
|
|
99
|
+
### 静态签约契约边界
|
|
102
100
|
|
|
103
|
-
|
|
104
|
-
|------|----------------------|------------------------|
|
|
105
|
-
| 调用模式 | 外部直调 `ar-sign.apply` | 默认先 `previewFormView`,再按动态 schema 收集并 apply |
|
|
106
|
-
| 字段来源 | 本文档静态定义的三类产品字段 | `previewFormView` 返回的 `artisanPage` schema |
|
|
107
|
-
| 覆盖产品 | 按量付费、网站支付、APP支付 | 由产品推荐和 schema 决定 |
|
|
108
|
-
| 风险边界 | 后端新增/调整字段时,需同步更新本文档和脚本 | schema 变化会在 preview 流程中动态体现 |
|
|
109
|
-
|
|
110
|
-
> 如果后端签约字段发生变化,或当前静态字段提交被 `checkedError` 拒绝,应以 `previewFormView` 返回 schema 为准补齐字段,禁止在本模块中凭经验新增未确认字段。
|
|
101
|
+
当前 onboarding 只使用下方三个产品的固定字段和 `scripts/ar_sign_apply.sh` 已验证的提交结构。后端字段变化、字段校验失败或当前脚本无法处理时,必须停止受影响的签约分支并如实说明,不得凭经验增加字段、改写 payload 或尝试当前脚本未使用的方法。维护者取得实际返回或官方资料后,必须同步更新脚本、本文档、flow 和契约测试,才能恢复该分支。
|
|
111
102
|
|
|
112
103
|
### 网站支付签约 JSON(有截图)
|
|
113
104
|
|
|
@@ -134,7 +125,7 @@ bash scripts/ar_sign_apply.sh --product apppay --sales-code "I108030000100004131
|
|
|
134
125
|
}
|
|
135
126
|
```
|
|
136
127
|
|
|
137
|
-
### APP支付签约 JSON(有 APP 名称和截图)
|
|
128
|
+
### APP 支付签约 JSON(有 APP 名称和截图)
|
|
138
129
|
|
|
139
130
|
```json
|
|
140
131
|
{
|
|
@@ -159,7 +150,7 @@ bash scripts/ar_sign_apply.sh --product apppay --sales-code "I108030000100004131
|
|
|
159
150
|
}
|
|
160
151
|
```
|
|
161
152
|
|
|
162
|
-
> APP支付本次固定按 `appStatus=OFFLINE` 提交,不传 `appDownloadUrl`。
|
|
153
|
+
> APP 支付本次固定按 `appStatus=OFFLINE` 提交,不传 `appDownloadUrl`。
|
|
163
154
|
|
|
164
155
|
### 按量付费签约 JSON(无截图)
|
|
165
156
|
|
|
@@ -185,12 +176,12 @@ bash scripts/ar_sign_apply.sh --product apppay --sales-code "I108030000100004131
|
|
|
185
176
|
| 变量 | 来源 | 说明 |
|
|
186
177
|
|------|------|------|
|
|
187
178
|
| `bizRequestNo` | 主技能生成 | UUID,每次签约提交前通过 `python3 -c "import uuid; print(uuid.uuid4())"` 生成,**禁止省略** |
|
|
188
|
-
| `mccCode` | Step 2 方案规划 | 运行时变量,格式 `Axxxx_Bxxxx
|
|
179
|
+
| `mccCode` | Step 2 方案规划 | 运行时变量,格式 `Axxxx_Bxxxx` |
|
|
189
180
|
| `channelCode` | 固定值 | `"B_SK_SH_RPC"` |
|
|
190
181
|
| `orderType` | 固定值 | `"NEW_SIGN"` |
|
|
191
|
-
| `screenshot` | Step 4
|
|
192
|
-
| `appName` | Step 4
|
|
193
|
-
| `appStatus` | 固定值 | **仅APP支付需要**,本次固定为 `OFFLINE` |
|
|
182
|
+
| `screenshot` | Step 4 签约材料类别 | **仅未签约的网站支付/APP 支付需要**(3个上传后的图片引用值),按量付费无需此项 |
|
|
183
|
+
| `appName` | Step 4 签约材料类别 | **仅未签约的 APP 支付需要**;脚本参数仍为 `--app-name`,提交到 MCP 时映射为 `nativeAppDTO.name` |
|
|
184
|
+
| `appStatus` | 固定值 | **仅 APP 支付需要**,本次固定为 `OFFLINE` |
|
|
194
185
|
|
|
195
186
|
### 按量付费接入产物映射
|
|
196
187
|
|
|
@@ -206,15 +197,17 @@ bash scripts/ar_sign_apply.sh --product apppay --sales-code "I108030000100004131
|
|
|
206
197
|
### ⛔ 截图字段规则
|
|
207
198
|
|
|
208
199
|
```
|
|
209
|
-
✅ 网站支付未签约 → 需要 3
|
|
210
|
-
✅ APP支付未签约 → 需要 APP 名称和 3 张APP
|
|
200
|
+
✅ 网站支付未签约 → 需要 3 张网站截图(首页、商品页、支付页;支付页是展示支付宝付款方式,等待用户去支付的页面)
|
|
201
|
+
✅ APP 支付未签约 → 需要 APP 名称和 3 张 APP 界面截图(首页、商品页、支付页;支付页是展示支付宝付款方式,等待用户去支付的页面),签约状态固定按 OFFLINE 提交
|
|
211
202
|
✅ 按量付费 未签约 → 无需截图,直接签约
|
|
212
|
-
✅ 网站支付/APP支付缺少支付页或支付能力 →
|
|
213
|
-
✅
|
|
203
|
+
✅ 网站支付/APP 支付缺少支付页或支付能力 → 不提交签约;签约分支保持待用户准备页面和截图,不自动切换流程
|
|
204
|
+
✅ `onboarding_only` 中途发现缺少截图或支付页 → 只收口为签约材料待补充,并提醒仍需代码开发;不得修改项目、进入代码开发或声称签约失败
|
|
205
|
+
✅ `full_process` 中途仍发现缺少支付页或支付能力 → 停止签约提交,回到本轮代码开发实际缺口;不得用产品开通流程补齐代码能力
|
|
206
|
+
✅ 网站支付/APP 支付页面和支付能力已存在、仅缺三张页面图片 → 保留在 onboarding Step 4 收集和上传,不进入集成流程
|
|
214
207
|
❌ 禁止:按量付费 签约时传入 screenshot 字段
|
|
215
|
-
❌ 禁止:网站支付/APP
|
|
208
|
+
❌ 禁止:网站支付/APP 支付签约时省略 screenshot 字段
|
|
216
209
|
❌ 禁止:将“支付页”自行改口为“支付成功页”或要求用户提供文档未定义的页面
|
|
217
|
-
❌ 禁止:APP支付签约 MCP payload 中使用 webAppDTO、appDTO、appName、appType、placeType=APP、placeType=ONLINE_WEBAPP、placeType=ONLINE_NATIVEAPP 或 appType=PC_WEB
|
|
210
|
+
❌ 禁止:APP 支付签约 MCP payload 中使用 webAppDTO、appDTO、appName、appType、placeType=APP、placeType=ONLINE_WEBAPP、placeType=ONLINE_NATIVEAPP 或 appType=PC_WEB
|
|
218
211
|
```
|
|
219
212
|
|
|
220
213
|
### 截图字段规则
|
|
@@ -227,9 +220,9 @@ bash scripts/ar_sign_apply.sh --product apppay --sales-code "I108030000100004131
|
|
|
227
220
|
|
|
228
221
|
## 签约提交后非阻塞推进
|
|
229
222
|
|
|
230
|
-
> ⚠️
|
|
223
|
+
> ⚠️ **签约提交成功后无需等待或轮询审核;服务和应用分支按各自条件独立推进。**
|
|
231
224
|
|
|
232
|
-
签约申请提交后,后端会异步审核,`arStatus` 为 `"01"
|
|
225
|
+
签约申请提交后,后端会异步审核,`arStatus` 为 `"01"`(已提交待生效)。应用创建和服务注册不依赖签约提交动作或签约审核结果;登录、scope、MCC 以及各分支自己的查询、材料、资源决策和适用确认满足后即可推进。调度器可以按 5.1、5.2、5.3 顺序调用,也可以并发,但不得把调用顺序描述成跨分支业务依赖。
|
|
233
226
|
|
|
234
227
|
### FLOW 信号
|
|
235
228
|
|
|
@@ -239,14 +232,15 @@ bash scripts/ar_sign_apply.sh --product apppay --sales-code "I108030000100004131
|
|
|
239
232
|
|-----------|----------|----------|
|
|
240
233
|
| `FLOW:AI_PAY_SIGN_CONTINUE` | 按量付费 | 立即继续 5.2 服务注册 + 5.3 应用发布 |
|
|
241
234
|
| `FLOW:PC_WEB_SIGN_CONTINUE` | 网站支付 | 立即继续 5.3 应用发布 |
|
|
242
|
-
| `FLOW:APP_SIGN_CONTINUE` | APP支付 | 立即继续 5.3 应用发布 |
|
|
235
|
+
| `FLOW:APP_SIGN_CONTINUE` | APP 支付 | 立即继续 5.3 应用发布 |
|
|
243
236
|
|
|
244
237
|
### 处理原则
|
|
245
238
|
|
|
246
239
|
```
|
|
247
|
-
✅ 签约提交成功 →
|
|
248
|
-
✅
|
|
249
|
-
✅ 网站支付/APP
|
|
240
|
+
✅ 签约提交成功 → 记录待生效,不轮询签约审核
|
|
241
|
+
✅ 按量付费:签约、服务、应用按分支条件独立推进和记录结果
|
|
242
|
+
✅ 网站支付/APP 支付:签约与应用按分支条件独立推进和记录结果
|
|
243
|
+
✅ 任一分支失败不回滚或清除其他分支成功结果
|
|
250
244
|
❌ 禁止:签约提交后停住,等待签约审核通过再继续
|
|
251
245
|
❌ 禁止:轮询签约状态直到 arStatus变为"02"再继续
|
|
252
246
|
```
|
|
@@ -255,23 +249,25 @@ bash scripts/ar_sign_apply.sh --product apppay --sales-code "I108030000100004131
|
|
|
255
249
|
|
|
256
250
|
## 签约输出规范
|
|
257
251
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
当签约信息包含费率时,**必须附加免责声明**:
|
|
252
|
+
签约查询或提交的对客结果固定使用 `../../normal/json/customer-messages.json` 的 `signing.operation.result`,只传实际状态、实际下一步以及接口确实返回的费率。接口返回费率时使用 `WITH_FEE` 变体,模板会在费率后紧跟固定账单免责声明;没有费率字段时使用 `WITHOUT_FEE`,禁止编造费率或自行补写另一份免责声明。必须执行:
|
|
261
253
|
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
254
|
+
```bash
|
|
255
|
+
MESSAGE_INPUT_JSON=$(jq -cn \
|
|
256
|
+
--arg actualStatus "$ACTUAL_STATUS" \
|
|
257
|
+
--arg feeDisplay "$FEE_DISPLAY" \
|
|
258
|
+
--arg nextAction "$NEXT_ACTION" \
|
|
259
|
+
'{actualStatus:$actualStatus,feeDisplay:$feeDisplay,nextAction:$nextAction}')
|
|
260
|
+
printf '%s' "$MESSAGE_INPUT_JSON" \
|
|
261
|
+
| node ../../normal/scripts/render_customer_message.mjs signing.operation.result --variant WITH_FEE
|
|
262
|
+
MESSAGE_INPUT_JSON=$(jq -cn \
|
|
263
|
+
--arg actualStatus "$ACTUAL_STATUS" \
|
|
264
|
+
--arg nextAction "$NEXT_ACTION" \
|
|
265
|
+
'{actualStatus:$actualStatus,nextAction:$nextAction}')
|
|
266
|
+
printf '%s' "$MESSAGE_INPUT_JSON" \
|
|
267
|
+
| node ../../normal/scripts/render_customer_message.mjs signing.operation.result --variant WITHOUT_FEE
|
|
268
268
|
```
|
|
269
269
|
|
|
270
|
-
|
|
271
|
-
- ✅ 必须:在展示费率信息的同一区域,紧随费率信息之后添加免责声明
|
|
272
|
-
- ✅ 必须:免责声明使用引用块格式(`>` 开头)突出显示
|
|
273
|
-
- ❌ 禁止:单独展示费率信息而不附加免责声明
|
|
274
|
-
- ℹ️ 如果签约信息中不包含费率字段,则无需添加免责声明
|
|
270
|
+
待生效、失败或未知状态不得改写成签约已生效,也不得覆盖服务或应用分支的结果。
|
|
275
271
|
|
|
276
272
|
---
|
|
277
273
|
|
|
@@ -291,7 +287,7 @@ bash scripts/ar_sign_apply.sh --product apppay --sales-code "I108030000100004131
|
|
|
291
287
|
| 场景 | 处理方式 |
|
|
292
288
|
|------|----------|
|
|
293
289
|
| errorCode 存在 | 展示 errorMessage,如有 bizTips 一并展示 |
|
|
294
|
-
| needRetry=true |
|
|
290
|
+
| needRetry=true | 仍按业务错误处理;展示实际错误和 bizTips,不自动重试或立即询问“重试/退出”,业务条件修正后再重新执行受影响动作 |
|
|
295
291
|
| checkedError | 提取校验错误信息,引导用户修正字段 |
|
|
296
292
|
|
|
297
293
|
### 授权信息不匹配错误
|