@doubao-dev/plugin-app-dev 0.0.0-stage → 0.0.40-canary-dea0ddc73-20261026073950

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.
Files changed (107) hide show
  1. package/README.md +10 -2
  2. package/dist/147.js +9 -0
  3. package/dist/assets.d.ts +5 -0
  4. package/dist/assets.js +4 -0
  5. package/dist/index.d.ts +43 -0
  6. package/dist/index.js +1378 -0
  7. package/dist/plugin.d.ts +102 -0
  8. package/dist/plugin.js +4995 -0
  9. package/dist/preview.js +16 -0
  10. package/dist/rslib-runtime.js +33 -0
  11. package/dist/skills/doubao-plugin-app/SKILL.md +21 -0
  12. package/dist/skills/doubao-plugin-app/references/app-development.md +85 -0
  13. package/dist/skills/doubao-plugin-app/references/frontend/components/container-overlay.md +131 -0
  14. package/dist/skills/doubao-plugin-app/references/frontend/components/form-controls.md +146 -0
  15. package/dist/skills/doubao-plugin-app/references/frontend/components/interactive-controls.md +120 -0
  16. package/dist/skills/doubao-plugin-app/references/frontend/components/map-canvas.md +107 -0
  17. package/dist/skills/doubao-plugin-app/references/frontend/components/overview.md +43 -0
  18. package/dist/skills/doubao-plugin-app/references/frontend/components/scroll-list.md +149 -0
  19. package/dist/skills/doubao-plugin-app/references/frontend/components/text-media.md +209 -0
  20. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/01-/345/237/272/347/241/200.md +1389 -0
  21. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +1376 -0
  22. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/03-/350/207/252/345/256/232/344/271/211/351/200/232/344/277/241.md +127 -0
  23. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/04-/345/256/232/344/275/215.md +784 -0
  24. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/05-/345/255/230/345/202/250.md +1176 -0
  25. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/06-/350/267/257/347/224/261.md +839 -0
  26. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/07-/347/225/214/351/235/242.md +376 -0
  27. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/08-/344/272/244/344/272/222.md +1319 -0
  28. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/09-/350/276/223/345/205/245.md +192 -0
  29. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/10-/347/275/221/347/273/234.md +900 -0
  30. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/11-/345/252/222/344/275/223.md +1496 -0
  31. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/12-/344/270/232/345/212/241/350/203/275/345/212/233.md +1281 -0
  32. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/13-/347/231/273/345/275/225.md +511 -0
  33. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/14-/346/224/257/344/273/230.md +943 -0
  34. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/15-/346/225/260/346/215/256/345/210/206/346/236/220.md +124 -0
  35. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/16-/350/223/235/347/211/231.md +3364 -0
  36. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/17-wi-fi.md +1028 -0
  37. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/18-/345/212/240/351/200/237/345/272/246/350/256/241.md +354 -0
  38. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/19-ibeacon.md +508 -0
  39. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/20-/347/275/227/347/233/230.md +320 -0
  40. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/21-/350/256/276/345/244/207/346/226/271/345/220/221.md +351 -0
  41. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/22-/351/231/200/350/236/272/344/273/252.md +354 -0
  42. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/23-/345/252/222/344/275/223-/350/256/276/345/244/207-/347/275/221/347/273/234.md +264 -0
  43. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/24-/347/237/255/344/277/241.md +155 -0
  44. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/25-/346/227/240/351/232/234/347/242/215.md +144 -0
  45. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/26-/345/237/272/347/241/200/344/277/241/346/201/257.md +238 -0
  46. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/27-/347/224/265/346/261/240.md +235 -0
  47. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/28-/345/211/252/350/264/264/346/235/277.md +303 -0
  48. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/29-/345/212/240/345/257/206.md +126 -0
  49. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/30-/346/227/245/345/216/206.md +417 -0
  50. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/31-/347/224/265/350/257/235.md +144 -0
  51. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/32-/346/211/253/347/240/201.md +236 -0
  52. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/33-/345/261/217/345/271/225.md +747 -0
  53. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/34-/351/234/207/345/212/250.md +277 -0
  54. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/35-/346/226/207/344/273/266/347/263/273/347/273/237.md +431 -0
  55. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/common-errors.md +69 -0
  56. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/groups.md +43 -0
  57. package/dist/skills/doubao-plugin-app/references/frontend/doubao-agentic-service-api/quick-reference.md +436 -0
  58. package/dist/skills/doubao-plugin-app/references/frontend/examples/common-patterns.md +590 -0
  59. package/dist/skills/doubao-plugin-app/references/frontend/examples/doubao-agentic-service-api-recipes.md +209 -0
  60. package/dist/skills/doubao-plugin-app/references/frontend/examples/page-widget-basics.md +368 -0
  61. package/dist/skills/doubao-plugin-app/references/frontend/examples/page-widget-recipes.md +65 -0
  62. package/dist/skills/doubao-plugin-app/references/frontend/framework/core.md +283 -0
  63. package/dist/skills/doubao-plugin-app/references/frontend/guides/auth.md +277 -0
  64. package/dist/skills/doubao-plugin-app/references/frontend/guides/best-practices.md +574 -0
  65. package/dist/skills/doubao-plugin-app/references/frontend/guides/client-tools-and-events.md +209 -0
  66. package/dist/skills/doubao-plugin-app/references/frontend/guides/component-development.md +832 -0
  67. package/dist/skills/doubao-plugin-app/references/frontend/guides/debugger-mcp.md +537 -0
  68. package/dist/skills/doubao-plugin-app/references/frontend/guides/expired-widget.md +101 -0
  69. package/dist/skills/doubao-plugin-app/references/frontend/guides/performance-optimization.md +417 -0
  70. package/dist/skills/doubao-plugin-app/references/frontend/guides/troubleshooting.md +278 -0
  71. package/dist/skills/doubao-plugin-app/references/frontend/lynx/best-practices.md +720 -0
  72. package/dist/skills/doubao-plugin-app/references/frontend/lynx/css/pseudo-classes.md +149 -0
  73. package/dist/skills/doubao-plugin-app/references/frontend/lynx/css/selectors.md +224 -0
  74. package/dist/skills/doubao-plugin-app/references/frontend/lynx/css/supported-properties.md +269 -0
  75. package/dist/skills/doubao-plugin-app/references/frontend/lynx/css/values-and-units.md +314 -0
  76. package/dist/skills/doubao-plugin-app/references/frontend/lynx/layout/flex-layout.md +334 -0
  77. package/dist/skills/doubao-plugin-app/references/frontend/lynx/layout/grid-layout.md +408 -0
  78. package/dist/skills/doubao-plugin-app/references/frontend/lynx/layout/linear-layout.md +355 -0
  79. package/dist/skills/doubao-plugin-app/references/frontend/lynx/layout/relative-layout.md +189 -0
  80. package/dist/skills/doubao-plugin-app/references/frontend/lynx/lynx-vs-web/css-differences.md +737 -0
  81. package/dist/skills/doubao-plugin-app/references/frontend/lynx/lynx-vs-web/migration-guide.md +669 -0
  82. package/dist/skills/doubao-plugin-app/references/frontend/lynx/lynx-vs-web/unsupported-features.md +290 -0
  83. package/dist/skills/doubao-plugin-app/references/frontend/lynx/overview.md +60 -0
  84. package/dist/skills/doubao-plugin-app/references/frontend/lynx/patterns/animation.md +243 -0
  85. package/dist/skills/doubao-plugin-app/references/frontend/lynx/patterns/responsive.md +194 -0
  86. package/dist/skills/doubao-plugin-app/references/frontend/lynx/patterns/theming.md +143 -0
  87. package/dist/skills/doubao-plugin-app/references/frontend/lynx/quick-reference.md +229 -0
  88. package/dist/skills/doubao-plugin-app/references/frontend/rules/dos-and-donts.md +479 -0
  89. package/dist/skills/doubao-plugin-app/references/frontend/widget-templates/design-boundary.md +46 -0
  90. package/dist/skills/doubao-plugin-app/references/frontend/widget-templates/overview.md +118 -0
  91. package/dist/skills/doubao-plugin-app/references/frontend/widget-templates/props.md +301 -0
  92. package/dist/skills/doubao-plugin-app/references/mcp-and-cards.md +38 -0
  93. package/dist/templates/README.md.template +11 -0
  94. package/dist/templates/com.doubao/app/manifest.yaml +41 -0
  95. package/dist/templates/com.doubao/app/package.json.template +13 -0
  96. package/dist/templates/com.doubao/app/src/app.config.ts.template +5 -0
  97. package/dist/templates/com.doubao/app/src/app.ts.template +3 -0
  98. package/dist/templates/com.doubao/app/src/pages/home/index.css +14 -0
  99. package/dist/templates/com.doubao/app/src/pages/home/index.tsx.template +14 -0
  100. package/dist/templates/com.doubao/app/src/widgets/example/index.tsx.template +29 -0
  101. package/dist/templates/com.doubao/app/tsconfig.json +19 -0
  102. package/dist/templates/mcp.json +9 -0
  103. package/dist/templates/plugin.json.template +29 -0
  104. package/dist/templates/skills/example/SKILL.md.template +14 -0
  105. package/dist/upload.d.ts +44 -0
  106. package/dist/upload.js +38 -0
  107. package/package.json +60 -3
