@downcity/services 0.1.66 → 0.1.69

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 (55) hide show
  1. package/bin/accounts/index.d.ts +1 -5
  2. package/bin/accounts/index.d.ts.map +1 -1
  3. package/bin/accounts/index.js +1 -4
  4. package/bin/accounts/index.js.map +1 -1
  5. package/bin/balance/index.d.ts +1 -1
  6. package/bin/balance/index.d.ts.map +1 -1
  7. package/bin/balance/index.js +1 -1
  8. package/bin/balance/index.js.map +1 -1
  9. package/bin/balance/service.d.ts +0 -4
  10. package/bin/balance/service.d.ts.map +1 -1
  11. package/bin/balance/service.js +0 -6
  12. package/bin/balance/service.js.map +1 -1
  13. package/bin/billing/index.d.ts +1 -1
  14. package/bin/billing/index.d.ts.map +1 -1
  15. package/bin/billing/index.js +1 -1
  16. package/bin/billing/index.js.map +1 -1
  17. package/bin/billing/service.d.ts +0 -4
  18. package/bin/billing/service.d.ts.map +1 -1
  19. package/bin/billing/service.js +0 -6
  20. package/bin/billing/service.js.map +1 -1
  21. package/bin/index.d.ts +6 -6
  22. package/bin/index.d.ts.map +1 -1
  23. package/bin/index.js +5 -5
  24. package/bin/index.js.map +1 -1
  25. package/bin/payment/helpers.d.ts +68 -0
  26. package/bin/payment/helpers.d.ts.map +1 -0
  27. package/bin/payment/helpers.js +148 -0
  28. package/bin/payment/helpers.js.map +1 -0
  29. package/bin/payment/index.d.ts +10 -28
  30. package/bin/payment/index.d.ts.map +1 -1
  31. package/bin/payment/index.js +9 -890
  32. package/bin/payment/index.js.map +1 -1
  33. package/bin/payment/providers.d.ts +25 -0
  34. package/bin/payment/providers.d.ts.map +1 -0
  35. package/bin/payment/providers.js +415 -0
  36. package/bin/payment/providers.js.map +1 -0
  37. package/bin/payment/routes.d.ts +29 -0
  38. package/bin/payment/routes.d.ts.map +1 -0
  39. package/bin/payment/routes.js +394 -0
  40. package/bin/payment/routes.js.map +1 -0
  41. package/bin/payment/service.d.ts +448 -0
  42. package/bin/payment/service.d.ts.map +1 -0
  43. package/bin/payment/service.js +72 -0
  44. package/bin/payment/service.js.map +1 -0
  45. package/bin/payment/types.d.ts +11 -18
  46. package/bin/payment/types.d.ts.map +1 -1
  47. package/bin/usage/index.d.ts +3 -174
  48. package/bin/usage/index.d.ts.map +1 -1
  49. package/bin/usage/index.js +2 -117
  50. package/bin/usage/index.js.map +1 -1
  51. package/bin/usage/service.d.ts +353 -0
  52. package/bin/usage/service.d.ts.map +1 -0
  53. package/bin/usage/service.js +140 -0
  54. package/bin/usage/service.js.map +1 -0
  55. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payment/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payment/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Payment provider 工厂函数。
