@h-ai/payment 0.1.0-alpha9 → 1.0.0-beta.2

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.
@@ -1,211 +0,0 @@
1
- import { z } from 'zod';
2
-
3
- /**
4
- * @h-ai/payment/api — 支付 API 契约
5
- *
6
- * 定义支付相关的 API 端点契约(EndpointDef),
7
- * 供服务端 kit.fromContract() 和客户端 api.call() 共享。
8
- *
9
- * @module payment-api
10
- */
11
-
12
- /** 创建订单入参 Schema */
13
- declare const CreatePaymentOrderInputSchema: z.ZodObject<{
14
- provider: z.ZodEnum<{
15
- wechat: "wechat";
16
- alipay: "alipay";
17
- stripe: "stripe";
18
- }>;
19
- amount: z.ZodNumber;
20
- description: z.ZodString;
21
- tradeType: z.ZodEnum<{
22
- jsapi: "jsapi";
23
- h5: "h5";
24
- app: "app";
25
- native: "native";
26
- mini_program: "mini_program";
27
- }>;
28
- userId: z.ZodOptional<z.ZodString>;
29
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
30
- }, z.core.$strip>;
31
- /** 创建订单出参 Schema */
32
- declare const CreatePaymentOrderOutputSchema: z.ZodObject<{
33
- provider: z.ZodString;
34
- tradeType: z.ZodString;
35
- clientParams: z.ZodRecord<z.ZodString, z.ZodUnknown>;
36
- prepayId: z.ZodOptional<z.ZodString>;
37
- }, z.core.$strip>;
38
- /** 查询订单出参 Schema */
39
- declare const QueryOrderOutputSchema: z.ZodObject<{
40
- orderNo: z.ZodString;
41
- transactionId: z.ZodOptional<z.ZodString>;
42
- status: z.ZodEnum<{
43
- pending: "pending";
44
- paid: "paid";
45
- closed: "closed";
46
- refunded: "refunded";
47
- failed: "failed";
48
- }>;
49
- amount: z.ZodNumber;
50
- paidAt: z.ZodOptional<z.ZodString>;
51
- }, z.core.$strip>;
52
- /** 退款入参 Schema */
53
- declare const RefundInputSchema: z.ZodObject<{
54
- provider: z.ZodString;
55
- orderNo: z.ZodString;
56
- refundNo: z.ZodString;
57
- amount: z.ZodNumber;
58
- reason: z.ZodOptional<z.ZodString>;
59
- }, z.core.$strip>;
60
- /** 退款出参 Schema */
61
- declare const RefundOutputSchema: z.ZodObject<{
62
- refundNo: z.ZodString;
63
- refundId: z.ZodString;
64
- status: z.ZodEnum<{
65
- success: "success";
66
- failed: "failed";
67
- processing: "processing";
68
- }>;
69
- }, z.core.$strip>;
70
- type CreatePaymentOrderInput = z.infer<typeof CreatePaymentOrderInputSchema>;
71
- type CreatePaymentOrderOutput = z.infer<typeof CreatePaymentOrderOutputSchema>;
72
- type QueryOrderOutput = z.infer<typeof QueryOrderOutputSchema>;
73
- type RefundInput = z.infer<typeof RefundInputSchema>;
74
- type RefundOutput = z.infer<typeof RefundOutputSchema>;
75
- /**
76
- * 支付 API 端点契约
77
- */
78
- declare const paymentEndpoints: {
79
- /** 创建支付订单 */
80
- readonly createOrder: {
81
- method: "POST";
82
- path: string;
83
- input: z.ZodObject<{
84
- provider: z.ZodEnum<{
85
- wechat: "wechat";
86
- alipay: "alipay";
87
- stripe: "stripe";
88
- }>;
89
- amount: z.ZodNumber;
90
- description: z.ZodString;
91
- tradeType: z.ZodEnum<{
92
- jsapi: "jsapi";
93
- h5: "h5";
94
- app: "app";
95
- native: "native";
96
- mini_program: "mini_program";
97
- }>;
98
- userId: z.ZodOptional<z.ZodString>;
99
- metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
100
- }, z.core.$strip>;
101
- output: z.ZodObject<{
102
- provider: z.ZodString;
103
- tradeType: z.ZodString;
104
- clientParams: z.ZodRecord<z.ZodString, z.ZodUnknown>;
105
- prepayId: z.ZodOptional<z.ZodString>;
106
- }, z.core.$strip>;
107
- requireAuth: true;
108
- meta: {
109
- summary: string;
110
- tags: string[];
111
- };
112
- };
113
- /** 查询订单状态 */
114
- readonly queryOrder: {
115
- method: "GET";
116
- path: string;
117
- input: z.ZodObject<{
118
- orderNo: z.ZodString;
119
- }, z.core.$strip>;
120
- output: z.ZodObject<{
121
- orderNo: z.ZodString;
122
- transactionId: z.ZodOptional<z.ZodString>;
123
- status: z.ZodEnum<{
124
- pending: "pending";
125
- paid: "paid";
126
- closed: "closed";
127
- refunded: "refunded";
128
- failed: "failed";
129
- }>;
130
- amount: z.ZodNumber;
131
- paidAt: z.ZodOptional<z.ZodString>;
132
- }, z.core.$strip>;
133
- requireAuth: true;
134
- meta: {
135
- summary: string;
136
- tags: string[];
137
- };
138
- };
139
- /** 微信支付回调 */
140
- readonly notifyWechat: {
141
- method: "POST";
142
- path: string;
143
- input: z.ZodObject<{}, z.core.$strip>;
144
- output: z.ZodObject<{
145
- code: z.ZodString;
146
- message: z.ZodString;
147
- }, z.core.$strip>;
148
- requireAuth: false;
149
- meta: {
150
- summary: string;
151
- tags: string[];
152
- };
153
- };
154
- /** 支付宝回调 */
155
- readonly notifyAlipay: {
156
- method: "POST";
157
- path: string;
158
- input: z.ZodObject<{}, z.core.$strip>;
159
- output: z.ZodObject<{
160
- code: z.ZodString;
161
- message: z.ZodString;
162
- }, z.core.$strip>;
163
- requireAuth: false;
164
- meta: {
165
- summary: string;
166
- tags: string[];
167
- };
168
- };
169
- /** Stripe Webhook */
170
- readonly notifyStripe: {
171
- method: "POST";
172
- path: string;
173
- input: z.ZodObject<{}, z.core.$strip>;
174
- output: z.ZodObject<{
175
- received: z.ZodBoolean;
176
- }, z.core.$strip>;
177
- requireAuth: false;
178
- meta: {
179
- summary: string;
180
- tags: string[];
181
- };
182
- };
183
- /** 发起退款 */
184
- readonly refund: {
185
- method: "POST";
186
- path: string;
187
- input: z.ZodObject<{
188
- provider: z.ZodString;
189
- orderNo: z.ZodString;
190
- refundNo: z.ZodString;
191
- amount: z.ZodNumber;
192
- reason: z.ZodOptional<z.ZodString>;
193
- }, z.core.$strip>;
194
- output: z.ZodObject<{
195
- refundNo: z.ZodString;
196
- refundId: z.ZodString;
197
- status: z.ZodEnum<{
198
- success: "success";
199
- failed: "failed";
200
- processing: "processing";
201
- }>;
202
- }, z.core.$strip>;
203
- requireAuth: true;
204
- meta: {
205
- summary: string;
206
- tags: string[];
207
- };
208
- };
209
- };
210
-
211
- export { type CreatePaymentOrderInput, CreatePaymentOrderInputSchema, type CreatePaymentOrderOutput, CreatePaymentOrderOutputSchema, type QueryOrderOutput, QueryOrderOutputSchema, type RefundInput, RefundInputSchema, type RefundOutput, RefundOutputSchema, paymentEndpoints };
package/dist/api/index.js DELETED
@@ -1,96 +0,0 @@
1
- import { z } from 'zod';
2
-
3
- // src/api/payment-api-contract.ts
4
- var CreatePaymentOrderInputSchema = z.object({
5
- provider: z.enum(["wechat", "alipay", "stripe"]),
6
- amount: z.number().int().min(1),
7
- description: z.string().min(1),
8
- tradeType: z.enum(["jsapi", "h5", "app", "native", "mini_program"]),
9
- userId: z.string().optional(),
10
- metadata: z.record(z.string(), z.string()).optional()
11
- });
12
- var CreatePaymentOrderOutputSchema = z.object({
13
- provider: z.string(),
14
- tradeType: z.string(),
15
- clientParams: z.record(z.string(), z.unknown()),
16
- prepayId: z.string().optional()
17
- });
18
- var QueryOrderOutputSchema = z.object({
19
- orderNo: z.string(),
20
- transactionId: z.string().optional(),
21
- status: z.enum(["pending", "paid", "closed", "refunded", "failed"]),
22
- amount: z.number(),
23
- paidAt: z.string().optional()
24
- });
25
- var RefundInputSchema = z.object({
26
- provider: z.string(),
27
- orderNo: z.string(),
28
- refundNo: z.string(),
29
- amount: z.number().int().min(1),
30
- reason: z.string().optional()
31
- });
32
- var RefundOutputSchema = z.object({
33
- refundNo: z.string(),
34
- refundId: z.string(),
35
- status: z.enum(["processing", "success", "failed"])
36
- });
37
- var paymentEndpoints = {
38
- /** 创建支付订单 */
39
- createOrder: {
40
- method: "POST",
41
- path: "/payment/create",
42
- input: CreatePaymentOrderInputSchema,
43
- output: CreatePaymentOrderOutputSchema,
44
- requireAuth: true,
45
- meta: { summary: "Create payment order", tags: ["payment"] }
46
- },
47
- /** 查询订单状态 */
48
- queryOrder: {
49
- method: "GET",
50
- path: "/payment/query",
51
- input: z.object({ orderNo: z.string() }),
52
- output: QueryOrderOutputSchema,
53
- requireAuth: true,
54
- meta: { summary: "Query order status", tags: ["payment"] }
55
- },
56
- /** 微信支付回调 */
57
- notifyWechat: {
58
- method: "POST",
59
- path: "/payment/notify/wechat",
60
- input: z.object({}),
61
- output: z.object({ code: z.string(), message: z.string() }),
62
- requireAuth: false,
63
- meta: { summary: "Wechat payment notification", tags: ["payment"] }
64
- },
65
- /** 支付宝回调 */
66
- notifyAlipay: {
67
- method: "POST",
68
- path: "/payment/notify/alipay",
69
- input: z.object({}),
70
- output: z.object({ code: z.string(), message: z.string() }),
71
- requireAuth: false,
72
- meta: { summary: "Alipay payment notification", tags: ["payment"] }
73
- },
74
- /** Stripe Webhook */
75
- notifyStripe: {
76
- method: "POST",
77
- path: "/payment/notify/stripe",
78
- input: z.object({}),
79
- output: z.object({ received: z.boolean() }),
80
- requireAuth: false,
81
- meta: { summary: "Stripe webhook", tags: ["payment"] }
82
- },
83
- /** 发起退款 */
84
- refund: {
85
- method: "POST",
86
- path: "/payment/refund",
87
- input: RefundInputSchema,
88
- output: RefundOutputSchema,
89
- requireAuth: true,
90
- meta: { summary: "Request refund", tags: ["payment"] }
91
- }
92
- };
93
-
94
- export { CreatePaymentOrderInputSchema, CreatePaymentOrderOutputSchema, QueryOrderOutputSchema, RefundInputSchema, RefundOutputSchema, paymentEndpoints };
95
- //# sourceMappingURL=index.js.map
96
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/api/payment-api-contract.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @h-ai/payment/api — 支付 API 契约\n *\n * 定义支付相关的 API 端点契约(EndpointDef),\n * 供服务端 kit.fromContract() 和客户端 api.call() 共享。\n *\n * @module payment-api\n */\n\nimport { z } from 'zod'\n\n// ─── Schemas ───\n\n/** 创建订单入参 Schema */\nexport const CreatePaymentOrderInputSchema = z.object({\n provider: z.enum(['wechat', 'alipay', 'stripe']),\n amount: z.number().int().min(1),\n description: z.string().min(1),\n tradeType: z.enum(['jsapi', 'h5', 'app', 'native', 'mini_program']),\n userId: z.string().optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n})\n\n/** 创建订单出参 Schema */\nexport const CreatePaymentOrderOutputSchema = z.object({\n provider: z.string(),\n tradeType: z.string(),\n clientParams: z.record(z.string(), z.unknown()),\n prepayId: z.string().optional(),\n})\n\n/** 查询订单出参 Schema */\nexport const QueryOrderOutputSchema = z.object({\n orderNo: z.string(),\n transactionId: z.string().optional(),\n status: z.enum(['pending', 'paid', 'closed', 'refunded', 'failed']),\n amount: z.number(),\n paidAt: z.string().optional(),\n})\n\n/** 退款入参 Schema */\nexport const RefundInputSchema = z.object({\n provider: z.string(),\n orderNo: z.string(),\n refundNo: z.string(),\n amount: z.number().int().min(1),\n reason: z.string().optional(),\n})\n\n/** 退款出参 Schema */\nexport const RefundOutputSchema = z.object({\n refundNo: z.string(),\n refundId: z.string(),\n status: z.enum(['processing', 'success', 'failed']),\n})\n\n// ─── 推导类型 ───\n\nexport type CreatePaymentOrderInput = z.infer<typeof CreatePaymentOrderInputSchema>\nexport type CreatePaymentOrderOutput = z.infer<typeof CreatePaymentOrderOutputSchema>\nexport type QueryOrderOutput = z.infer<typeof QueryOrderOutputSchema>\nexport type RefundInput = z.infer<typeof RefundInputSchema>\nexport type RefundOutput = z.infer<typeof RefundOutputSchema>\n\n// ─── EndpointDef(内联定义,避免循环依赖) ───\n\ninterface EndpointDef<TInput, TOutput> {\n method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'\n path: string\n input: z.ZodType<TInput>\n output: z.ZodType<TOutput>\n requireAuth?: boolean\n meta?: { summary?: string, tags?: string[] }\n}\n\n/**\n * 支付 API 端点契约\n */\nexport const paymentEndpoints = {\n /** 创建支付订单 */\n createOrder: {\n method: 'POST',\n path: '/payment/create',\n input: CreatePaymentOrderInputSchema,\n output: CreatePaymentOrderOutputSchema,\n requireAuth: true,\n meta: { summary: 'Create payment order', tags: ['payment'] },\n } satisfies EndpointDef<CreatePaymentOrderInput, CreatePaymentOrderOutput>,\n\n /** 查询订单状态 */\n queryOrder: {\n method: 'GET',\n path: '/payment/query',\n input: z.object({ orderNo: z.string() }),\n output: QueryOrderOutputSchema,\n requireAuth: true,\n meta: { summary: 'Query order status', tags: ['payment'] },\n } satisfies EndpointDef<{ orderNo: string }, QueryOrderOutput>,\n\n /** 微信支付回调 */\n notifyWechat: {\n method: 'POST',\n path: '/payment/notify/wechat',\n input: z.object({}),\n output: z.object({ code: z.string(), message: z.string() }),\n requireAuth: false,\n meta: { summary: 'Wechat payment notification', tags: ['payment'] },\n } satisfies EndpointDef<Record<string, never>, { code: string, message: string }>,\n\n /** 支付宝回调 */\n notifyAlipay: {\n method: 'POST',\n path: '/payment/notify/alipay',\n input: z.object({}),\n output: z.object({ code: z.string(), message: z.string() }),\n requireAuth: false,\n meta: { summary: 'Alipay payment notification', tags: ['payment'] },\n } satisfies EndpointDef<Record<string, never>, { code: string, message: string }>,\n\n /** Stripe Webhook */\n notifyStripe: {\n method: 'POST',\n path: '/payment/notify/stripe',\n input: z.object({}),\n output: z.object({ received: z.boolean() }),\n requireAuth: false,\n meta: { summary: 'Stripe webhook', tags: ['payment'] },\n } satisfies EndpointDef<Record<string, never>, { received: boolean }>,\n\n /** 发起退款 */\n refund: {\n method: 'POST',\n path: '/payment/refund',\n input: RefundInputSchema,\n output: RefundOutputSchema,\n requireAuth: true,\n meta: { summary: 'Request refund', tags: ['payment'] },\n } satisfies EndpointDef<RefundInput, RefundOutput>,\n} as const\n"]}
@@ -1,67 +0,0 @@
1
- import { core } from '@h-ai/core';
2
-
3
- // src/payment-types.ts
4
- var PaymentErrorInfo = {
5
- CREATE_ORDER_FAILED: "001:500",
6
- QUERY_ORDER_FAILED: "002:500",
7
- REFUND_FAILED: "003:500",
8
- CLOSE_ORDER_FAILED: "004:500",
9
- NOT_INITIALIZED: "010:500",
10
- SIGN_FAILED: "020:500",
11
- PROVIDER_NOT_FOUND: "030:404",
12
- INVALID_AMOUNT: "040:400",
13
- NOTIFY_VERIFY_FAILED: "050:400",
14
- NOTIFY_PARSE_FAILED: "051:400",
15
- INVOKE_WEB_FAILED: "060:500",
16
- INVOKE_APP_FAILED: "061:500",
17
- CONFIG_ERROR: "070:500"
18
- };
19
- var HaiPaymentError = core.error.buildHaiErrorsDef("payment", PaymentErrorInfo);
20
-
21
- // messages/en-US.json
22
- var en_US_default = {
23
- payment_createOrderFailed: "Failed to create payment order",
24
- payment_queryOrderFailed: "Failed to query order status",
25
- payment_refundFailed: "Refund request failed",
26
- payment_closeOrderFailed: "Failed to close order",
27
- payment_notifyVerifyFailed: "Payment notification verification failed",
28
- payment_notifyParseFailed: "Failed to parse payment notification",
29
- payment_signFailed: "Payment signature generation failed",
30
- payment_providerNotFound: "Payment provider not found",
31
- payment_invalidAmount: "Invalid payment amount",
32
- payment_notInitialized: "Payment module not initialized, call payment.init() first",
33
- payment_invokeWebFailed: "Failed to invoke web payment",
34
- payment_invokeAppFailed: "Failed to invoke app payment",
35
- payment_configError: "Payment config validation failed: {error}",
36
- payment_initFailed: "Payment module initialization failed: {error}",
37
- payment_configFieldRequired: "This config field is required"
38
- };
39
-
40
- // messages/zh-CN.json
41
- var zh_CN_default = {
42
- payment_createOrderFailed: "\u521B\u5EFA\u652F\u4ED8\u8BA2\u5355\u5931\u8D25",
43
- payment_queryOrderFailed: "\u67E5\u8BE2\u8BA2\u5355\u72B6\u6001\u5931\u8D25",
44
- payment_refundFailed: "\u9000\u6B3E\u8BF7\u6C42\u5931\u8D25",
45
- payment_closeOrderFailed: "\u5173\u95ED\u8BA2\u5355\u5931\u8D25",
46
- payment_notifyVerifyFailed: "\u652F\u4ED8\u56DE\u8C03\u9A8C\u7B7E\u5931\u8D25",
47
- payment_notifyParseFailed: "\u89E3\u6790\u652F\u4ED8\u56DE\u8C03\u5931\u8D25",
48
- payment_signFailed: "\u652F\u4ED8\u7B7E\u540D\u751F\u6210\u5931\u8D25",
49
- payment_providerNotFound: "\u672A\u627E\u5230\u652F\u4ED8 Provider",
50
- payment_invalidAmount: "\u652F\u4ED8\u91D1\u989D\u65E0\u6548",
51
- payment_notInitialized: "\u652F\u4ED8\u6A21\u5757\u672A\u521D\u59CB\u5316\uFF0C\u8BF7\u5148\u8C03\u7528 payment.init()",
52
- payment_invokeWebFailed: "\u8C03\u8D77\u7F51\u9875\u652F\u4ED8\u5931\u8D25",
53
- payment_invokeAppFailed: "\u8C03\u8D77 App \u652F\u4ED8\u5931\u8D25",
54
- payment_configError: "\u652F\u4ED8\u6A21\u5757\u914D\u7F6E\u6821\u9A8C\u5931\u8D25\uFF1A{error}",
55
- payment_initFailed: "\u652F\u4ED8\u6A21\u5757\u521D\u59CB\u5316\u5931\u8D25\uFF1A{error}",
56
- payment_configFieldRequired: "\u6B64\u914D\u7F6E\u5B57\u6BB5\u5FC5\u586B"
57
- };
58
-
59
- // src/payment-i18n.ts
60
- var paymentM = core.i18n.createMessageGetter({
61
- "zh-CN": zh_CN_default,
62
- "en-US": en_US_default
63
- });
64
-
65
- export { HaiPaymentError, paymentM };
66
- //# sourceMappingURL=chunk-4IUARFWH.js.map
67
- //# sourceMappingURL=chunk-4IUARFWH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/payment-types.ts","../messages/en-US.json","../messages/zh-CN.json","../src/payment-i18n.ts"],"names":["core"],"mappings":";;;AAaA,IAAM,gBAAA,GAAmB;AAAA,EACvB,mBAAA,EAAqB,SAAA;AAAA,EACrB,kBAAA,EAAoB,SAAA;AAAA,EACpB,aAAA,EAAe,SAAA;AAAA,EACf,kBAAA,EAAoB,SAAA;AAAA,EACpB,eAAA,EAAiB,SAAA;AAAA,EACjB,WAAA,EAAa,SAAA;AAAA,EACb,kBAAA,EAAoB,SAAA;AAAA,EACpB,cAAA,EAAgB,SAAA;AAAA,EAChB,oBAAA,EAAsB,SAAA;AAAA,EACtB,mBAAA,EAAqB,SAAA;AAAA,EACrB,iBAAA,EAAmB,SAAA;AAAA,EACnB,iBAAA,EAAmB,SAAA;AAAA,EACnB,YAAA,EAAc;AAChB,CAAA;AAEO,IAAM,eAAA,GAAkB,IAAA,CAAK,KAAA,CAAM,iBAAA,CAAkB,WAAW,gBAAgB;;;AC7BvF,IAAA,aAAA,GAAA;AAAA,EACE,yBAAA,EAA6B,gCAAA;AAAA,EAC7B,wBAAA,EAA4B,8BAAA;AAAA,EAC5B,oBAAA,EAAwB,uBAAA;AAAA,EACxB,wBAAA,EAA4B,uBAAA;AAAA,EAC5B,0BAAA,EAA8B,0CAAA;AAAA,EAC9B,yBAAA,EAA6B,sCAAA;AAAA,EAC7B,kBAAA,EAAsB,qCAAA;AAAA,EACtB,wBAAA,EAA4B,4BAAA;AAAA,EAC5B,qBAAA,EAAyB,wBAAA;AAAA,EACzB,sBAAA,EAA0B,2DAAA;AAAA,EAC1B,uBAAA,EAA2B,8BAAA;AAAA,EAC3B,uBAAA,EAA2B,8BAAA;AAAA,EAC3B,mBAAA,EAAuB,2CAAA;AAAA,EACvB,kBAAA,EAAsB,+CAAA;AAAA,EACtB,2BAAA,EAA+B;AACjC,CAAA;;;AChBA,IAAA,aAAA,GAAA;AAAA,EACE,yBAAA,EAA6B,kDAAA;AAAA,EAC7B,wBAAA,EAA4B,kDAAA;AAAA,EAC5B,oBAAA,EAAwB,sCAAA;AAAA,EACxB,wBAAA,EAA4B,sCAAA;AAAA,EAC5B,0BAAA,EAA8B,kDAAA;AAAA,EAC9B,yBAAA,EAA6B,kDAAA;AAAA,EAC7B,kBAAA,EAAsB,kDAAA;AAAA,EACtB,wBAAA,EAA4B,yCAAA;AAAA,EAC5B,qBAAA,EAAyB,sCAAA;AAAA,EACzB,sBAAA,EAA0B,+FAAA;AAAA,EAC1B,uBAAA,EAA2B,kDAAA;AAAA,EAC3B,uBAAA,EAA2B,2CAAA;AAAA,EAC3B,mBAAA,EAAuB,2EAAA;AAAA,EACvB,kBAAA,EAAsB,qEAAA;AAAA,EACtB,2BAAA,EAA+B;AACjC,CAAA;;;ACGO,IAAM,QAAA,GAAWA,IAAAA,CAAK,IAAA,CAAK,mBAAA,CAAuC;AAAA,EACvE,OAAA,EAAS,aAAA;AAAA,EACT,OAAA,EAAS;AACX,CAAC","file":"chunk-4IUARFWH.js","sourcesContent":["/**\n * @h-ai/payment — 类型定义\n *\n * 统一支付模块的公共类型、Provider 接口与错误类型。\n * @module payment-types\n */\n\nimport type { ErrorInfo, HaiResult } from '@h-ai/core'\nimport type { PaymentConfig, PaymentConfigInput } from './payment-config.js'\nimport { core } from '@h-ai/core'\n\n// ─── 错误定义(照 @h-ai/core 范式) ───\n\nconst PaymentErrorInfo = {\n CREATE_ORDER_FAILED: '001:500',\n QUERY_ORDER_FAILED: '002:500',\n REFUND_FAILED: '003:500',\n CLOSE_ORDER_FAILED: '004:500',\n NOT_INITIALIZED: '010:500',\n SIGN_FAILED: '020:500',\n PROVIDER_NOT_FOUND: '030:404',\n INVALID_AMOUNT: '040:400',\n NOTIFY_VERIFY_FAILED: '050:400',\n NOTIFY_PARSE_FAILED: '051:400',\n INVOKE_WEB_FAILED: '060:500',\n INVOKE_APP_FAILED: '061:500',\n CONFIG_ERROR: '070:500',\n} as const satisfies ErrorInfo\n\nexport const HaiPaymentError = core.error.buildHaiErrorsDef('payment', PaymentErrorInfo)\n\n// ─── 支付场景 ───\n\n/** 支付场景(tradeType) */\nexport type TradeType = 'jsapi' | 'h5' | 'app' | 'native' | 'mini_program'\n\n/** 订单状态 */\nexport type OrderStatusValue = 'pending' | 'paid' | 'closed' | 'refunded' | 'failed'\n\n// ─── 创建订单 ───\n\n/** 创建订单入参 */\nexport interface CreateOrderInput {\n /** 商户订单号 */\n orderNo: string\n /** 金额(分) */\n amount: number\n /** 币种(默认 CNY) */\n currency?: string\n /** 商品描述 */\n description: string\n /** 支付场景 */\n tradeType: TradeType\n /** 用户标识(微信 openid 等,jsapi 必填) */\n userId?: string\n /** 异步通知 URL */\n notifyUrl: string\n /** 附加数据(透传) */\n metadata?: Record<string, string>\n}\n\n/** 支付订单(返回给客户端调起支付) */\nexport interface PaymentOrder {\n /** Provider 名称 */\n provider: string\n /** 支付场景 */\n tradeType: TradeType\n /** 客户端调起参数(各平台差异) */\n clientParams: Record<string, unknown>\n /** 预支付 ID(如微信 prepay_id) */\n prepayId?: string\n}\n\n// ─── 回调通知 ───\n\n/** 回调请求(原始 HTTP 数据) */\nexport interface PaymentNotifyRequest {\n /** 请求 body */\n body: string\n /** 请求 headers */\n headers: Record<string, string>\n}\n\n/** 回调解析结果 */\nexport interface PaymentNotifyResult {\n /** 商户订单号 */\n orderNo: string\n /** 支付渠道交易号 */\n transactionId: string\n /** 支付金额(分) */\n amount: number\n /** 支付状态 */\n status: OrderStatusValue\n /** 支付时间 */\n paidAt?: Date\n /** 原始数据 */\n raw?: Record<string, unknown>\n}\n\n// ─── 查询订单 ───\n\n/** 订单状态查询结果 */\nexport interface OrderStatus {\n /** 商户订单号 */\n orderNo: string\n /** 渠道交易号 */\n transactionId?: string\n /** 订单状态 */\n status: OrderStatusValue\n /** 金额(分) */\n amount: number\n /** 支付时间 */\n paidAt?: Date\n}\n\n// ─── 退款 ───\n\n/** 退款入参 */\nexport interface RefundInput {\n /** 商户订单号 */\n orderNo: string\n /** 退款单号 */\n refundNo: string\n /** 退款金额(分) */\n amount: number\n /** 订单总金额(分),微信退款必填 */\n totalAmount?: number\n /** 退款原因 */\n reason?: string\n}\n\n/** 退款结果 */\nexport interface RefundResult {\n /** 退款单号 */\n refundNo: string\n /** 渠道退款 ID */\n refundId: string\n /** 退款状态 */\n status: 'processing' | 'success' | 'failed'\n}\n\n// ─── Provider 接口 ───\n\n/**\n * 支付 Provider 接口\n *\n * 各支付渠道(微信/支付宝/Stripe)实现此接口,\n * 由 payment 模块统一调度。\n */\nexport interface PaymentProvider {\n /** Provider 名称(如 'wechat', 'alipay', 'stripe') */\n readonly name: string\n\n /** 创建支付订单 */\n createOrder: (input: CreateOrderInput) => Promise<HaiResult<PaymentOrder>>\n\n /** 处理异步通知回调(验签 + 解析) */\n handleNotify: (request: PaymentNotifyRequest) => Promise<HaiResult<PaymentNotifyResult>>\n\n /** 查询订单状态 */\n queryOrder: (orderNo: string) => Promise<HaiResult<OrderStatus>>\n\n /** 申请退款 */\n refund: (input: RefundInput) => Promise<HaiResult<RefundResult>>\n\n /** 关闭订单 */\n closeOrder: (orderNo: string) => Promise<HaiResult<void>>\n}\n\n// ─── 函数接口 ───\n\n/** 支付模块函数接口 */\nexport interface PaymentFunctions {\n init: (config: PaymentConfigInput) => Promise<HaiResult<void>>\n close: () => Promise<void>\n readonly config: PaymentConfig | null\n readonly isInitialized: boolean\n createOrder: (providerName: string, input: CreateOrderInput) => Promise<HaiResult<PaymentOrder>>\n handleNotify: (providerName: string, request: PaymentNotifyRequest) => Promise<HaiResult<PaymentNotifyResult>>\n queryOrder: (providerName: string, orderNo: string) => Promise<HaiResult<OrderStatus>>\n refund: (providerName: string, input: RefundInput) => Promise<HaiResult<RefundResult>>\n closeOrder: (providerName: string, orderNo: string) => Promise<HaiResult<void>>\n getProvider: (name: string) => PaymentProvider | undefined\n registerProvider: (provider: PaymentProvider) => void\n}\n","{\n \"payment_createOrderFailed\": \"Failed to create payment order\",\n \"payment_queryOrderFailed\": \"Failed to query order status\",\n \"payment_refundFailed\": \"Refund request failed\",\n \"payment_closeOrderFailed\": \"Failed to close order\",\n \"payment_notifyVerifyFailed\": \"Payment notification verification failed\",\n \"payment_notifyParseFailed\": \"Failed to parse payment notification\",\n \"payment_signFailed\": \"Payment signature generation failed\",\n \"payment_providerNotFound\": \"Payment provider not found\",\n \"payment_invalidAmount\": \"Invalid payment amount\",\n \"payment_notInitialized\": \"Payment module not initialized, call payment.init() first\",\n \"payment_invokeWebFailed\": \"Failed to invoke web payment\",\n \"payment_invokeAppFailed\": \"Failed to invoke app payment\",\n \"payment_configError\": \"Payment config validation failed: {error}\",\n \"payment_initFailed\": \"Payment module initialization failed: {error}\",\n \"payment_configFieldRequired\": \"This config field is required\"\n}\n","{\n \"payment_createOrderFailed\": \"创建支付订单失败\",\n \"payment_queryOrderFailed\": \"查询订单状态失败\",\n \"payment_refundFailed\": \"退款请求失败\",\n \"payment_closeOrderFailed\": \"关闭订单失败\",\n \"payment_notifyVerifyFailed\": \"支付回调验签失败\",\n \"payment_notifyParseFailed\": \"解析支付回调失败\",\n \"payment_signFailed\": \"支付签名生成失败\",\n \"payment_providerNotFound\": \"未找到支付 Provider\",\n \"payment_invalidAmount\": \"支付金额无效\",\n \"payment_notInitialized\": \"支付模块未初始化,请先调用 payment.init()\",\n \"payment_invokeWebFailed\": \"调起网页支付失败\",\n \"payment_invokeAppFailed\": \"调起 App 支付失败\",\n \"payment_configError\": \"支付模块配置校验失败:{error}\",\n \"payment_initFailed\": \"支付模块初始化失败:{error}\",\n \"payment_configFieldRequired\": \"此配置字段必填\"\n}\n","/**\n * @h-ai/payment — i18n\n *\n * 模块 i18n 文案访问入口。\n * @module payment-i18n\n */\n\nimport { core } from '@h-ai/core'\nimport messagesEnUS from '../messages/en-US.json'\nimport messagesZhCN from '../messages/zh-CN.json'\n\ntype PaymentMessageKey = keyof typeof messagesZhCN\n\n/**\n * payment 模块 i18n 文案获取器\n *\n * @param key - 文案 Key\n * @returns 本地化后的文案字符串\n */\nexport const paymentM = core.i18n.createMessageGetter<PaymentMessageKey>({\n 'zh-CN': messagesZhCN,\n 'en-US': messagesEnUS,\n})\n"]}
@@ -1,209 +0,0 @@
1
- import * as _h_ai_core from '@h-ai/core';
2
- import { HaiResult } from '@h-ai/core';
3
- import { z } from 'zod';
4
-
5
- /**
6
- * @h-ai/payment — 错误码 + 配置 Schema
7
- *
8
- * 支付模块的错误码、Zod 配置 Schema 与配置类型。
9
- * @module payment-config
10
- */
11
-
12
- /** 微信支付配置 Schema */
13
- declare const WechatPayConfigSchema: z.ZodObject<{
14
- mchId: z.ZodString;
15
- apiV3Key: z.ZodString;
16
- serialNo: z.ZodString;
17
- privateKey: z.ZodString;
18
- platformCert: z.ZodOptional<z.ZodString>;
19
- appId: z.ZodString;
20
- }, z.core.$strip>;
21
- /** 支付宝配置 Schema */
22
- declare const AlipayConfigSchema: z.ZodObject<{
23
- appId: z.ZodString;
24
- privateKey: z.ZodString;
25
- alipayPublicKey: z.ZodString;
26
- signType: z.ZodDefault<z.ZodEnum<{
27
- RSA2: "RSA2";
28
- RSA: "RSA";
29
- }>>;
30
- sandbox: z.ZodDefault<z.ZodBoolean>;
31
- }, z.core.$strip>;
32
- /** Stripe 配置 Schema */
33
- declare const StripeConfigSchema: z.ZodObject<{
34
- secretKey: z.ZodString;
35
- webhookSecret: z.ZodString;
36
- }, z.core.$strip>;
37
- /** 支付模块配置 Schema */
38
- declare const PaymentConfigSchema: z.ZodObject<{
39
- wechat: z.ZodOptional<z.ZodObject<{
40
- mchId: z.ZodString;
41
- apiV3Key: z.ZodString;
42
- serialNo: z.ZodString;
43
- privateKey: z.ZodString;
44
- platformCert: z.ZodOptional<z.ZodString>;
45
- appId: z.ZodString;
46
- }, z.core.$strip>>;
47
- alipay: z.ZodOptional<z.ZodObject<{
48
- appId: z.ZodString;
49
- privateKey: z.ZodString;
50
- alipayPublicKey: z.ZodString;
51
- signType: z.ZodDefault<z.ZodEnum<{
52
- RSA2: "RSA2";
53
- RSA: "RSA";
54
- }>>;
55
- sandbox: z.ZodDefault<z.ZodBoolean>;
56
- }, z.core.$strip>>;
57
- stripe: z.ZodOptional<z.ZodObject<{
58
- secretKey: z.ZodString;
59
- webhookSecret: z.ZodString;
60
- }, z.core.$strip>>;
61
- }, z.core.$strip>;
62
- type PaymentConfig = z.infer<typeof PaymentConfigSchema>;
63
- type PaymentConfigInput = z.input<typeof PaymentConfigSchema>;
64
- type WechatPayConfig = z.infer<typeof WechatPayConfigSchema>;
65
- type AlipayConfig = z.infer<typeof AlipayConfigSchema>;
66
- type StripeConfig = z.infer<typeof StripeConfigSchema>;
67
-
68
- declare const HaiPaymentError: {
69
- readonly CREATE_ORDER_FAILED: _h_ai_core.HaiErrorDef;
70
- readonly QUERY_ORDER_FAILED: _h_ai_core.HaiErrorDef;
71
- readonly REFUND_FAILED: _h_ai_core.HaiErrorDef;
72
- readonly CLOSE_ORDER_FAILED: _h_ai_core.HaiErrorDef;
73
- readonly NOT_INITIALIZED: _h_ai_core.HaiErrorDef;
74
- readonly SIGN_FAILED: _h_ai_core.HaiErrorDef;
75
- readonly PROVIDER_NOT_FOUND: _h_ai_core.HaiErrorDef;
76
- readonly INVALID_AMOUNT: _h_ai_core.HaiErrorDef;
77
- readonly NOTIFY_VERIFY_FAILED: _h_ai_core.HaiErrorDef;
78
- readonly NOTIFY_PARSE_FAILED: _h_ai_core.HaiErrorDef;
79
- readonly INVOKE_WEB_FAILED: _h_ai_core.HaiErrorDef;
80
- readonly INVOKE_APP_FAILED: _h_ai_core.HaiErrorDef;
81
- readonly CONFIG_ERROR: _h_ai_core.HaiErrorDef;
82
- };
83
- /** 支付场景(tradeType) */
84
- type TradeType = 'jsapi' | 'h5' | 'app' | 'native' | 'mini_program';
85
- /** 订单状态 */
86
- type OrderStatusValue = 'pending' | 'paid' | 'closed' | 'refunded' | 'failed';
87
- /** 创建订单入参 */
88
- interface CreateOrderInput {
89
- /** 商户订单号 */
90
- orderNo: string;
91
- /** 金额(分) */
92
- amount: number;
93
- /** 币种(默认 CNY) */
94
- currency?: string;
95
- /** 商品描述 */
96
- description: string;
97
- /** 支付场景 */
98
- tradeType: TradeType;
99
- /** 用户标识(微信 openid 等,jsapi 必填) */
100
- userId?: string;
101
- /** 异步通知 URL */
102
- notifyUrl: string;
103
- /** 附加数据(透传) */
104
- metadata?: Record<string, string>;
105
- }
106
- /** 支付订单(返回给客户端调起支付) */
107
- interface PaymentOrder {
108
- /** Provider 名称 */
109
- provider: string;
110
- /** 支付场景 */
111
- tradeType: TradeType;
112
- /** 客户端调起参数(各平台差异) */
113
- clientParams: Record<string, unknown>;
114
- /** 预支付 ID(如微信 prepay_id) */
115
- prepayId?: string;
116
- }
117
- /** 回调请求(原始 HTTP 数据) */
118
- interface PaymentNotifyRequest {
119
- /** 请求 body */
120
- body: string;
121
- /** 请求 headers */
122
- headers: Record<string, string>;
123
- }
124
- /** 回调解析结果 */
125
- interface PaymentNotifyResult {
126
- /** 商户订单号 */
127
- orderNo: string;
128
- /** 支付渠道交易号 */
129
- transactionId: string;
130
- /** 支付金额(分) */
131
- amount: number;
132
- /** 支付状态 */
133
- status: OrderStatusValue;
134
- /** 支付时间 */
135
- paidAt?: Date;
136
- /** 原始数据 */
137
- raw?: Record<string, unknown>;
138
- }
139
- /** 订单状态查询结果 */
140
- interface OrderStatus {
141
- /** 商户订单号 */
142
- orderNo: string;
143
- /** 渠道交易号 */
144
- transactionId?: string;
145
- /** 订单状态 */
146
- status: OrderStatusValue;
147
- /** 金额(分) */
148
- amount: number;
149
- /** 支付时间 */
150
- paidAt?: Date;
151
- }
152
- /** 退款入参 */
153
- interface RefundInput {
154
- /** 商户订单号 */
155
- orderNo: string;
156
- /** 退款单号 */
157
- refundNo: string;
158
- /** 退款金额(分) */
159
- amount: number;
160
- /** 订单总金额(分),微信退款必填 */
161
- totalAmount?: number;
162
- /** 退款原因 */
163
- reason?: string;
164
- }
165
- /** 退款结果 */
166
- interface RefundResult {
167
- /** 退款单号 */
168
- refundNo: string;
169
- /** 渠道退款 ID */
170
- refundId: string;
171
- /** 退款状态 */
172
- status: 'processing' | 'success' | 'failed';
173
- }
174
- /**
175
- * 支付 Provider 接口
176
- *
177
- * 各支付渠道(微信/支付宝/Stripe)实现此接口,
178
- * 由 payment 模块统一调度。
179
- */
180
- interface PaymentProvider {
181
- /** Provider 名称(如 'wechat', 'alipay', 'stripe') */
182
- readonly name: string;
183
- /** 创建支付订单 */
184
- createOrder: (input: CreateOrderInput) => Promise<HaiResult<PaymentOrder>>;
185
- /** 处理异步通知回调(验签 + 解析) */
186
- handleNotify: (request: PaymentNotifyRequest) => Promise<HaiResult<PaymentNotifyResult>>;
187
- /** 查询订单状态 */
188
- queryOrder: (orderNo: string) => Promise<HaiResult<OrderStatus>>;
189
- /** 申请退款 */
190
- refund: (input: RefundInput) => Promise<HaiResult<RefundResult>>;
191
- /** 关闭订单 */
192
- closeOrder: (orderNo: string) => Promise<HaiResult<void>>;
193
- }
194
- /** 支付模块函数接口 */
195
- interface PaymentFunctions {
196
- init: (config: PaymentConfigInput) => Promise<HaiResult<void>>;
197
- close: () => Promise<void>;
198
- readonly config: PaymentConfig | null;
199
- readonly isInitialized: boolean;
200
- createOrder: (providerName: string, input: CreateOrderInput) => Promise<HaiResult<PaymentOrder>>;
201
- handleNotify: (providerName: string, request: PaymentNotifyRequest) => Promise<HaiResult<PaymentNotifyResult>>;
202
- queryOrder: (providerName: string, orderNo: string) => Promise<HaiResult<OrderStatus>>;
203
- refund: (providerName: string, input: RefundInput) => Promise<HaiResult<RefundResult>>;
204
- closeOrder: (providerName: string, orderNo: string) => Promise<HaiResult<void>>;
205
- getProvider: (name: string) => PaymentProvider | undefined;
206
- registerProvider: (provider: PaymentProvider) => void;
207
- }
208
-
209
- export { type AlipayConfig as A, type CreateOrderInput as C, HaiPaymentError as H, type OrderStatus as O, type PaymentFunctions as P, type RefundInput as R, type StripeConfig as S, type TradeType as T, type WechatPayConfig as W, AlipayConfigSchema as a, type OrderStatusValue as b, type PaymentConfig as c, type PaymentConfigInput as d, PaymentConfigSchema as e, type PaymentNotifyRequest as f, type PaymentNotifyResult as g, type PaymentOrder as h, type PaymentProvider as i, type RefundResult as j, StripeConfigSchema as k, WechatPayConfigSchema as l };