@@ -0,0 +1,943 @@
1
+ # 豆包应用插件的端能力 API: 支付
2
+
3
+ 订单创建、普通支付、平台免密支付、纯签约和支付并签约能力。
4
+
5
+ [返回目录](./groups.md) | [返回速查](./quick-reference.md)
6
+
7
+ ## 速查
8
+
9
+ | API | 说明 |
10
+ | --- | --- |
11
+ | [createSignOrder](#createsignorder) | 创建三方纯签约流程所需的签约单。 |
12
+ | [dypay](#dypay) | 发起抖音支付流程。 |
13
+ | [getOrderPaymentWithSign](#getorderpaymentwithsign) | 使用预下单号和签约参数拉起支付并签约收银台。 |
14
+ | [getOrderPayment](#getorderpayment) | 使用预下单返回的平台交易订单号拉起用户收银台。 |
15
+ | [requestOrder](#requestorder) | 交易预下单,获取拉起收银台所需的平台交易订单号。 |
16
+ | [sign](#sign) | 使用三方纯签约的签约单号拉起用户签约页面。 |
17
+
18
+ ## API 详情
19
+
20
+ <a id="createsignorder"></a>
21
+ ### createSignOrder()
22
+
23
+ # createSignOrder
24
+
25
+ 创建三方纯签约流程所需的签约单。
26
+
27
+ ## 支持版本
28
+
29
+ 前端库版本不低于 `0.0.28`。
30
+
31
+ ## 支持平台
32
+
33
+ <table>
34
+ <thead>
35
+ <tr><th>平台</th><th>支持情况</th></tr>
36
+ </thead>
37
+ <tbody>
38
+ <tr><td>Android</td><td>支持</td></tr>
39
+ <tr><td>iOS</td><td>支持</td></tr>
40
+ <tr><td>PC</td><td>不支持</td></tr>
41
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
42
+ </tbody>
43
+ </table>
44
+
45
+ ## 支持场景
46
+
47
+ <table>
48
+ <thead>
49
+ <tr><th>场景</th><th>支持情况</th></tr>
50
+ </thead>
51
+ <tbody>
52
+ <tr><td>页面</td><td>支持</td></tr>
53
+ <tr><td>卡片</td><td>支持</td></tr>
54
+ </tbody>
55
+ </table>
56
+
57
+ ## 使用说明
58
+
59
+ 这是纯签约流程的第一步。创建成功后,将返回的 `authOrderId` 传给 `sign` 拉起用户签约页面。
60
+ 此流程与支付按钮组件使用的豆包平台免密签约状态不是同一类签约关系。
61
+
62
+ `data` 和 `dbAuthorization` 必须由业务服务端生成,不能在前端自行构造。
63
+ 用户的最终签约状态必须以业务服务端查询签约单详情或收到的签约结果回调为准。
64
+
65
+ - 仅创建签约订单、不拉起签约 UI;请在服务端下发合法的 data 与 dbAuthorization 后调用。
66
+
67
+ ## 调用方式
68
+
69
+ ### 异步 API
70
+
71
+ ```typescript
72
+ createSignOrder(params: CreateSignOrderParams): Promise<CreateSignOrderResult>
73
+ ```
74
+
75
+ ## 入参
76
+
77
+ <table>
78
+ <thead>
79
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
80
+ </thead>
81
+ <tbody>
82
+ <tr><td><code>data</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>三方纯签约的签约单请求数据。<br><br>该字段必须由业务服务端按签约能力的接入协议生成并返回,前端应原样透传。</td></tr>
83
+ <tr><td><code>dbAuthorization</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>`data` 对应的请求签名。<br><br>该字段必须由业务服务端生成并返回,前端应原样透传。</td></tr>
84
+ </tbody>
85
+ </table>
86
+
87
+ ## 调用示例
88
+
89
+ ```typescript
90
+ import {
91
+ createSignOrder,
92
+ type CreateSignOrderParams
93
+ } from '@doubao-dev/framework/api';
94
+
95
+ // 业务方自行实现:从业务服务端获取签约订单参数和签名;该函数不是 SDK API。
96
+ declare function getSignOrderParamsFromBusinessServer():
97
+ Promise<CreateSignOrderParams>;
98
+
99
+ const orderParams = await getSignOrderParamsFromBusinessServer();
100
+ const result = await createSignOrder(orderParams);
101
+
102
+ console.log(authOrderId, logId);
103
+ ```
104
+
105
+ ## 成功返回
106
+
107
+ <table>
108
+ <thead>
109
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
110
+ </thead>
111
+ <tbody>
112
+ <tr><td><code>authOrderId</code></td><td><code>string</code></td><td>否</td><td>平台返回的签约单号,用于调用 `sign` 拉起签约页面。<br><br>该字段不是用户签约成功后产生的签约 ID。</td></tr>
113
+ <tr><td><code>logId</code></td><td><code>string</code></td><td>否</td><td>用于服务端排查问题的日志 ID。</td></tr>
114
+ <tr><td><code>errLogId</code></td><td><code>string</code></td><td>否</td><td>用于服务端排查问题的错误日志 ID。</td></tr>
115
+ <tr><td><code>errMsg</code></td><td><code>string</code></td><td>否</td><td>错误信息。</td></tr>
116
+ <tr><td><code>errNo</code></td><td><code>string</code></td><td>否</td><td>错误码。</td></tr>
117
+ </tbody>
118
+ </table>
119
+
120
+ ### 返回示例
121
+
122
+ ```json
123
+ {
124
+ "authOrderId": "auth_order_123",
125
+ "logId": "20260519xxxx"
126
+ }
127
+ ```
128
+
129
+ ## 错误处理
130
+
131
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
132
+
133
+ ### 错误码
134
+
135
+ #### 通用错误码
136
+
137
+ <table>
138
+ <thead>
139
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
140
+ </thead>
141
+ <tbody>
142
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
143
+ </tbody>
144
+ </table>
145
+
146
+ ## 已知限制与注意事项
147
+
148
+ - 失败结果不会作为 await 的返回值,需通过 catch 捕获并从错误对象的 data 字段读取 errNo、errMsg、errLogId。
149
+
150
+ <a id="dypay"></a>
151
+ ### dypay()
152
+
153
+ # dypay
154
+
155
+ 发起抖音支付流程。
156
+
157
+ ## 扫码预览
158
+ ![扫码预览 dypay](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fpayment%252Fdypay%252Findex)
159
+
160
+ ## 支持版本
161
+
162
+ 前端库版本不低于 `0.1.0`。
163
+
164
+ ## 支持平台
165
+
166
+ <table>
167
+ <thead>
168
+ <tr><th>平台</th><th>支持情况</th></tr>
169
+ </thead>
170
+ <tbody>
171
+ <tr><td>Android</td><td>支持</td></tr>
172
+ <tr><td>iOS</td><td>支持</td></tr>
173
+ <tr><td>PC</td><td>不支持</td></tr>
174
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
175
+ </tbody>
176
+ </table>
177
+
178
+ ## 接入准备
179
+
180
+ ### 前置条件
181
+
182
+ - 调用前需由业务服务端生成合法的支付请求 data
183
+
184
+ ## 使用说明
185
+
186
+ `data` 应由业务服务端生成,前端不要自行拼装或修改。
187
+
188
+ 支付流程返回不代表最终支付状态,最终结果应以业务服务端查询结果或支付回调为准。
189
+
190
+ - 调用会进入支付流程,请在用户明确触发支付的交互场景中调用;不要在后台逻辑中自动调用。
191
+
192
+ ## 调用方式
193
+
194
+ ### 异步 API
195
+
196
+ ```typescript
197
+ dypay(params: DypayParams): Promise<object>
198
+ ```
199
+
200
+ ## 入参
201
+
202
+ <table>
203
+ <thead>
204
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
205
+ </thead>
206
+ <tbody>
207
+ <tr><td><code>data</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>支付请求数据。<br><br>该字段应由业务服务端按支付接入协议生成,前端需原样透传。</td></tr>
208
+ </tbody>
209
+ </table>
210
+
211
+ ## 调用示例
212
+
213
+ ```typescript
214
+ import { dypay } from '@doubao-dev/framework/api';
215
+
216
+ // 业务方自行实现:从业务服务端获取支付请求数据;该函数不是 SDK API。
217
+ declare function getDypayDataFromBusinessServer(): Promise<string>;
218
+
219
+ const data = await getDypayDataFromBusinessServer();
220
+ await dypay({ data });
221
+ ```
222
+
223
+ ## 成功返回
224
+
225
+ 无返回字段。
226
+
227
+ <a id="getorderpaymentwithsign"></a>
228
+ ### getOrderPaymentWithSign()
229
+
230
+ # getOrderPaymentWithSign
231
+
232
+ 使用预下单号和签约参数拉起支付并签约收银台。
233
+
234
+ ## 支持版本
235
+
236
+ 前端库版本不低于 `0.0.28`。
237
+
238
+ ## 支持平台
239
+
240
+ <table>
241
+ <thead>
242
+ <tr><th>平台</th><th>支持情况</th></tr>
243
+ </thead>
244
+ <tbody>
245
+ <tr><td>Android</td><td>支持</td></tr>
246
+ <tr><td>iOS</td><td>支持</td></tr>
247
+ <tr><td>PC</td><td>不支持</td></tr>
248
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
249
+ </tbody>
250
+ </table>
251
+
252
+ ## 支持场景
253
+
254
+ <table>
255
+ <thead>
256
+ <tr><th>场景</th><th>支持情况</th></tr>
257
+ </thead>
258
+ <tbody>
259
+ <tr><td>页面</td><td>支持</td></tr>
260
+ <tr><td>卡片</td><td>支持</td></tr>
261
+ </tbody>
262
+ </table>
263
+
264
+ ## 接入准备
265
+
266
+ ### 前置条件
267
+
268
+ - **Android**:需用户已登录并完成抖音账号绑定,且当前处于前台可见页面
269
+ - **iOS**:需用户已登录并完成抖音账号绑定
270
+
271
+ ## 使用说明
272
+
273
+ 此 API 属于三方支付并签约流程,与支付按钮组件根据平台签约状态发起的豆包平台免密支付不是同一流程。
274
+
275
+ 支付是主流程,签约是附带流程。如果签约参数无效,收银台会降级为仅支付。
276
+
277
+ `signData` 和 `signDbAuthorization` 必须由业务服务端生成,不能在前端自行构造。
278
+ 此 API 成功不代表支付或签约成功,最终状态必须由业务服务端分别通过查询接口或结果回调确认。
279
+
280
+ - 调用会拉起收银台并需要用户交互,请在用户明确触发支付的交互场景中调用;请勿在无用户操作的后台逻辑中调用。
281
+
282
+ ## 调用方式
283
+
284
+ ### 异步 API
285
+
286
+ ```typescript
287
+ getOrderPaymentWithSign(params: GetOrderPaymentWithSignParams): Promise<GetOrderPaymentResult>
288
+ ```
289
+
290
+ ## 入参
291
+
292
+ <table>
293
+ <thead>
294
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
295
+ </thead>
296
+ <tbody>
297
+ <tr><td><code>orderId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>平台交易订单号。<br><br>应使用 `requestOrder` 返回的真实预下单结果,不要传入业务侧订单号或自行构造的值。</td></tr>
298
+ <tr><td><code>signData</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>支付并签约所需的签约参数。<br><br>该字段必须由业务服务端按支付并签约接入协议生成并返回,前端应原样透传。</td></tr>
299
+ <tr><td><code>signDbAuthorization</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>`signData` 对应的请求签名。<br><br>该字段必须由业务服务端生成并与 `signData` 一并返回,前端应原样透传。</td></tr>
300
+ </tbody>
301
+ </table>
302
+
303
+ ## 调用示例
304
+
305
+ ```typescript
306
+ import {
307
+ getOrderPaymentWithSign,
308
+ type GetOrderPaymentWithSignParams
309
+ } from '@doubao-dev/framework/api';
310
+
311
+ // 业务方自行实现:从业务服务端获取支付并签约参数;该函数不是 SDK API。
312
+ declare function getPaymentAndSignParamsFromBusinessServer():
313
+ Promise<GetOrderPaymentWithSignParams>;
314
+ // 业务方自行实现:通过业务服务端分别确认支付与签约状态;该函数不是 SDK API。
315
+ declare function refreshPaymentAndSignStatusFromBusinessServer(orderId: string): Promise<void>;
316
+
317
+ const paymentParams = await getPaymentAndSignParamsFromBusinessServer();
318
+ const result = await getOrderPaymentWithSign(paymentParams);
319
+ console.log(result.orderId);
320
+ await refreshPaymentAndSignStatusFromBusinessServer(result.orderId);
321
+ ```
322
+
323
+ ## 成功返回
324
+
325
+ <table>
326
+ <thead>
327
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
328
+ </thead>
329
+ <tbody>
330
+ <tr><td><code>logId</code></td><td><code>string</code></td><td>是</td><td>用于服务端排查问题的日志 ID。</td></tr>
331
+ <tr><td><code>orderId</code></td><td><code>string</code></td><td>是</td><td>本次拉起收银台所使用的平台交易订单号。</td></tr>
332
+ </tbody>
333
+ </table>
334
+
335
+ ### 返回示例
336
+
337
+ ```json
338
+ {
339
+ "orderId": "order-id",
340
+ "logId": "20260519xxxx"
341
+ }
342
+ ```
343
+
344
+ ## 错误处理
345
+
346
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
347
+
348
+ ### 失败示例
349
+
350
+ ```json
351
+ {
352
+ "errNo": 114,
353
+ "errMsg": "operation cancelled"
354
+ }
355
+ ```
356
+
357
+ ### 错误码
358
+
359
+ <table>
360
+ <thead>
361
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
362
+ </thead>
363
+ <tbody>
364
+ <tr><td><code>114</code></td><td><code>operation cancelled</code></td><td>Android</td><td>用户在收银台中取消了支付操作</td><td>用户需要时可再次调用 `getOrderPaymentWithSign` 重新拉起收银台。</td></tr>
365
+ </tbody>
366
+ </table>
367
+
368
+ #### 通用错误码
369
+
370
+ <table>
371
+ <thead>
372
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
373
+ </thead>
374
+ <tbody>
375
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
376
+ <tr><td><code>103</code></td><td><code>feature not support</code></td><td>当前环境不支持该能力</td><td>Android、iOS</td></tr>
377
+ </tbody>
378
+ </table>
379
+
380
+ ## 平台差异
381
+
382
+ - **Android**:需在前台可见的 Activity 中调用,应用退至后台或无有效页面时会返回失败。
383
+ - **Android**:用户主动取消支付时返回顶层 errNo 114(operation cancelled);iOS 在该场景不返回顶层专属 errNo。
384
+
385
+ <a id="getorderpayment"></a>
386
+ ### getOrderPayment()
387
+
388
+ # getOrderPayment
389
+
390
+ 使用预下单返回的平台交易订单号拉起用户收银台。
391
+
392
+ ## 支持版本
393
+
394
+ 前端库版本不低于 `0.0.28`。
395
+
396
+ ## 支持平台
397
+
398
+ <table>
399
+ <thead>
400
+ <tr><th>平台</th><th>支持情况</th></tr>
401
+ </thead>
402
+ <tbody>
403
+ <tr><td>Android</td><td>支持</td></tr>
404
+ <tr><td>iOS</td><td>支持</td></tr>
405
+ <tr><td>PC</td><td>不支持</td></tr>
406
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
407
+ </tbody>
408
+ </table>
409
+
410
+ ## 支持场景
411
+
412
+ <table>
413
+ <thead>
414
+ <tr><th>场景</th><th>支持情况</th></tr>
415
+ </thead>
416
+ <tbody>
417
+ <tr><td>页面</td><td>支持</td></tr>
418
+ <tr><td>卡片</td><td>支持</td></tr>
419
+ </tbody>
420
+ </table>
421
+
422
+ ## 接入准备
423
+
424
+ ### 前置条件
425
+
426
+ - **Android**:需用户已登录并完成抖音账号绑定,且当前处于前台可见页面
427
+ - **iOS**:需用户已登录并完成抖音账号绑定
428
+
429
+ ## 使用说明
430
+
431
+ 直接调用此 API 时,业务只传入 `orderId`,用于普通支付收银台流程。
432
+ 豆包平台免密支付应使用 `DoubaoPaymentButton`,由组件查询当前用户的免密可用状态,
433
+ 并在用户选择免密支付时携带平台返回的免密支付方式参数;业务不能自行构造该参数。
434
+ 当账号未绑定、发生换绑或平台判断免密不可用时,应以组件展示的普通支付路径为准。
435
+
436
+ 此 API 成功仅表示收银台已正常拉起并完成前端交互,不代表订单支付成功。
437
+ 最终支付状态必须以业务服务端查询订单详情的结果或业务服务端收到的支付结果回调为准。
438
+
439
+ - 调用会拉起收银台并需要用户交互,请在用户明确触发支付的交互场景中调用;请勿在无用户操作的后台逻辑中调用。
440
+
441
+ ## 调用方式
442
+
443
+ ### 异步 API
444
+
445
+ ```typescript
446
+ getOrderPayment(params: GetOrderPaymentParams): Promise<GetOrderPaymentResult>
447
+ ```
448
+
449
+ ## 入参
450
+
451
+ <table>
452
+ <thead>
453
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
454
+ </thead>
455
+ <tbody>
456
+ <tr><td><code>orderId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>平台交易订单号,长度不超过 64 字节。<br><br>传入 `requestOrder` 预下单成功后返回的 `orderId`,不要使用业务侧订单号或自行构造的值。</td></tr>
457
+ </tbody>
458
+ </table>
459
+
460
+ ## 调用示例
461
+
462
+ ```typescript
463
+ import {
464
+ getOrderPayment,
465
+ requestOrder,
466
+ type RequestOrderParams
467
+ } from '@doubao-dev/framework/api';
468
+
469
+ // 业务方自行实现:从业务服务端获取预下单参数和签名;该函数不是 SDK API。
470
+ declare function getOrderParamsFromBusinessServer(): Promise<RequestOrderParams>;
471
+ // 业务方自行实现:通过业务服务端确认并刷新最终支付状态;该函数不是 SDK API。
472
+ declare function refreshOrderStatusFromBusinessServer(orderId: string): Promise<void>;
473
+
474
+ const orderParams = await getOrderParamsFromBusinessServer();
475
+ const { orderId } = await requestOrder(orderParams);
476
+ const { logId } = await getOrderPayment({ orderId });
477
+
478
+ console.log(orderId, logId);
479
+ await refreshOrderStatusFromBusinessServer(orderId);
480
+ ```
481
+
482
+ ## 成功返回
483
+
484
+ <table>
485
+ <thead>
486
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
487
+ </thead>
488
+ <tbody>
489
+ <tr><td><code>logId</code></td><td><code>string</code></td><td>是</td><td>用于服务端排查问题的日志 ID。</td></tr>
490
+ <tr><td><code>orderId</code></td><td><code>string</code></td><td>是</td><td>本次拉起收银台所使用的平台交易订单号。</td></tr>
491
+ </tbody>
492
+ </table>
493
+
494
+ ### 返回示例
495
+
496
+ ```json
497
+ {
498
+ "orderId": "order-id",
499
+ "logId": "20260519xxxx"
500
+ }
501
+ ```
502
+
503
+ ## 错误处理
504
+
505
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
506
+
507
+ ### 失败示例
508
+
509
+ ```json
510
+ {
511
+ "errNo": 114,
512
+ "errMsg": "operation cancelled"
513
+ }
514
+ ```
515
+
516
+ ### 错误码
517
+
518
+ <table>
519
+ <thead>
520
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
521
+ </thead>
522
+ <tbody>
523
+ <tr><td><code>114</code></td><td><code>operation cancelled</code></td><td>Android</td><td>用户在收银台中取消了支付操作</td><td>用户需要时可再次调用 `getOrderPayment` 重新拉起收银台。</td></tr>
524
+ </tbody>
525
+ </table>
526
+
527
+ #### 通用错误码
528
+
529
+ <table>
530
+ <thead>
531
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
532
+ </thead>
533
+ <tbody>
534
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
535
+ <tr><td><code>103</code></td><td><code>feature not support</code></td><td>当前环境不支持该能力</td><td>Android、iOS</td></tr>
536
+ </tbody>
537
+ </table>
538
+
539
+ ## 平台差异
540
+
541
+ - **Android**:需在前台可见的 Activity 中调用,应用退至后台或无有效页面时会返回失败。
542
+ - **Android**:用户主动取消支付时返回顶层 errNo 114(operation cancelled);iOS 在该场景不返回顶层专属 errNo。
543
+
544
+ <a id="requestorder"></a>
545
+ ### requestOrder()
546
+
547
+ # requestOrder
548
+
549
+ 交易预下单,获取拉起收银台所需的平台交易订单号。
550
+
551
+ ## 支持版本
552
+
553
+ 前端库版本不低于 `0.0.28`。
554
+
555
+ ## 支持平台
556
+
557
+ <table>
558
+ <thead>
559
+ <tr><th>平台</th><th>支持情况</th></tr>
560
+ </thead>
561
+ <tbody>
562
+ <tr><td>Android</td><td>支持</td></tr>
563
+ <tr><td>iOS</td><td>支持</td></tr>
564
+ <tr><td>PC</td><td>不支持</td></tr>
565
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
566
+ </tbody>
567
+ </table>
568
+
569
+ ## 支持场景
570
+
571
+ <table>
572
+ <thead>
573
+ <tr><th>场景</th><th>支持情况</th></tr>
574
+ </thead>
575
+ <tbody>
576
+ <tr><td>页面</td><td>支持</td></tr>
577
+ <tr><td>卡片</td><td>支持</td></tr>
578
+ </tbody>
579
+ </table>
580
+
581
+ ## 使用说明
582
+
583
+ 调用前,前端应先请求业务服务端,由业务服务端构造下单参数并完成签名。
584
+ 不要在前端生成 `data` 或 `dbAuthorization`,也不要把证书或私钥下发到前端。
585
+
586
+ 使用 `DoubaoPaymentButton` 时,应在组件请求订单号的回调中获取或创建预下单,
587
+ 再将本 API 返回的 `orderId` 交给组件继续普通支付或平台免密支付流程。
588
+
589
+ - 请在服务端下发合法的 data 与 dbAuthorization 后调用。
590
+
591
+ ## 调用方式
592
+
593
+ ### 异步 API
594
+
595
+ ```typescript
596
+ requestOrder(params: RequestOrderParams): Promise<RequestOrderResult>
597
+ ```
598
+
599
+ ## 入参
600
+
601
+ <table>
602
+ <thead>
603
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
604
+ </thead>
605
+ <tbody>
606
+ <tr><td><code>data</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>下单参数 JSON 字符串。<br><br>该字段必须由业务服务端按支付接入协议构造并返回,前端应原样透传,不要在客户端自行拼装。<br>JSON 必填字段包括 `skuList`、`outOrderNo`、`merchantUid`、`totalAmount`、`orderName` 和<br>`orderDesc`;可选字段包括 `currency`、`payExpireSeconds` 和 `payNotifyUrl`。<br><br>`skuList` 每项必填 `skuId`、`price`、`quantity`、`title` 和 `totalAmount`。<br>金额单位由 `currency` 决定;当前 `CNY` 使用分。`outOrderNo` 不超过 64 字节,<br>`quantity` 取值范围为 1 到 100,`title` 不超过 256 字节。<br>`payExpireSeconds` 不传或传 0 时使用 300 秒,最长不超过 48 小时;<br>`payNotifyUrl` 必须是 HTTPS 地址。</td></tr>
607
+ <tr><td><code>dbAuthorization</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>`data` 对应的请求签名。<br><br>该字段必须由业务服务端使用已配置的证书生成并返回,前端应原样透传。</td></tr>
608
+ </tbody>
609
+ </table>
610
+
611
+ ## 调用示例
612
+
613
+ ```typescript
614
+ import {
615
+ requestOrder,
616
+ type RequestOrderParams
617
+ } from '@doubao-dev/framework/api';
618
+
619
+ // 业务方自行实现:从业务服务端获取预下单参数和签名;该函数不是 SDK API。
620
+ declare function getOrderParamsFromBusinessServer(): Promise<RequestOrderParams>;
621
+
622
+ const orderParams = await getOrderParamsFromBusinessServer();
623
+ const { orderId, logId } = await requestOrder(orderParams);
624
+
625
+ console.log(orderId, logId);
626
+ ```
627
+
628
+ ## 成功返回
629
+
630
+ <table>
631
+ <thead>
632
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
633
+ </thead>
634
+ <tbody>
635
+ <tr><td><code>logId</code></td><td><code>string</code></td><td>是</td><td>用于服务端排查问题的日志 ID。</td></tr>
636
+ <tr><td><code>orderId</code></td><td><code>string</code></td><td>是</td><td>平台交易订单号,用于调用 `getOrderPayment` 拉起收银台。</td></tr>
637
+ </tbody>
638
+ </table>
639
+
640
+ ### 返回示例
641
+
642
+ ```json
643
+ {
644
+ "orderId": "order-id",
645
+ "logId": "20260519xxxx"
646
+ }
647
+ ```
648
+
649
+ ## 错误处理
650
+
651
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
652
+
653
+ ### 错误码
654
+
655
+ #### 通用错误码
656
+
657
+ <table>
658
+ <thead>
659
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
660
+ </thead>
661
+ <tbody>
662
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
663
+ </tbody>
664
+ </table>
665
+
666
+ ## 已知限制与注意事项
667
+
668
+ - 失败结果不会作为 await 的返回值,需通过 catch 捕获并从错误对象的 data 字段读取 errNo、errMsg、errLogId。
669
+
670
+ <a id="sign"></a>
671
+ ### sign()
672
+
673
+ # sign
674
+
675
+ 使用三方纯签约的签约单号拉起用户签约页面。
676
+
677
+ ## 支持版本
678
+
679
+ 前端库版本不低于 `0.0.28`。
680
+
681
+ ## 支持平台
682
+
683
+ <table>
684
+ <thead>
685
+ <tr><th>平台</th><th>支持情况</th></tr>
686
+ </thead>
687
+ <tbody>
688
+ <tr><td>Android</td><td>支持</td></tr>
689
+ <tr><td>iOS</td><td>支持</td></tr>
690
+ <tr><td>PC</td><td>不支持</td></tr>
691
+ <tr><td>HarmonyOS</td><td>不支持</td></tr>
692
+ </tbody>
693
+ </table>
694
+
695
+ ## 支持场景
696
+
697
+ <table>
698
+ <thead>
699
+ <tr><th>场景</th><th>支持情况</th></tr>
700
+ </thead>
701
+ <tbody>
702
+ <tr><td>页面</td><td>支持</td></tr>
703
+ <tr><td>卡片</td><td>支持</td></tr>
704
+ </tbody>
705
+ </table>
706
+
707
+ ## 接入准备
708
+
709
+ ### 前置条件
710
+
711
+ - **Android**:需用户已登录并完成抖音账号绑定,且当前处于前台可见页面
712
+ - **iOS**:需用户已登录并完成抖音账号绑定
713
+
714
+ ## 使用说明
715
+
716
+ 如果用户尚未绑定抖音账号,豆包可能先拉起账号绑定流程,再继续展示签约页面。
717
+
718
+ 用户的最终签约状态必须以业务服务端查询签约单详情或收到的签约结果回调为准。
719
+ 业务服务端还需要维护业务用户与签约 ID 的对应关系。
720
+
721
+ - 调用会拉起签约 UI 并需要用户交互,请在用户明确触发签约的交互场景中调用;请勿在无用户操作的后台逻辑中调用。
722
+
723
+ ## 调用方式
724
+
725
+ ### 异步 API
726
+
727
+ ```typescript
728
+ sign(params: SignParams): Promise<SignResult>
729
+ ```
730
+
731
+ ## 入参
732
+
733
+ <table>
734
+ <thead>
735
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
736
+ </thead>
737
+ <tbody>
738
+ <tr><td><code>orderId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>平台签约订单号。<br><br>传入 `createSignOrder` 成功后返回的 `authOrderId`,不要使用业务侧订单号或自行构造的值。</td></tr>
739
+ </tbody>
740
+ </table>
741
+
742
+ ## 调用示例
743
+
744
+ ```typescript
745
+ import {
746
+ createSignOrder,
747
+ sign,
748
+ type CreateSignOrderParams
749
+ } from '@doubao-dev/framework/api';
750
+
751
+ // 业务方自行实现:从业务服务端获取签约订单参数和签名;该函数不是 SDK API。
752
+ declare function getSignOrderParamsFromBusinessServer():
753
+ Promise<CreateSignOrderParams>;
754
+ // 业务方自行实现:通过业务服务端确认最终签约状态;该函数不是 SDK API。
755
+ declare function refreshSignStatusFromBusinessServer(authOrderId: string): Promise<void>;
756
+
757
+ const orderParams = await getSignOrderParamsFromBusinessServer();
758
+ const orderResult = await createSignOrder(orderParams);
759
+
760
+ if ('authOrderId' in orderResult) {
761
+ await sign({ orderId: orderResult.authOrderId });
762
+ await refreshSignStatusFromBusinessServer(orderResult.authOrderId);
763
+ }
764
+ ```
765
+
766
+ ## 成功返回
767
+
768
+ <table>
769
+ <thead>
770
+ <tr><th>名称</th><th>类型</th><th>必返</th><th>说明</th></tr>
771
+ </thead>
772
+ <tbody>
773
+ <tr><td><code>code</code></td><td><code>number</code></td><td>否</td><td>错误码。</td></tr>
774
+ <tr><td><code>errLogId</code></td><td><code>string</code></td><td>否</td><td>用于服务端排查问题的错误日志 ID。</td></tr>
775
+ <tr><td><code>errMsg</code></td><td><code>string</code></td><td>否</td><td>错误信息。</td></tr>
776
+ <tr><td><code>errNo</code></td><td><code>string</code></td><td>否</td><td>错误编号。</td></tr>
777
+ </tbody>
778
+ </table>
779
+
780
+ ### 返回示例
781
+
782
+ ```json
783
+ {}
784
+ ```
785
+
786
+ ## 错误处理
787
+
788
+ 错误对象和通用错误码见 [通用错误处理](./common-errors.md#错误返回)。
789
+
790
+ ### 失败示例
791
+
792
+ ```json
793
+ {
794
+ "errNo": 114,
795
+ "errMsg": "operation cancelled"
796
+ }
797
+ ```
798
+
799
+ ### 错误码
800
+
801
+ <table>
802
+ <thead>
803
+ <tr><th>errNo</th><th>errMsg</th><th>平台</th><th>触发条件</th><th>处理建议</th></tr>
804
+ </thead>
805
+ <tbody>
806
+ <tr><td><code>114</code></td><td><code>operation cancelled</code></td><td>Android</td><td>用户在签约收银台中取消了签约操作</td><td>用户需要时可再次调用 `sign` 重新发起签约。</td></tr>
807
+ </tbody>
808
+ </table>
809
+
810
+ #### 通用错误码
811
+
812
+ <table>
813
+ <thead>
814
+ <tr><th>errNo</th><th>errMsg</th><th>说明</th><th>平台</th></tr>
815
+ </thead>
816
+ <tbody>
817
+ <tr><td><code>102</code></td><td><code>internal error</code></td><td>内部错误</td><td>Android、iOS</td></tr>
818
+ <tr><td><code>103</code></td><td><code>feature not support</code></td><td>当前环境不支持该能力</td><td>Android、iOS</td></tr>
819
+ </tbody>
820
+ </table>
821
+
822
+ ## 平台差异
823
+
824
+ - **Android**:需在前台可见的 Activity 中调用,应用退至后台或无有效页面时会返回失败。
825
+ - **Android**:用户主动取消签约时返回顶层 errNo 114(operation cancelled);iOS 在该场景不返回顶层专属 errNo。
826
+
827
+ ## 已知限制与注意事项
828
+
829
+ - 失败结果不会作为 await 的返回值,需通过 catch 捕获并从错误对象的 data 字段读取 code、errNo、errMsg、errLogId。
830
+
831
+ ## 相关类型
832
+
833
+ <a id="createsignorderparams"></a>
834
+ ### CreateSignOrderParams
835
+
836
+ #### Properties
837
+
838
+ • **data**: `string` - 三方纯签约的签约单请求数据。 该字段必须由业务服务端按签约能力的接入协议生成并返回,前端应原样透传
839
+ • **dbAuthorization**: `string` - data 对应的请求签名。 该字段必须由业务服务端生成并返回,前端应原样透传
840
+
841
+ <a id="createsignorderresult"></a>
842
+ ### CreateSignOrderResult
843
+
844
+ #### Type
845
+
846
+ `CreateSignOrderSuccessResult | CreateSignOrderFailResult`
847
+
848
+ <a id="createsignordersuccessresult"></a>
849
+ ### CreateSignOrderSuccessResult
850
+
851
+ #### Properties
852
+
853
+ • **authOrderId**: `string` - 平台返回的签约单号,用于调用 sign 拉起签约页面。 该字段不是用户签约成功后产生的签约 ID
854
+ • **logId**: `string` - 用于服务端排查问题的日志 ID
855
+
856
+ <a id="createsignorderfailresult"></a>
857
+ ### CreateSignOrderFailResult
858
+
859
+ #### Properties
860
+
861
+ • **errNo**: `string` - 错误码
862
+ • **errMsg**: `string` - 错误信息
863
+ • **errLogId?**: `string` - 用于服务端排查问题的错误日志 ID
864
+
865
+ <a id="dypayparams"></a>
866
+ ### DypayParams
867
+
868
+ #### Properties
869
+
870
+ • **data**: `string` - 支付请求数据。 该字段应由业务服务端按支付接入协议生成,前端需原样透传
871
+
872
+ <a id="getorderpaymentwithsignparams"></a>
873
+ ### GetOrderPaymentWithSignParams
874
+
875
+ #### Properties
876
+
877
+ • **orderId**: `string` - 平台交易订单号。 应使用 requestOrder 返回的真实预下单结果,不要传入业务侧订单号或自行构造的值
878
+ • **signData**: `string` - 支付并签约所需的签约参数。 该字段必须由业务服务端按支付并签约接入协议生成并返回,前端应原样透传
879
+ • **signDbAuthorization**: `string` - signData 对应的请求签名。 该字段必须由业务服务端生成并与 signData 一并返回,前端应原样透传
880
+
881
+ <a id="getorderpaymentresult"></a>
882
+ ### GetOrderPaymentResult
883
+
884
+ #### Properties
885
+
886
+ • **orderId**: `string` - 本次拉起收银台所使用的平台交易订单号
887
+ • **logId**: `string` - 用于服务端排查问题的日志 ID
888
+
889
+ <a id="getorderpaymentparams"></a>
890
+ ### GetOrderPaymentParams
891
+
892
+ #### Properties
893
+
894
+ • **orderId**: `string` - 平台交易订单号,长度不超过 64 字节。 传入 requestOrder 预下单成功后返回的 orderId,不要使用业务侧订单号或自行构造的值
895
+
896
+ <a id="requestorderparams"></a>
897
+ ### RequestOrderParams
898
+
899
+ #### Properties
900
+
901
+ • **data**: `string` - 下单参数 JSON 字符串。 该字段必须由业务服务端按支付接入协议构造并返回,前端应原样透传,不要在客户端自行拼装。 JSON 必填字段包括 skuList、outOrderNo、merchantUid、totalAmount、orderName 和 orderDesc;可选字段包括 currency、payExpireSeconds 和 payNotifyUrl。 skuList 每项必填 skuId、price、quantity、title 和 totalAmount。 金额单位由 currency 决定;当前 CNY 使用分。outOrderNo 不超过 64 字节, quantity 取值范围为 1 到 100,title 不超过 256 字节。 payExpireSeconds 不传或传 0 时使用 300 秒,最长不超过 48 小时; payNotifyUrl 必须是 HTTPS 地址
902
+ • **dbAuthorization**: `string` - data 对应的请求签名。 该字段必须由业务服务端使用已配置的证书生成并返回,前端应原样透传
903
+
904
+ <a id="requestorderresult"></a>
905
+ ### RequestOrderResult
906
+
907
+ #### Properties
908
+
909
+ • **orderId**: `string` - 平台交易订单号,用于调用 getOrderPayment 拉起收银台
910
+ • **logId**: `string` - 用于服务端排查问题的日志 ID
911
+
912
+ <a id="signparams"></a>
913
+ ### SignParams
914
+
915
+ #### Properties
916
+
917
+ • **orderId**: `string` - 平台签约订单号。 传入 createSignOrder 成功后返回的 authOrderId,不要使用业务侧订单号或自行构造的值
918
+
919
+ <a id="signresult"></a>
920
+ ### SignResult
921
+
922
+ #### Type
923
+
924
+ `SignSuccessResult | SignFailResult`
925
+
926
+ <a id="signsuccessresult"></a>
927
+ ### SignSuccessResult
928
+
929
+ 签约页面流程正常返回时无业务字段。 该结果不代表用户已经签约成功,最终签约状态必须由业务服务端确认。
930
+
931
+ #### Type
932
+
933
+ `Record<string, never>`
934
+
935
+ <a id="signfailresult"></a>
936
+ ### SignFailResult
937
+
938
+ #### Properties
939
+
940
+ • **code**: `number` - 错误码
941
+ • **errNo**: `string` - 错误编号
942
+ • **errMsg**: `string` - 错误信息
943
+ • **errLogId?**: `string` - 用于服务端排查问题的错误日志 ID