3
+ *
4
+ * 关键点(中文)
5
+ * - Stripe / Creem / Dodo / Waffo 只是 provider,不是 service。
6
+ * - 每个 provider 实现统一的 PaymentProvider 接口即可被 PaymentService 挂载。
7
+ */
8
+ import type { CreemPaymentProviderOptions, DodoPaymentProviderOptions, PaymentProvider, StripePaymentProviderOptions, WaffoPaymentProviderOptions } from "./types.js";
9
+ /**
10
+ * 创建 Stripe payment provider。
11
+ */
12
+ export declare function stripePaymentProvider(options?: StripePaymentProviderOptions): PaymentProvider;
13
+ /**
14
+ * 创建 Creem payment provider。
15
+ */
16
+ export declare function creemPaymentProvider(options?: CreemPaymentProviderOptions): PaymentProvider;
17
+ /**
18
+ * 创建 Dodo Payments provider。
19
+ */
20
+ export declare function dodoPaymentProvider(options?: DodoPaymentProviderOptions): PaymentProvider;
21
+ /**
22
+ * 创建 Waffo Pancake provider。
23
+ */
24
+ export declare function waffoPaymentProvider(options?: WaffoPaymentProviderOptions): PaymentProvider;
25
+ //# sourceMappingURL=providers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/payment/providers.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsCH,OAAO,KAAK,EACV,2BAA2B,EAC3B,0BAA0B,EAC1B,eAAe,EACf,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,eAAe,CAgFjG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,eAAe,CA+E/F;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,0BAA+B,GAAG,eAAe,CA2F7F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,eAAe,CAyF/F"}
@@ -0,0 +1,415 @@
1
+ /**
2
+ * Payment provider 工厂函数。
3
+ *
4
+ * 关键点(中文)
5
+ * - Stripe / Creem / Dodo / Waffo 只是 provider,不是 service。
6
+ * - 每个 provider 实现统一的 PaymentProvider 接口即可被 PaymentService 挂载。
7
+ */
8
+ import { createCreemCheckoutSession, normalizeCreemApiBaseURL, parseCreemWebhookEvent, readMetadata as readCreemMetadata, verifyCreemSignature, } from "../payment-creem/creem.js";
9
+ import { createDodoCheckoutSession, createDodoClient, normalizeDodoEnvironment, parseDodoWebhookEvent, readMetadata as readDodoMetadata, } from "../payment-dodo/dodo.js";
10
+ import { createStripeCheckoutSession, normalizeStripeApiBaseURL, parseStripeWebhookEvent, readMetadata as readStripeMetadata, verifyStripeSignature, } from "../payment-stripe/stripe.js";
11
+ import { createWaffoCheckoutSession, createWaffoClient, normalizeWaffoEnvironment, parseWaffoWebhookEvent, readMetadata as readWaffoMetadata, } from "../payment-waffo/waffo.js";
12
+ import { normalizeCurrency, normalizeOptionalText, normalizeRequired, paymentMethodItem, randomId, readObjectId, } from "./helpers.js";
13
+ /**
14
+ * 创建 Stripe payment provider。
15
+ */
16
+ export function stripePaymentProvider(options = {}) {
17
+ return {
18
+ id: "stripe",
19
+ label: options.label?.trim() || "Stripe",
20
+ env: [
21
+ { key: "STRIPE_SECRET_KEY", description: "Stripe secret key,用于创建 Checkout Session", required: true },
22
+ { key: "STRIPE_WEBHOOK_SECRET", description: "Stripe webhook signing secret,用于校验 stripe-signature", required: false },
23
+ { key: "STRIPE_CURRENCY", description: "默认结算币种,例如 usd", required: false },
24
+ { key: "STRIPE_ITEM_NAME", description: "Stripe Checkout 展示的默认商品名", required: false },
25
+ { key: "STRIPE_API_BASE_URL", description: "可选的 Stripe API 基础地址覆写,通常只用于测试环境", required: false },
26
+ ],
27
+ method(ctx) {
28
+ const enabled = Boolean(options.secret_key || ctx.env("STRIPE_SECRET_KEY"));
29
+ return paymentMethodItem({
30
+ id: "stripe",
31
+ enabled,
32
+ label: options.label?.trim() || "Stripe",
33
+ currency: normalizeCurrency(ctx.env("STRIPE_CURRENCY")) || normalizeCurrency(options.currency) || "usd",
34
+ });
35
+ },
36
+ async createCheckout(input) {
37
+ const secretKey = options.secret_key ?? input.ctx.env("STRIPE_SECRET_KEY");
38
+ if (!secretKey)
39
+ throw new Error("Stripe secret key is not configured");
40
+ const created = await createStripeCheckoutSession(secretKey, normalizeStripeApiBaseURL(input.ctx.env("STRIPE_API_BASE_URL") || options.api_base_url), {
41
+ payment_id: input.payment_id,
42
+ topup: input.topup,
43
+ currency: normalizeCurrency(input.ctx.env("STRIPE_CURRENCY")) || normalizeCurrency(options.currency) || "usd",
44
+ success_url: input.success_url,
45
+ cancel_url: input.cancel_url,
46
+ item_name: normalizeOptionalText(input.ctx.env("STRIPE_ITEM_NAME")) || normalizeOptionalText(options.item_name) || "Downcity Topup",
47
+ });
48
+ return {
49
+ provider_session_id: created.session_id,
50
+ provider_payment_id: created.payment_intent_id,
51
+ checkout_url: created.checkout_url,
52
+ };
53
+ },
54
+ async parseWebhook(input) {
55
+ const webhookSecret = options.webhook_secret ?? input.ctx.env("STRIPE_WEBHOOK_SECRET");
56
+ if (webhookSecret) {
57
+ const valid = await verifyStripeSignature(input.raw, input.request.headers.get("stripe-signature"), webhookSecret);
58
+ if (!valid)
59
+ throw new Error("Invalid Stripe signature");
60
+ }
61
+ const event = parseStripeWebhookEvent(input.raw);
62
+ const object = readStripeMetadata(event.data?.object);
63
+ const metadata = readStripeMetadata(object.metadata);
64
+ const type = normalizeOptionalText(event.type) || "unknown";
65
+ const status = type === "checkout.session.completed"
66
+ ? "paid"
67
+ : type === "checkout.session.expired"
68
+ ? "expired"
69
+ : type === "payment_intent.payment_failed"
70
+ ? "failed"
71
+ : "ignored";
72
+ const isPaymentIntent = type === "payment_intent.payment_failed";
73
+ return {
74
+ event_id: normalizeRequired(event.id, "stripe event id"),
75
+ type,
76
+ payload: event,
77
+ status,
78
+ payment_id: normalizeOptionalText(metadata.payment_id),
79
+ topup_id: normalizeOptionalText(metadata.topup_id) || normalizeOptionalText(object.client_reference_id),
80
+ provider_session_id: isPaymentIntent ? undefined : normalizeOptionalText(object.id),
81
+ provider_payment_id: isPaymentIntent
82
+ ? normalizeOptionalText(object.id)
83
+ : normalizeOptionalText(object.payment_intent),
84
+ ref: normalizeOptionalText(object.id),
85
+ meta: {
86
+ provider: "stripe",
87
+ stripe_event_id: normalizeOptionalText(event.id),
88
+ stripe_checkout_session_id: isPaymentIntent ? undefined : normalizeOptionalText(object.id),
89
+ stripe_payment_intent_id: isPaymentIntent ? normalizeOptionalText(object.id) : normalizeOptionalText(object.payment_intent),
90
+ },
91
+ };
92
+ },
93
+ };
94
+ }
95
+ /**
96
+ * 创建 Creem payment provider。
97
+ */
98
+ export function creemPaymentProvider(options = {}) {
99
+ return {
100
+ id: "creem",
101
+ label: options.label?.trim() || "Creem",
102
+ env: [
103
+ { key: "CREEM_API_KEY", description: "Creem API key,用于创建 Checkout Session", required: true },
104
+ { key: "CREEM_PRODUCT_ID", description: "Creem product_id,用于创建 Checkout Session", required: true },
105
+ { key: "CREEM_WEBHOOK_SECRET", description: "Creem webhook signing secret,用于校验 creem-signature", required: false },
106
+ { key: "CREEM_CURRENCY", description: "默认结算币种,例如 usd;仅用于支付目录展示和本地记录", required: false },
107
+ { key: "CREEM_API_BASE_URL", description: "可选的 Creem API 基础地址覆写,通常只用于测试环境", required: false },
108
+ ],
109
+ method(ctx) {
110
+ const enabled = Boolean((options.api_key || ctx.env("CREEM_API_KEY")) && (options.product_id || ctx.env("CREEM_PRODUCT_ID")));
111
+ return paymentMethodItem({
112
+ id: "creem",
113
+ enabled,
114
+ label: options.label?.trim() || "Creem",
115
+ currency: normalizeCurrency(ctx.env("CREEM_CURRENCY")) || normalizeCurrency(options.currency) || "usd",
116
+ });
117
+ },
118
+ async createCheckout(input) {
119
+ const apiKey = options.api_key ?? input.ctx.env("CREEM_API_KEY");
120
+ const productId = options.product_id ?? input.ctx.env("CREEM_PRODUCT_ID");
121
+ if (!apiKey)
122
+ throw new Error("Creem API key is not configured");
123
+ if (!productId)
124
+ throw new Error("Creem product id is not configured");
125
+ const created = await createCreemCheckoutSession(apiKey, normalizeCreemApiBaseURL(input.ctx.env("CREEM_API_BASE_URL") || options.api_base_url), {
126
+ payment_id: input.payment_id,
127
+ topup: input.topup,
128
+ product_id: productId,
129
+ success_url: input.success_url,
130
+ });
131
+ return {
132
+ provider_session_id: created.checkout_id,
133
+ checkout_url: created.checkout_url,
134
+ metadata: { product_id: productId },
135
+ };
136
+ },
137
+ async parseWebhook(input) {
138
+ const webhookSecret = options.webhook_secret ?? input.ctx.env("CREEM_WEBHOOK_SECRET");
139
+ if (webhookSecret) {
140
+ const valid = await verifyCreemSignature(input.raw, input.request.headers.get("creem-signature"), webhookSecret);
141
+ if (!valid)
142
+ throw new Error("Invalid Creem signature");
143
+ }
144
+ const event = parseCreemWebhookEvent(input.raw);
145
+ const object = readCreemEventObject(event);
146
+ const metadata = readCreemMetadata(object.metadata);
147
+ const type = normalizeOptionalText(event.eventType) || normalizeOptionalText(event.type) || "unknown";
148
+ const order = readCreemMetadata(object.order);
149
+ const orderId = readObjectId(order) || normalizeOptionalText(object.order_id);
150
+ const checkoutId = readObjectId(object) || normalizeOptionalText(object.checkout_id);
151
+ return {
152
+ event_id: normalizeRequired(event.id, "creem event id"),
153
+ type,
154
+ payload: event,
155
+ status: type === "checkout.completed"
156
+ ? "paid"
157
+ : type === "checkout.expired"
158
+ ? "expired"
159
+ : type === "checkout.failed" || type === "payment.failed"
160
+ ? "failed"
161
+ : "ignored",
162
+ payment_id: normalizeOptionalText(metadata.payment_id) || normalizeOptionalText(object.request_id),
163
+ topup_id: normalizeOptionalText(metadata.topup_id),
164
+ provider_session_id: checkoutId,
165
+ provider_order_id: orderId,
166
+ ref: orderId || checkoutId,
167
+ meta: {
168
+ provider: "creem",
169
+ creem_event_id: normalizeOptionalText(event.id),
170
+ creem_checkout_id: checkoutId,
171
+ creem_order_id: orderId,
172
+ },
173
+ };
174
+ },
175
+ };
176
+ }
177
+ /**
178
+ * 创建 Dodo Payments provider。
179
+ */
180
+ export function dodoPaymentProvider(options = {}) {
181
+ return {
182
+ id: "dodo",
183
+ label: options.label?.trim() || "Dodo Payments",
184
+ env: [
185
+ { key: "DODO_PAYMENTS_API_KEY", description: "Dodo Payments API key,用于创建 Checkout Session", required: true },
186
+ { key: "DODO_PRODUCT_ID", description: "Dodo product_id,用于创建 Checkout Session", required: true },
187
+ { key: "DODO_WEBHOOK_KEY", description: "Dodo webhook signing key,用于校验 webhook", required: false },
188
+ { key: "DODO_ENVIRONMENT", description: "Dodo SDK 环境:test_mode 或 live_mode;默认 test_mode", required: false },
189
+ { key: "DODO_CURRENCY", description: "默认结算币种,例如 usd", required: false },
190
+ { key: "DODO_API_BASE_URL", description: "可选的 Dodo API 基础地址覆写,通常只用于测试环境", required: false },
191
+ ],
192
+ method(ctx) {
193
+ const enabled = Boolean((options.api_key || ctx.env("DODO_PAYMENTS_API_KEY")) && (options.product_id || ctx.env("DODO_PRODUCT_ID")));
194
+ return paymentMethodItem({
195
+ id: "dodo",
196
+ enabled,
197
+ label: options.label?.trim() || "Dodo Payments",
198
+ currency: normalizeCurrency(ctx.env("DODO_CURRENCY")) || normalizeCurrency(options.currency) || "usd",
199
+ });
200
+ },
201
+ async createCheckout(input) {
202
+ const apiKey = options.api_key ?? input.ctx.env("DODO_PAYMENTS_API_KEY");
203
+ const productId = options.product_id ?? input.ctx.env("DODO_PRODUCT_ID");
204
+ if (!apiKey)
205
+ throw new Error("Dodo API key is not configured");
206
+ if (!productId)
207
+ throw new Error("Dodo product id is not configured");
208
+ const client = createDodoClient({
209
+ api_key: apiKey,
210
+ webhook_key: options.webhook_key ?? input.ctx.env("DODO_WEBHOOK_KEY"),
211
+ environment: normalizeDodoEnvironment(input.ctx.env("DODO_ENVIRONMENT") || options.environment),
212
+ api_base_url: options.api_base_url ?? input.ctx.env("DODO_API_BASE_URL"),
213
+ });
214
+ const created = await createDodoCheckoutSession(client, {
215
+ payment_id: input.payment_id,
216
+ topup: input.topup,
217
+ product_id: productId,
218
+ currency: normalizeCurrency(input.ctx.env("DODO_CURRENCY")) || normalizeCurrency(options.currency) || "usd",
219
+ return_url: input.success_url,
220
+ cancel_url: input.cancel_url,
221
+ });
222
+ return {
223
+ provider_session_id: created.checkout_session_id,
224
+ provider_payment_id: created.dodo_payment_id,
225
+ checkout_url: created.checkout_url,
226
+ metadata: { product_id: productId },
227
+ };
228
+ },
229
+ async parseWebhook(input) {
230
+ const webhookKey = options.webhook_key ?? input.ctx.env("DODO_WEBHOOK_KEY");
231
+ const client = createDodoClient({
232
+ api_key: options.api_key ?? input.ctx.env("DODO_PAYMENTS_API_KEY") ?? "webhook_only",
233
+ webhook_key: webhookKey,
234
+ environment: normalizeDodoEnvironment(input.ctx.env("DODO_ENVIRONMENT") || options.environment),
235
+ api_base_url: options.api_base_url ?? input.ctx.env("DODO_API_BASE_URL"),
236
+ });
237
+ const event = parseDodoWebhookEvent({
238
+ client,
239
+ raw: input.raw,
240
+ headers: input.request.headers,
241
+ verify: Boolean(webhookKey),
242
+ });
243
+ const object = readDodoMetadata(event.data || event.object);
244
+ const metadata = readDodoMetadata(object.metadata);
245
+ const type = normalizeOptionalText(event.type) || normalizeOptionalText(event.eventType) || "unknown";
246
+ const providerPaymentId = normalizeOptionalText(object.payment_id) || normalizeOptionalText(object.id);
247
+ const checkoutSessionId = normalizeOptionalText(object.checkout_session_id);
248
+ return {
249
+ event_id: normalizeRequired(event.id || event.event_id || providerPaymentId || `evt_${randomId()}`, "dodo event id"),
250
+ type,
251
+ payload: event,
252
+ status: type === "payment.succeeded"
253
+ ? "paid"
254
+ : type === "payment.failed"
255
+ ? "failed"
256
+ : type === "payment.cancelled" || type === "payment.canceled"
257
+ ? "canceled"
258
+ : "ignored",
259
+ payment_id: normalizeOptionalText(metadata.payment_id),
260
+ topup_id: normalizeOptionalText(metadata.topup_id),
261
+ provider_session_id: checkoutSessionId,
262
+ provider_payment_id: providerPaymentId,
263
+ ref: providerPaymentId || checkoutSessionId,
264
+ meta: {
265
+ provider: "dodo",
266
+ dodo_event_id: normalizeOptionalText(event.id || event.event_id),
267
+ dodo_checkout_session_id: checkoutSessionId,
268
+ dodo_payment_id: providerPaymentId,
269
+ },
270
+ };
271
+ },
272
+ };
273
+ }
274
+ /**
275
+ * 创建 Waffo Pancake provider。
276
+ */
277
+ export function waffoPaymentProvider(options = {}) {
278
+ return {
279
+ id: "waffo",
280
+ label: options.label?.trim() || "Waffo Pancake",
281
+ env: [
282
+ { key: "WAFFO_MERCHANT_ID", description: "Waffo Merchant ID,例如 MER_xxx", required: true },
283
+ { key: "WAFFO_PRIVATE_KEY", description: "Waffo API private key,用于 SDK 请求签名", required: true },
284
+ { key: "WAFFO_PRODUCT_ID", description: "Waffo product_id,用于创建 Checkout Session", required: true },
285
+ { key: "WAFFO_WEBHOOK_PUBLIC_KEY", description: "Waffo webhook public key,用于校验 x-waffo-signature", required: false },
286
+ { key: "WAFFO_ENVIRONMENT", description: "Waffo 环境:test 或 prod;默认 test", required: false },
287
+ { key: "WAFFO_CURRENCY", description: "默认结算币种,例如 usd", required: false },
288
+ { key: "WAFFO_API_BASE_URL", description: "可选的 Waffo API 基础地址覆写,通常只用于测试环境", required: false },
289
+ ],
290
+ method(ctx) {
291
+ const enabled = Boolean((options.merchant_id || ctx.env("WAFFO_MERCHANT_ID")) &&
292
+ (options.private_key || ctx.env("WAFFO_PRIVATE_KEY")) &&
293
+ (options.product_id || ctx.env("WAFFO_PRODUCT_ID")));
294
+ return paymentMethodItem({
295
+ id: "waffo",
296
+ enabled,
297
+ label: options.label?.trim() || "Waffo Pancake",
298
+ currency: normalizeCurrency(ctx.env("WAFFO_CURRENCY")) || normalizeCurrency(options.currency) || "usd",
299
+ });
300
+ },
301
+ async createCheckout(input) {
302
+ const merchantId = options.merchant_id ?? input.ctx.env("WAFFO_MERCHANT_ID");
303
+ const privateKey = options.private_key ?? input.ctx.env("WAFFO_PRIVATE_KEY");
304
+ const productId = options.product_id ?? input.ctx.env("WAFFO_PRODUCT_ID");
305
+ if (!merchantId)
306
+ throw new Error("Waffo merchant id is not configured");
307
+ if (!privateKey)
308
+ throw new Error("Waffo private key is not configured");
309
+ if (!productId)
310
+ throw new Error("Waffo product id is not configured");
311
+ const client = createWaffoClient({
312
+ merchant_id: merchantId,
313
+ private_key: privateKey,
314
+ webhook_public_key: options.webhook_public_key ?? input.ctx.env("WAFFO_WEBHOOK_PUBLIC_KEY"),
315
+ api_base_url: options.api_base_url ?? input.ctx.env("WAFFO_API_BASE_URL"),
316
+ });
317
+ const created = await createWaffoCheckoutSession(client, {
318
+ payment_id: input.payment_id,
319
+ topup: input.topup,
320
+ product_id: productId,
321
+ currency: normalizeCurrency(input.ctx.env("WAFFO_CURRENCY")) || normalizeCurrency(options.currency) || "usd",
322
+ success_url: input.success_url,
323
+ });
324
+ return {
325
+ provider_session_id: created.session_id,
326
+ checkout_url: created.checkout_url,
327
+ metadata: { product_id: productId },
328
+ };
329
+ },
330
+ async parseWebhook(input) {
331
+ const client = createWaffoClient({
332
+ merchant_id: options.merchant_id ?? input.ctx.env("WAFFO_MERCHANT_ID") ?? "MER_webhook",
333
+ private_key: options.private_key ?? input.ctx.env("WAFFO_PRIVATE_KEY") ?? fallbackWaffoPrivateKey(),
334
+ webhook_public_key: options.webhook_public_key ?? input.ctx.env("WAFFO_WEBHOOK_PUBLIC_KEY"),
335
+ api_base_url: options.api_base_url ?? input.ctx.env("WAFFO_API_BASE_URL"),
336
+ });
337
+ const event = parseWaffoWebhookEvent({
338
+ client,
339
+ raw: input.raw,
340
+ signature: input.request.headers.get("x-waffo-signature"),
341
+ environment: normalizeWaffoEnvironment(input.ctx.env("WAFFO_ENVIRONMENT") || options.environment),
342
+ });
343
+ const data = readWaffoMetadata(event.data);
344
+ const metadata = readWaffoMetadata(data.orderMetadata);
345
+ const orderId = normalizeOptionalText(data.orderId);
346
+ const paymentId = normalizeOptionalText(data.paymentId) || normalizeOptionalText(event.eventId);
347
+ const type = normalizeOptionalText(event.eventType) || "unknown";
348
+ return {
349
+ event_id: normalizeRequired(event.id || event.eventId || `evt_${randomId()}`, "waffo event id"),
350
+ type,
351
+ payload: event,
352
+ status: type === "order.completed" ? "paid" : "ignored",
353
+ payment_id: normalizeOptionalText(data.orderMerchantExternalId),
354
+ topup_id: normalizeOptionalText(metadata.topup_id),
355
+ provider_payment_id: paymentId,
356
+ provider_order_id: orderId,
357
+ ref: paymentId || orderId,
358
+ meta: {
359
+ provider: "waffo",
360
+ waffo_event_id: normalizeOptionalText(event.id || event.eventId),
361
+ waffo_order_id: orderId,
362
+ waffo_payment_id: paymentId,
363
+ },
364
+ };
365
+ },
366
+ };
367
+ }
368
+ /**
369
+ * 读取 Creem webhook 事件对象。
370
+ */
371
+ function readCreemEventObject(event) {
372
+ const directObject = readCreemMetadata(event.object);
373
+ if (Object.keys(directObject).length > 0)
374
+ return directObject;
375
+ return readCreemMetadata(event.data?.object);
376
+ }
377
+ /**
378
+ * Waffo webhook-only fallback 私钥。
379
+ *
380
+ * 关键点(中文)
381
+ * - 仅用于 webhook-only 场景,让 SDK 能完成签名验证流程。
382
+ * - 不会用于任何真实请求,真实请求必须配置 WAFFO_PRIVATE_KEY。
383
+ */
384
+ function fallbackWaffoPrivateKey() {
385
+ return [
386
+ "-----BEGIN RSA PRIVATE KEY-----",
387
+ "MIIEpAIBAAKCAQEAtAqPA17F1sr9kylJy8LbcaHrim/UocR/ur3z5Vu7QQTUhuPO",
388
+ "pbsYnu1oFGwCsCjFhBBapI8/Huy9ARP3/Oxsp4kna9gEPLRSTMfUK5a0nPUnkHXv",
389
+ "DFgzIFYn1Yac/3FiA4zIA5BH+0ZUBu8cFZ1MvaPu7YFQvr165hOmwLnoJsypcY5V",
390
+ "Kjb8p+HjMXyiCy3gUId2DCJuUhjbtUo84gI3v4YAI6YD07pNUSm5wFDFKsYeymdV",
391
+ "QdtBhgPUx0RJDyhOKU1Vq8mge2b03ZiQK3O3gUmQgP0sAUpyyUrHaMjs/nAw9dqy",
392
+ "Wl0VyglAIcl79sRVUXTHgEHGf+j0pNcyVjIF2QIDAQABAoIBAAM1bPcSaVQ6qepF",
393
+ "ghsvjdmomRoOhCud5OjfGcmsqNmvzFnbFYO+oeGzOXejtSiOkXaZFAR6yRU0AupS",
394
+ "AMlxLT6PIzS41NqAHDdiGFXuiamCdQIOGASQTdj1sCAOFh43VxfZGnd1ytKfnj/B",
395
+ "Yy6/bu6yTT/OXjIIDnirQP2OUqTeWTHdf1xgQGkb+y20Oo3JgJ637j67HuLPrpzs",
396
+ "jIluqhRszKwVWhGlyTYJdK8nOv2sn+Kn8cEFybmbcytWk9Sxf128+IjTgsEFgEcy",
397
+ "RS6/UofjKfh9WY+4DK/L7mQgdYwawiRX4y4MkExCusmQxT72mDVGXnSbTYNp2qZl",
398
+ "WEgFeQECgYEA8cgKGrySiDFxJb900I5O/CL+1pIYXy6K4gDLk70luwjRSWU+ufZo",
399
+ "g/IRntgk0b0eC4vzP6539hQsh8rrO2swv0vBDG/cvyjP7ljHTx0pFtAjb/yJ9PXN",
400
+ "ca08G8qx6BX5mqdD46T56V4g5PtLT6cwn5Hth2/H+4MZ/5osP3CbU0UCgYEAvqEJ",
401
+ "OEOlKMRhxdfb7RnKMwiXUN2vZ0NuGgK0slqEC9FAv1E/XV8azcs40uINrDdieRmr",
402
+ "Oi+LBXC08FHiAKZOVuxg1DzKx8gDc/R6YGT5sKVhVhKgWsF9ysmCyyqdqnuvFMAd",
403
+ "7PgS4Nf01rO9jo+cqKBHTzFny0TWZTTAR6NzZ4UCgYEAzqcKs+V/XPbdXcUxg9xO",
404
+ "eEU1CZLfT+NJA3hoiAMAD8eukgv+PBX3KOeq1diqR7ZbysS4iTKHCAYgNYRj4Gpy",
405
+ "xN5rx0SJKb4pUvAAkoc7CmumDl6MT5oUGdhWau6pdtPpfpz+csEcdbFlbjG3IgKl",
406
+ "lY21tq/8/uUEQKq2rRaDO/0CgYAUgC0FqACzCauaI0S7kvJz2pCrWavrZw0ILxJP",
407
+ "u/xHaRGVgZ9W40t2pkxOIZFm2+3zKBeKAmLpCt3qmmO7vibeoj0nlgIYyiHU7o3a",
408
+ "oAFaRe7Z2tbz66sji9hNESAznWmOybpuKZ+eHptuG5ZfJoKqf9IrahzHd3e3Gp0z",
409
+ "FxjqIQKBgQDbHuXgZL8A7pQe+YFUVbXYjhzb+sTlVQD7C4KF0sdiKNKXcXhvcCxL",
410
+ "AfJu59vnIlhD4MUcxt5lWDBLX08dmcJOX2AryDMmNVC7knNu92IehJeboSaM1+t3",
411
+ "1V/8pTMTtzg5ANHzZICj6vn46UXCL78XUC3sqZdAm/+9kS+oAnWaIw==",
412
+ "-----END RSA PRIVATE KEY-----",
413
+ ].join("\n");
414
+ }
415
+ //# sourceMappingURL=providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/payment/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Payment 服务路由与事件处理。
3
+ *
4
+ * 关键点(中文)
5
+ * - 被 PaymentService.install() 调用,完成所有 /v1/payment/* 路由注册。
6
+ * - 所有 balance 交互通过传入的 service 对象进行,不直接依赖 BalanceService 类型。
7
+ */
8
+ import type { ServiceInstallContext } from "@downcity/city";
9
+ import type { PaymentProvider, PaymentTopupRecord } from "./types.js";
10
+ /**
11
+ * PaymentService 暴露给 routes 的最小能力。
12
+ *
13
+ * 关键点(中文)
14
+ * - 使用 interface 避免 routes.ts 与 service.ts 之间的循环类型依赖。
15
+ */
16
+ interface PaymentServiceLike {
17
+ /** 读取充值单。 */
18
+ readTopup(topup_id: string): Promise<PaymentTopupRecord>;
19
+ /** 完成充值并入账。 */
20
+ finishTopup(topup_id: string, extra?: Record<string, unknown>): Promise<PaymentTopupRecord>;
21
+ /** 获取已挂载的 provider 列表。 */
22
+ getProviders(): PaymentProvider[];
23
+ }
24
+ /**
25
+ * 注册 Payment 服务路由。
26
+ */
27
+ export declare function installPaymentRoutes(service: PaymentServiceLike, ctx: ServiceInstallContext): void;
28
+ export {};
29
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/payment/routes.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAU5D,OAAO,KAAK,EAKV,eAAe,EAKf,kBAAkB,EACnB,MAAM,YAAY,CAAC;AA0BpB;;;;;GAKG;AACH,UAAU,kBAAkB;IAC1B,aAAa;IACb,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACzD,eAAe;IACf,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5F,0BAA0B;IAC1B,YAAY,IAAI,eAAe,EAAE,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAiNlG"}