@vobs/payment 1.2.1 → 1.3.0

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 (85) hide show
  1. package/dist/alipay/client.cjs +31 -8
  2. package/dist/alipay/client.cjs.map +1 -1
  3. package/dist/alipay/client.js +6 -5
  4. package/dist/alipay/client.js.map +1 -1
  5. package/dist/alipay/config.cjs +27 -5
  6. package/dist/alipay/config.cjs.map +1 -1
  7. package/dist/alipay/config.js +3 -3
  8. package/dist/alipay/config.js.map +1 -1
  9. package/dist/alipay/index.cjs +56 -177
  10. package/dist/alipay/index.cjs.map +1 -1
  11. package/dist/alipay/index.js +17 -162
  12. package/dist/alipay/index.js.map +1 -1
  13. package/dist/alipay/notify.cjs +27 -5
  14. package/dist/alipay/notify.cjs.map +1 -1
  15. package/dist/alipay/notify.js +3 -3
  16. package/dist/alipay/notify.js.map +1 -1
  17. package/dist/alipay/payment.cjs +27 -5
  18. package/dist/alipay/payment.cjs.map +1 -1
  19. package/dist/alipay/payment.js +3 -3
  20. package/dist/alipay/payment.js.map +1 -1
  21. package/dist/alipay/plugin.cjs +36 -165
  22. package/dist/alipay/plugin.cjs.map +1 -1
  23. package/dist/alipay/plugin.js +9 -160
  24. package/dist/alipay/plugin.js.map +1 -1
  25. package/dist/alipay/query.cjs +29 -5
  26. package/dist/alipay/query.cjs.map +1 -1
  27. package/dist/alipay/query.js +3 -3
  28. package/dist/alipay/query.js.map +1 -1
  29. package/dist/alipay/refund.cjs +29 -5
  30. package/dist/alipay/refund.cjs.map +1 -1
  31. package/dist/alipay/refund.js +3 -3
  32. package/dist/alipay/refund.js.map +1 -1
  33. package/dist/alipay/response.cjs +29 -6
  34. package/dist/alipay/response.cjs.map +1 -1
  35. package/dist/alipay/response.js +4 -3
  36. package/dist/alipay/response.js.map +1 -1
  37. package/dist/alipay/types.cjs +18 -2
  38. package/dist/alipay/types.cjs.map +1 -1
  39. package/dist/alipay/types.js +0 -2
  40. package/dist/alipay/types.js.map +1 -1
  41. package/dist/alipay/wap.cjs +27 -5
  42. package/dist/alipay/wap.cjs.map +1 -1
  43. package/dist/alipay/wap.js +3 -3
  44. package/dist/alipay/wap.js.map +1 -1
  45. package/dist/index.cjs +85 -194
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.js +38 -167
  48. package/dist/index.js.map +1 -1
  49. package/dist/wechat/client.cjs +31 -8
  50. package/dist/wechat/client.cjs.map +1 -1
  51. package/dist/wechat/client.js +6 -5
  52. package/dist/wechat/client.js.map +1 -1
  53. package/dist/wechat/config.cjs +27 -5
  54. package/dist/wechat/config.cjs.map +1 -1
  55. package/dist/wechat/config.js +3 -3
  56. package/dist/wechat/config.js.map +1 -1
  57. package/dist/wechat/index.cjs +64 -181
  58. package/dist/wechat/index.cjs.map +1 -1
  59. package/dist/wechat/index.js +23 -164
  60. package/dist/wechat/index.js.map +1 -1
  61. package/dist/wechat/notify.cjs +33 -10
  62. package/dist/wechat/notify.cjs.map +1 -1
  63. package/dist/wechat/notify.js +6 -5
  64. package/dist/wechat/notify.js.map +1 -1
  65. package/dist/wechat/payment.cjs +33 -10
  66. package/dist/wechat/payment.cjs.map +1 -1
  67. package/dist/wechat/payment.js +6 -5
  68. package/dist/wechat/payment.js.map +1 -1
  69. package/dist/wechat/plugin.cjs +36 -165
  70. package/dist/wechat/plugin.cjs.map +1 -1
  71. package/dist/wechat/plugin.js +9 -160
  72. package/dist/wechat/plugin.js.map +1 -1
  73. package/dist/wechat/refund.cjs +29 -5
  74. package/dist/wechat/refund.cjs.map +1 -1
  75. package/dist/wechat/refund.js +3 -3
  76. package/dist/wechat/refund.js.map +1 -1
  77. package/dist/wechat/response.cjs +31 -7
  78. package/dist/wechat/response.cjs.map +1 -1
  79. package/dist/wechat/response.js +5 -3
  80. package/dist/wechat/response.js.map +1 -1
  81. package/dist/wechat/types.cjs +18 -2
  82. package/dist/wechat/types.cjs.map +1 -1
  83. package/dist/wechat/types.js +0 -2
  84. package/dist/wechat/types.js.map +1 -1
  85. package/package.json +2 -2
@@ -1,7 +1,30 @@
1
- 'use strict';
2
-
1
+ var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
2
+ "use strict";
3
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
+
22
+ // packages/payment/src/wechat/refund.ts
23
+ var refund_exports = {};
24
+ __export(refund_exports, {
25
+ createRefund: () => createRefund
26
+ });
27
+ module.exports = __toCommonJS(refund_exports);
5
28
 
6
29
  // packages/payment/src/wechat/response.ts
7
30
  var _WechatApiError = class _WechatApiError extends Error {
@@ -106,7 +129,8 @@ function mapRefund(data) {
106
129
  };
107
130
  }
108
131
  __name(mapRefund, "mapRefund");
109
-
110
- exports.createRefund = createRefund;
111
- //# sourceMappingURL=refund.cjs.map
132
+ // Annotate the CommonJS export names for ESM import in node:
133
+ 0 && (module.exports = {
134
+ createRefund
135
+ });
112
136
  //# sourceMappingURL=refund.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/wechat/response.ts","../../src/wechat/refund.ts"],"names":[],"mappings":"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","file":"refund.cjs","sourcesContent":["/**\n * 微信支付 APIv3 错误归一化。\n *\n * v3 接口没有\"业务体 code\"约定:HTTP 2xx 即成功,失败以\n * 非 2xx 状态码 + JSON body {code, message} 表达(axios 会抛错)。\n * 本模块把 axios 错误统一转换为 WechatApiError。\n */\nexport class WechatApiError extends Error {\n /** HTTP 状态码(网络层错误时为 undefined) */\n readonly status?: number\n /** 错误码,如 PARAM_ERROR / RESOURCE_NOT_EXISTS / NETWORK_ERROR */\n readonly code: string\n\n constructor(message: string, status: number | undefined, code: string) {\n super(message)\n this.name = 'WechatApiError'\n this.status = status\n this.code = code\n }\n}\n\n/** 将任意请求异常归一化为 WechatApiError */\nexport function toWechatApiError(error: unknown): WechatApiError {\n if (error instanceof WechatApiError) return error\n const axiosError = error as {\n response?: { status?: number; data?: { code?: string; message?: string } }\n code?: string\n message?: string\n }\n const status = axiosError?.response?.status\n const bizCode = axiosError?.response?.data?.code\n const bizMessage = axiosError?.response?.data?.message\n if (status !== undefined) {\n return new WechatApiError(\n `微信支付接口调用失败: ${bizMessage ?? axiosError?.message ?? '未知错误'} (${status}${bizCode ? `, ${bizCode}` : ''})`,\n status,\n bizCode ?? String(status)\n )\n }\n return new WechatApiError(\n `微信支付请求失败: ${axiosError?.message ?? '未知错误'}${axiosError?.code ? ` (${axiosError.code})` : ''}`,\n undefined,\n axiosError?.code ?? 'NETWORK_ERROR'\n )\n}\n\n/** 包装请求 promise:失败时抛出 WechatApiError */\nexport async function unwrapV3<T>(promise: PromiseLike<T>): Promise<T> {\n try {\n return await promise\n } catch (error) {\n throw toWechatApiError(error)\n }\n}\n","import type { WechatClient } from './client'\nimport { unwrapV3 } from './response'\nimport type {\n WechatRefundParams,\n WechatRefundQueryParams,\n WechatRefundResult,\n WechatRefundStatus\n} from './types'\n\n/**\n * 微信退款(APIv3)\n *\n * 覆盖申请退款与退款状态查询。\n * ⚠️ 退款结果以异步通知(refund.irqevent)或 queryRefund 为准。\n */\nexport function createRefund(client: WechatClient) {\n return {\n /**\n * 申请退款(POST /v3/refund/domestic/refunds)\n * @param params 退款参数(outTradeNo 与 transactionId 二选一)\n * @throws {WechatApiError} 参数错误、余额不足、订单不可退等失败\n */\n async refund(params: WechatRefundParams): Promise<WechatRefundResult> {\n const body: Record<string, any> = {\n out_trade_no: params.outTradeNo,\n transaction_id: params.transactionId,\n out_refund_no: params.outRefundNo,\n reason: params.reason,\n notify_url: params.notifyUrl ?? client.config.notifyUrl,\n funds_account: params.fundsAccount,\n amount: {\n refund: params.amount.refund,\n total: params.amount.total,\n currency: params.amount.currency ?? 'CNY'\n }\n }\n // 移除 undefined 字段\n for (const key of Object.keys(body)) {\n if (body[key] === undefined) delete body[key]\n }\n for (const key of Object.keys(body.amount)) {\n if ((body.amount as any)[key] === undefined) delete (body.amount as any)[key]\n }\n\n const { data } = await unwrapV3(client.sdk.v3.refund.domestic.refunds.post(body))\n return mapRefund(data)\n },\n\n /**\n * 查询退款(GET /v3/refund/domestic/refunds/{out_refund_no | refund_id})\n * @throws {WechatApiError} 退款单不存在等失败\n */\n async queryRefund(params: WechatRefundQueryParams): Promise<WechatRefundResult> {\n const id = params.refundId ?? params.outRefundNo\n if (!id) {\n throw new Error('WechatClient: queryRefund 需要 outRefundNo 或 refundId')\n }\n const { data } = await unwrapV3(\n client.sdk.client.request(`/v3/refund/domestic/refunds/${encodeURIComponent(id)}`, 'GET')\n )\n return mapRefund(data)\n }\n }\n}\n\n/** snake_case 响应映射 */\nfunction mapRefund(data: Record<string, any>): WechatRefundResult {\n return {\n refundId: data.refund_id,\n outRefundNo: data.out_refund_no,\n outTradeNo: data.out_trade_no,\n transactionId: data.transaction_id,\n status: data.status as WechatRefundStatus,\n refundAmount: data.amount?.refund,\n total: data.amount?.total,\n userReceivedAmount: data.amount?.user_received_amount,\n successTime: data.success_time,\n reason: data.reason\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/wechat/refund.ts","../../src/wechat/response.ts"],"sourcesContent":["import type { WechatClient } from './client'\nimport { unwrapV3 } from './response'\nimport type {\n WechatRefundParams,\n WechatRefundQueryParams,\n WechatRefundResult,\n WechatRefundStatus\n} from './types'\n\n/**\n * 微信退款(APIv3)\n *\n * 覆盖申请退款与退款状态查询。\n * ⚠️ 退款结果以异步通知(refund.irqevent)或 queryRefund 为准。\n */\nexport function createRefund(client: WechatClient) {\n return {\n /**\n * 申请退款(POST /v3/refund/domestic/refunds)\n * @param params 退款参数(outTradeNo 与 transactionId 二选一)\n * @throws {WechatApiError} 参数错误、余额不足、订单不可退等失败\n */\n async refund(params: WechatRefundParams): Promise<WechatRefundResult> {\n const body: Record<string, any> = {\n out_trade_no: params.outTradeNo,\n transaction_id: params.transactionId,\n out_refund_no: params.outRefundNo,\n reason: params.reason,\n notify_url: params.notifyUrl ?? client.config.notifyUrl,\n funds_account: params.fundsAccount,\n amount: {\n refund: params.amount.refund,\n total: params.amount.total,\n currency: params.amount.currency ?? 'CNY'\n }\n }\n // 移除 undefined 字段\n for (const key of Object.keys(body)) {\n if (body[key] === undefined) delete body[key]\n }\n for (const key of Object.keys(body.amount)) {\n if ((body.amount as any)[key] === undefined) delete (body.amount as any)[key]\n }\n\n const { data } = await unwrapV3(client.sdk.v3.refund.domestic.refunds.post(body))\n return mapRefund(data)\n },\n\n /**\n * 查询退款(GET /v3/refund/domestic/refunds/{out_refund_no | refund_id})\n * @throws {WechatApiError} 退款单不存在等失败\n */\n async queryRefund(params: WechatRefundQueryParams): Promise<WechatRefundResult> {\n const id = params.refundId ?? params.outRefundNo\n if (!id) {\n throw new Error('WechatClient: queryRefund 需要 outRefundNo 或 refundId')\n }\n const { data } = await unwrapV3(\n client.sdk.client.request(`/v3/refund/domestic/refunds/${encodeURIComponent(id)}`, 'GET')\n )\n return mapRefund(data)\n }\n }\n}\n\n/** snake_case 响应映射 */\nfunction mapRefund(data: Record<string, any>): WechatRefundResult {\n return {\n refundId: data.refund_id,\n outRefundNo: data.out_refund_no,\n outTradeNo: data.out_trade_no,\n transactionId: data.transaction_id,\n status: data.status as WechatRefundStatus,\n refundAmount: data.amount?.refund,\n total: data.amount?.total,\n userReceivedAmount: data.amount?.user_received_amount,\n successTime: data.success_time,\n reason: data.reason\n }\n}\n","/**\n * 微信支付 APIv3 错误归一化。\n *\n * v3 接口没有\"业务体 code\"约定:HTTP 2xx 即成功,失败以\n * 非 2xx 状态码 + JSON body {code, message} 表达(axios 会抛错)。\n * 本模块把 axios 错误统一转换为 WechatApiError。\n */\nexport class WechatApiError extends Error {\n /** HTTP 状态码(网络层错误时为 undefined) */\n readonly status?: number\n /** 错误码,如 PARAM_ERROR / RESOURCE_NOT_EXISTS / NETWORK_ERROR */\n readonly code: string\n\n constructor(message: string, status: number | undefined, code: string) {\n super(message)\n this.name = 'WechatApiError'\n this.status = status\n this.code = code\n }\n}\n\n/** 将任意请求异常归一化为 WechatApiError */\nexport function toWechatApiError(error: unknown): WechatApiError {\n if (error instanceof WechatApiError) return error\n const axiosError = error as {\n response?: { status?: number; data?: { code?: string; message?: string } }\n code?: string\n message?: string\n }\n const status = axiosError?.response?.status\n const bizCode = axiosError?.response?.data?.code\n const bizMessage = axiosError?.response?.data?.message\n if (status !== undefined) {\n return new WechatApiError(\n `微信支付接口调用失败: ${bizMessage ?? axiosError?.message ?? '未知错误'} (${status}${bizCode ? `, ${bizCode}` : ''})`,\n status,\n bizCode ?? String(status)\n )\n }\n return new WechatApiError(\n `微信支付请求失败: ${axiosError?.message ?? '未知错误'}${axiosError?.code ? ` (${axiosError.code})` : ''}`,\n undefined,\n axiosError?.code ?? 'NETWORK_ERROR'\n )\n}\n\n/** 包装请求 promise:失败时抛出 WechatApiError */\nexport async function unwrapV3<T>(promise: PromiseLike<T>): Promise<T> {\n try {\n return await promise\n } catch (error) {\n throw toWechatApiError(error)\n }\n}\n"],"mappings":"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","names":[]}
@@ -104,7 +104,7 @@ function mapRefund(data) {
104
104
  };
105
105
  }
106
106
  __name(mapRefund, "mapRefund");
107
-
108
- export { createRefund };
109
- //# sourceMappingURL=refund.js.map
107
+ export {
108
+ createRefund
109
+ };
110
110
  //# sourceMappingURL=refund.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/wechat/response.ts","../../src/wechat/refund.ts"],"names":[],"mappings":"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","file":"refund.js","sourcesContent":["/**\n * 微信支付 APIv3 错误归一化。\n *\n * v3 接口没有\"业务体 code\"约定:HTTP 2xx 即成功,失败以\n * 非 2xx 状态码 + JSON body {code, message} 表达(axios 会抛错)。\n * 本模块把 axios 错误统一转换为 WechatApiError。\n */\nexport class WechatApiError extends Error {\n /** HTTP 状态码(网络层错误时为 undefined) */\n readonly status?: number\n /** 错误码,如 PARAM_ERROR / RESOURCE_NOT_EXISTS / NETWORK_ERROR */\n readonly code: string\n\n constructor(message: string, status: number | undefined, code: string) {\n super(message)\n this.name = 'WechatApiError'\n this.status = status\n this.code = code\n }\n}\n\n/** 将任意请求异常归一化为 WechatApiError */\nexport function toWechatApiError(error: unknown): WechatApiError {\n if (error instanceof WechatApiError) return error\n const axiosError = error as {\n response?: { status?: number; data?: { code?: string; message?: string } }\n code?: string\n message?: string\n }\n const status = axiosError?.response?.status\n const bizCode = axiosError?.response?.data?.code\n const bizMessage = axiosError?.response?.data?.message\n if (status !== undefined) {\n return new WechatApiError(\n `微信支付接口调用失败: ${bizMessage ?? axiosError?.message ?? '未知错误'} (${status}${bizCode ? `, ${bizCode}` : ''})`,\n status,\n bizCode ?? String(status)\n )\n }\n return new WechatApiError(\n `微信支付请求失败: ${axiosError?.message ?? '未知错误'}${axiosError?.code ? ` (${axiosError.code})` : ''}`,\n undefined,\n axiosError?.code ?? 'NETWORK_ERROR'\n )\n}\n\n/** 包装请求 promise:失败时抛出 WechatApiError */\nexport async function unwrapV3<T>(promise: PromiseLike<T>): Promise<T> {\n try {\n return await promise\n } catch (error) {\n throw toWechatApiError(error)\n }\n}\n","import type { WechatClient } from './client'\nimport { unwrapV3 } from './response'\nimport type {\n WechatRefundParams,\n WechatRefundQueryParams,\n WechatRefundResult,\n WechatRefundStatus\n} from './types'\n\n/**\n * 微信退款(APIv3)\n *\n * 覆盖申请退款与退款状态查询。\n * ⚠️ 退款结果以异步通知(refund.irqevent)或 queryRefund 为准。\n */\nexport function createRefund(client: WechatClient) {\n return {\n /**\n * 申请退款(POST /v3/refund/domestic/refunds)\n * @param params 退款参数(outTradeNo 与 transactionId 二选一)\n * @throws {WechatApiError} 参数错误、余额不足、订单不可退等失败\n */\n async refund(params: WechatRefundParams): Promise<WechatRefundResult> {\n const body: Record<string, any> = {\n out_trade_no: params.outTradeNo,\n transaction_id: params.transactionId,\n out_refund_no: params.outRefundNo,\n reason: params.reason,\n notify_url: params.notifyUrl ?? client.config.notifyUrl,\n funds_account: params.fundsAccount,\n amount: {\n refund: params.amount.refund,\n total: params.amount.total,\n currency: params.amount.currency ?? 'CNY'\n }\n }\n // 移除 undefined 字段\n for (const key of Object.keys(body)) {\n if (body[key] === undefined) delete body[key]\n }\n for (const key of Object.keys(body.amount)) {\n if ((body.amount as any)[key] === undefined) delete (body.amount as any)[key]\n }\n\n const { data } = await unwrapV3(client.sdk.v3.refund.domestic.refunds.post(body))\n return mapRefund(data)\n },\n\n /**\n * 查询退款(GET /v3/refund/domestic/refunds/{out_refund_no | refund_id})\n * @throws {WechatApiError} 退款单不存在等失败\n */\n async queryRefund(params: WechatRefundQueryParams): Promise<WechatRefundResult> {\n const id = params.refundId ?? params.outRefundNo\n if (!id) {\n throw new Error('WechatClient: queryRefund 需要 outRefundNo 或 refundId')\n }\n const { data } = await unwrapV3(\n client.sdk.client.request(`/v3/refund/domestic/refunds/${encodeURIComponent(id)}`, 'GET')\n )\n return mapRefund(data)\n }\n }\n}\n\n/** snake_case 响应映射 */\nfunction mapRefund(data: Record<string, any>): WechatRefundResult {\n return {\n refundId: data.refund_id,\n outRefundNo: data.out_refund_no,\n outTradeNo: data.out_trade_no,\n transactionId: data.transaction_id,\n status: data.status as WechatRefundStatus,\n refundAmount: data.amount?.refund,\n total: data.amount?.total,\n userReceivedAmount: data.amount?.user_received_amount,\n successTime: data.success_time,\n reason: data.reason\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/wechat/response.ts","../../src/wechat/refund.ts"],"sourcesContent":["/**\n * 微信支付 APIv3 错误归一化。\n *\n * v3 接口没有\"业务体 code\"约定:HTTP 2xx 即成功,失败以\n * 非 2xx 状态码 + JSON body {code, message} 表达(axios 会抛错)。\n * 本模块把 axios 错误统一转换为 WechatApiError。\n */\nexport class WechatApiError extends Error {\n /** HTTP 状态码(网络层错误时为 undefined) */\n readonly status?: number\n /** 错误码,如 PARAM_ERROR / RESOURCE_NOT_EXISTS / NETWORK_ERROR */\n readonly code: string\n\n constructor(message: string, status: number | undefined, code: string) {\n super(message)\n this.name = 'WechatApiError'\n this.status = status\n this.code = code\n }\n}\n\n/** 将任意请求异常归一化为 WechatApiError */\nexport function toWechatApiError(error: unknown): WechatApiError {\n if (error instanceof WechatApiError) return error\n const axiosError = error as {\n response?: { status?: number; data?: { code?: string; message?: string } }\n code?: string\n message?: string\n }\n const status = axiosError?.response?.status\n const bizCode = axiosError?.response?.data?.code\n const bizMessage = axiosError?.response?.data?.message\n if (status !== undefined) {\n return new WechatApiError(\n `微信支付接口调用失败: ${bizMessage ?? axiosError?.message ?? '未知错误'} (${status}${bizCode ? `, ${bizCode}` : ''})`,\n status,\n bizCode ?? String(status)\n )\n }\n return new WechatApiError(\n `微信支付请求失败: ${axiosError?.message ?? '未知错误'}${axiosError?.code ? ` (${axiosError.code})` : ''}`,\n undefined,\n axiosError?.code ?? 'NETWORK_ERROR'\n )\n}\n\n/** 包装请求 promise:失败时抛出 WechatApiError */\nexport async function unwrapV3<T>(promise: PromiseLike<T>): Promise<T> {\n try {\n return await promise\n } catch (error) {\n throw toWechatApiError(error)\n }\n}\n","import type { WechatClient } from './client'\nimport { unwrapV3 } from './response'\nimport type {\n WechatRefundParams,\n WechatRefundQueryParams,\n WechatRefundResult,\n WechatRefundStatus\n} from './types'\n\n/**\n * 微信退款(APIv3)\n *\n * 覆盖申请退款与退款状态查询。\n * ⚠️ 退款结果以异步通知(refund.irqevent)或 queryRefund 为准。\n */\nexport function createRefund(client: WechatClient) {\n return {\n /**\n * 申请退款(POST /v3/refund/domestic/refunds)\n * @param params 退款参数(outTradeNo 与 transactionId 二选一)\n * @throws {WechatApiError} 参数错误、余额不足、订单不可退等失败\n */\n async refund(params: WechatRefundParams): Promise<WechatRefundResult> {\n const body: Record<string, any> = {\n out_trade_no: params.outTradeNo,\n transaction_id: params.transactionId,\n out_refund_no: params.outRefundNo,\n reason: params.reason,\n notify_url: params.notifyUrl ?? client.config.notifyUrl,\n funds_account: params.fundsAccount,\n amount: {\n refund: params.amount.refund,\n total: params.amount.total,\n currency: params.amount.currency ?? 'CNY'\n }\n }\n // 移除 undefined 字段\n for (const key of Object.keys(body)) {\n if (body[key] === undefined) delete body[key]\n }\n for (const key of Object.keys(body.amount)) {\n if ((body.amount as any)[key] === undefined) delete (body.amount as any)[key]\n }\n\n const { data } = await unwrapV3(client.sdk.v3.refund.domestic.refunds.post(body))\n return mapRefund(data)\n },\n\n /**\n * 查询退款(GET /v3/refund/domestic/refunds/{out_refund_no | refund_id})\n * @throws {WechatApiError} 退款单不存在等失败\n */\n async queryRefund(params: WechatRefundQueryParams): Promise<WechatRefundResult> {\n const id = params.refundId ?? params.outRefundNo\n if (!id) {\n throw new Error('WechatClient: queryRefund 需要 outRefundNo 或 refundId')\n }\n const { data } = await unwrapV3(\n client.sdk.client.request(`/v3/refund/domestic/refunds/${encodeURIComponent(id)}`, 'GET')\n )\n return mapRefund(data)\n }\n }\n}\n\n/** snake_case 响应映射 */\nfunction mapRefund(data: Record<string, any>): WechatRefundResult {\n return {\n refundId: data.refund_id,\n outRefundNo: data.out_refund_no,\n outTradeNo: data.out_trade_no,\n transactionId: data.transaction_id,\n status: data.status as WechatRefundStatus,\n refundAmount: data.amount?.refund,\n total: data.amount?.total,\n userReceivedAmount: data.amount?.user_received_amount,\n successTime: data.success_time,\n reason: data.reason\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,9 +1,32 @@
1
- 'use strict';
2
-
1
+ var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
2
+ "use strict";
3
3
  var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
4
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
5
21
 
6
22
  // packages/payment/src/wechat/response.ts
23
+ var response_exports = {};
24
+ __export(response_exports, {
25
+ WechatApiError: () => WechatApiError,
26
+ toWechatApiError: () => toWechatApiError,
27
+ unwrapV3: () => unwrapV3
28
+ });
29
+ module.exports = __toCommonJS(response_exports);
7
30
  var _WechatApiError = class _WechatApiError extends Error {
8
31
  constructor(message, status, code) {
9
32
  super(message);
@@ -42,9 +65,10 @@ async function unwrapV3(promise) {
42
65
  }
43
66
  }
44
67
  __name(unwrapV3, "unwrapV3");
45
-
46
- exports.WechatApiError = WechatApiError;
47
- exports.toWechatApiError = toWechatApiError;
48
- exports.unwrapV3 = unwrapV3;
49
- //# sourceMappingURL=response.cjs.map
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ WechatApiError,
71
+ toWechatApiError,
72
+ unwrapV3
73
+ });
50
74
  //# sourceMappingURL=response.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/wechat/response.ts"],"names":[],"mappings":";;;;;;AAOO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuB,KAAA,CAAM;AAAA,EAMxC,WAAA,CAAY,OAAA,EAAiB,MAAA,EAA4B,IAAA,EAAc;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAO,gBAAA;AACZ,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,EACd;AACF,CAAA;AAZ0C,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA;AAAnC,IAAM,cAAA,GAAN;AAeA,SAAS,iBAAiB,KAAA,EAAgC;AAC/D,EAAA,IAAI,KAAA,YAAiB,gBAAgB,OAAO,KAAA;AAC5C,EAAA,MAAM,UAAA,GAAa,KAAA;AAKnB,EAAA,MAAM,MAAA,GAAS,YAAY,QAAA,EAAU,MAAA;AACrC,EAAA,MAAM,OAAA,GAAU,UAAA,EAAY,QAAA,EAAU,IAAA,EAAM,IAAA;AAC5C,EAAA,MAAM,UAAA,GAAa,UAAA,EAAY,QAAA,EAAU,IAAA,EAAM,OAAA;AAC/C,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAI,cAAA;AAAA,MACT,CAAA,8DAAA,EAAe,UAAA,IAAc,UAAA,EAAY,OAAA,IAAW,0BAAM,CAAA,EAAA,EAAK,MAAM,CAAA,EAAG,OAAA,GAAU,CAAA,EAAA,EAAK,OAAO,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,CAAA;AAAA,MACrG,MAAA;AAAA,MACA,OAAA,IAAW,OAAO,MAAM;AAAA,KAC1B;AAAA,EACF;AACA,EAAA,OAAO,IAAI,cAAA;AAAA,IACT,CAAA,kDAAA,EAAa,UAAA,EAAY,OAAA,IAAW,0BAAM,CAAA,EAAG,UAAA,EAAY,IAAA,GAAO,CAAA,EAAA,EAAK,UAAA,CAAW,IAAI,CAAA,CAAA,CAAA,GAAM,EAAE,CAAA,CAAA;AAAA,IAC5F,MAAA;AAAA,IACA,YAAY,IAAA,IAAQ;AAAA,GACtB;AACF;AAtBgB,MAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA;AAyBhB,eAAsB,SAAY,OAAA,EAAqC;AACrE,EAAA,IAAI;AACF,IAAA,OAAO,MAAM,OAAA;AAAA,EACf,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,iBAAiB,KAAK,CAAA;AAAA,EAC9B;AACF;AANsB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"response.cjs","sourcesContent":["/**\n * 微信支付 APIv3 错误归一化。\n *\n * v3 接口没有\"业务体 code\"约定:HTTP 2xx 即成功,失败以\n * 非 2xx 状态码 + JSON body {code, message} 表达(axios 会抛错)。\n * 本模块把 axios 错误统一转换为 WechatApiError。\n */\nexport class WechatApiError extends Error {\n /** HTTP 状态码(网络层错误时为 undefined) */\n readonly status?: number\n /** 错误码,如 PARAM_ERROR / RESOURCE_NOT_EXISTS / NETWORK_ERROR */\n readonly code: string\n\n constructor(message: string, status: number | undefined, code: string) {\n super(message)\n this.name = 'WechatApiError'\n this.status = status\n this.code = code\n }\n}\n\n/** 将任意请求异常归一化为 WechatApiError */\nexport function toWechatApiError(error: unknown): WechatApiError {\n if (error instanceof WechatApiError) return error\n const axiosError = error as {\n response?: { status?: number; data?: { code?: string; message?: string } }\n code?: string\n message?: string\n }\n const status = axiosError?.response?.status\n const bizCode = axiosError?.response?.data?.code\n const bizMessage = axiosError?.response?.data?.message\n if (status !== undefined) {\n return new WechatApiError(\n `微信支付接口调用失败: ${bizMessage ?? axiosError?.message ?? '未知错误'} (${status}${bizCode ? `, ${bizCode}` : ''})`,\n status,\n bizCode ?? String(status)\n )\n }\n return new WechatApiError(\n `微信支付请求失败: ${axiosError?.message ?? '未知错误'}${axiosError?.code ? ` (${axiosError.code})` : ''}`,\n undefined,\n axiosError?.code ?? 'NETWORK_ERROR'\n )\n}\n\n/** 包装请求 promise:失败时抛出 WechatApiError */\nexport async function unwrapV3<T>(promise: PromiseLike<T>): Promise<T> {\n try {\n return await promise\n } catch (error) {\n throw toWechatApiError(error)\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/wechat/response.ts"],"sourcesContent":["/**\n * 微信支付 APIv3 错误归一化。\n *\n * v3 接口没有\"业务体 code\"约定:HTTP 2xx 即成功,失败以\n * 非 2xx 状态码 + JSON body {code, message} 表达(axios 会抛错)。\n * 本模块把 axios 错误统一转换为 WechatApiError。\n */\nexport class WechatApiError extends Error {\n /** HTTP 状态码(网络层错误时为 undefined) */\n readonly status?: number\n /** 错误码,如 PARAM_ERROR / RESOURCE_NOT_EXISTS / NETWORK_ERROR */\n readonly code: string\n\n constructor(message: string, status: number | undefined, code: string) {\n super(message)\n this.name = 'WechatApiError'\n this.status = status\n this.code = code\n }\n}\n\n/** 将任意请求异常归一化为 WechatApiError */\nexport function toWechatApiError(error: unknown): WechatApiError {\n if (error instanceof WechatApiError) return error\n const axiosError = error as {\n response?: { status?: number; data?: { code?: string; message?: string } }\n code?: string\n message?: string\n }\n const status = axiosError?.response?.status\n const bizCode = axiosError?.response?.data?.code\n const bizMessage = axiosError?.response?.data?.message\n if (status !== undefined) {\n return new WechatApiError(\n `微信支付接口调用失败: ${bizMessage ?? axiosError?.message ?? '未知错误'} (${status}${bizCode ? `, ${bizCode}` : ''})`,\n status,\n bizCode ?? String(status)\n )\n }\n return new WechatApiError(\n `微信支付请求失败: ${axiosError?.message ?? '未知错误'}${axiosError?.code ? ` (${axiosError.code})` : ''}`,\n undefined,\n axiosError?.code ?? 'NETWORK_ERROR'\n )\n}\n\n/** 包装请求 promise:失败时抛出 WechatApiError */\nexport async function unwrapV3<T>(promise: PromiseLike<T>): Promise<T> {\n try {\n return await promise\n } catch (error) {\n throw toWechatApiError(error)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,IAAM,kBAAN,MAAM,wBAAuB,MAAM;AAAA,EAMxC,YAAY,SAAiB,QAA4B,MAAc;AACrE,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACd;AACF;AAZ0C;AAAnC,IAAM,iBAAN;AAeA,SAAS,iBAAiB,OAAgC;AAC/D,MAAI,iBAAiB,eAAgB,QAAO;AAC5C,QAAM,aAAa;AAKnB,QAAM,SAAS,YAAY,UAAU;AACrC,QAAM,UAAU,YAAY,UAAU,MAAM;AAC5C,QAAM,aAAa,YAAY,UAAU,MAAM;AAC/C,MAAI,WAAW,QAAW;AACxB,WAAO,IAAI;AAAA,MACT,iEAAe,cAAc,YAAY,WAAW,0BAAM,KAAK,MAAM,GAAG,UAAU,KAAK,OAAO,KAAK,EAAE;AAAA,MACrG;AAAA,MACA,WAAW,OAAO,MAAM;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,IAAI;AAAA,IACT,qDAAa,YAAY,WAAW,0BAAM,GAAG,YAAY,OAAO,KAAK,WAAW,IAAI,MAAM,EAAE;AAAA,IAC5F;AAAA,IACA,YAAY,QAAQ;AAAA,EACtB;AACF;AAtBgB;AAyBhB,eAAsB,SAAY,SAAqC;AACrE,MAAI;AACF,WAAO,MAAM;AAAA,EACf,SAAS,OAAO;AACd,UAAM,iBAAiB,KAAK;AAAA,EAC9B;AACF;AANsB;","names":[]}
@@ -40,7 +40,9 @@ async function unwrapV3(promise) {
40
40
  }
41
41
  }
42
42
  __name(unwrapV3, "unwrapV3");
43
-
44
- export { WechatApiError, toWechatApiError, unwrapV3 };
45
- //# sourceMappingURL=response.js.map
43
+ export {
44
+ WechatApiError,
45
+ toWechatApiError,
46
+ unwrapV3
47
+ };
46
48
  //# sourceMappingURL=response.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/wechat/response.ts"],"names":[],"mappings":";;;;AAOO,IAAM,eAAA,GAAN,MAAM,eAAA,SAAuB,KAAA,CAAM;AAAA,EAMxC,WAAA,CAAY,OAAA,EAAiB,MAAA,EAA4B,IAAA,EAAc;AACrE,IAAA,KAAA,CAAM,OAAO,CAAA;AACb,IAAA,IAAA,CAAK,IAAA,GAAO,gBAAA;AACZ,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,IAAA,GAAO,IAAA;AAAA,EACd;AACF,CAAA;AAZ0C,MAAA,CAAA,eAAA,EAAA,gBAAA,CAAA;AAAnC,IAAM,cAAA,GAAN;AAeA,SAAS,iBAAiB,KAAA,EAAgC;AAC/D,EAAA,IAAI,KAAA,YAAiB,gBAAgB,OAAO,KAAA;AAC5C,EAAA,MAAM,UAAA,GAAa,KAAA;AAKnB,EAAA,MAAM,MAAA,GAAS,YAAY,QAAA,EAAU,MAAA;AACrC,EAAA,MAAM,OAAA,GAAU,UAAA,EAAY,QAAA,EAAU,IAAA,EAAM,IAAA;AAC5C,EAAA,MAAM,UAAA,GAAa,UAAA,EAAY,QAAA,EAAU,IAAA,EAAM,OAAA;AAC/C,EAAA,IAAI,WAAW,MAAA,EAAW;AACxB,IAAA,OAAO,IAAI,cAAA;AAAA,MACT,CAAA,8DAAA,EAAe,UAAA,IAAc,UAAA,EAAY,OAAA,IAAW,0BAAM,CAAA,EAAA,EAAK,MAAM,CAAA,EAAG,OAAA,GAAU,CAAA,EAAA,EAAK,OAAO,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,CAAA;AAAA,MACrG,MAAA;AAAA,MACA,OAAA,IAAW,OAAO,MAAM;AAAA,KAC1B;AAAA,EACF;AACA,EAAA,OAAO,IAAI,cAAA;AAAA,IACT,CAAA,kDAAA,EAAa,UAAA,EAAY,OAAA,IAAW,0BAAM,CAAA,EAAG,UAAA,EAAY,IAAA,GAAO,CAAA,EAAA,EAAK,UAAA,CAAW,IAAI,CAAA,CAAA,CAAA,GAAM,EAAE,CAAA,CAAA;AAAA,IAC5F,MAAA;AAAA,IACA,YAAY,IAAA,IAAQ;AAAA,GACtB;AACF;AAtBgB,MAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA;AAyBhB,eAAsB,SAAY,OAAA,EAAqC;AACrE,EAAA,IAAI;AACF,IAAA,OAAO,MAAM,OAAA;AAAA,EACf,SAAS,KAAA,EAAO;AACd,IAAA,MAAM,iBAAiB,KAAK,CAAA;AAAA,EAC9B;AACF;AANsB,MAAA,CAAA,QAAA,EAAA,UAAA,CAAA","file":"response.js","sourcesContent":["/**\n * 微信支付 APIv3 错误归一化。\n *\n * v3 接口没有\"业务体 code\"约定:HTTP 2xx 即成功,失败以\n * 非 2xx 状态码 + JSON body {code, message} 表达(axios 会抛错)。\n * 本模块把 axios 错误统一转换为 WechatApiError。\n */\nexport class WechatApiError extends Error {\n /** HTTP 状态码(网络层错误时为 undefined) */\n readonly status?: number\n /** 错误码,如 PARAM_ERROR / RESOURCE_NOT_EXISTS / NETWORK_ERROR */\n readonly code: string\n\n constructor(message: string, status: number | undefined, code: string) {\n super(message)\n this.name = 'WechatApiError'\n this.status = status\n this.code = code\n }\n}\n\n/** 将任意请求异常归一化为 WechatApiError */\nexport function toWechatApiError(error: unknown): WechatApiError {\n if (error instanceof WechatApiError) return error\n const axiosError = error as {\n response?: { status?: number; data?: { code?: string; message?: string } }\n code?: string\n message?: string\n }\n const status = axiosError?.response?.status\n const bizCode = axiosError?.response?.data?.code\n const bizMessage = axiosError?.response?.data?.message\n if (status !== undefined) {\n return new WechatApiError(\n `微信支付接口调用失败: ${bizMessage ?? axiosError?.message ?? '未知错误'} (${status}${bizCode ? `, ${bizCode}` : ''})`,\n status,\n bizCode ?? String(status)\n )\n }\n return new WechatApiError(\n `微信支付请求失败: ${axiosError?.message ?? '未知错误'}${axiosError?.code ? ` (${axiosError.code})` : ''}`,\n undefined,\n axiosError?.code ?? 'NETWORK_ERROR'\n )\n}\n\n/** 包装请求 promise:失败时抛出 WechatApiError */\nexport async function unwrapV3<T>(promise: PromiseLike<T>): Promise<T> {\n try {\n return await promise\n } catch (error) {\n throw toWechatApiError(error)\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/wechat/response.ts"],"sourcesContent":["/**\n * 微信支付 APIv3 错误归一化。\n *\n * v3 接口没有\"业务体 code\"约定:HTTP 2xx 即成功,失败以\n * 非 2xx 状态码 + JSON body {code, message} 表达(axios 会抛错)。\n * 本模块把 axios 错误统一转换为 WechatApiError。\n */\nexport class WechatApiError extends Error {\n /** HTTP 状态码(网络层错误时为 undefined) */\n readonly status?: number\n /** 错误码,如 PARAM_ERROR / RESOURCE_NOT_EXISTS / NETWORK_ERROR */\n readonly code: string\n\n constructor(message: string, status: number | undefined, code: string) {\n super(message)\n this.name = 'WechatApiError'\n this.status = status\n this.code = code\n }\n}\n\n/** 将任意请求异常归一化为 WechatApiError */\nexport function toWechatApiError(error: unknown): WechatApiError {\n if (error instanceof WechatApiError) return error\n const axiosError = error as {\n response?: { status?: number; data?: { code?: string; message?: string } }\n code?: string\n message?: string\n }\n const status = axiosError?.response?.status\n const bizCode = axiosError?.response?.data?.code\n const bizMessage = axiosError?.response?.data?.message\n if (status !== undefined) {\n return new WechatApiError(\n `微信支付接口调用失败: ${bizMessage ?? axiosError?.message ?? '未知错误'} (${status}${bizCode ? `, ${bizCode}` : ''})`,\n status,\n bizCode ?? String(status)\n )\n }\n return new WechatApiError(\n `微信支付请求失败: ${axiosError?.message ?? '未知错误'}${axiosError?.code ? ` (${axiosError.code})` : ''}`,\n undefined,\n axiosError?.code ?? 'NETWORK_ERROR'\n )\n}\n\n/** 包装请求 promise:失败时抛出 WechatApiError */\nexport async function unwrapV3<T>(promise: PromiseLike<T>): Promise<T> {\n try {\n return await promise\n } catch (error) {\n throw toWechatApiError(error)\n }\n}\n"],"mappings":";;;;AAOO,IAAM,kBAAN,MAAM,wBAAuB,MAAM;AAAA,EAMxC,YAAY,SAAiB,QAA4B,MAAc;AACrE,UAAM,OAAO;AACb,SAAK,OAAO;AACZ,SAAK,SAAS;AACd,SAAK,OAAO;AAAA,EACd;AACF;AAZ0C;AAAnC,IAAM,iBAAN;AAeA,SAAS,iBAAiB,OAAgC;AAC/D,MAAI,iBAAiB,eAAgB,QAAO;AAC5C,QAAM,aAAa;AAKnB,QAAM,SAAS,YAAY,UAAU;AACrC,QAAM,UAAU,YAAY,UAAU,MAAM;AAC5C,QAAM,aAAa,YAAY,UAAU,MAAM;AAC/C,MAAI,WAAW,QAAW;AACxB,WAAO,IAAI;AAAA,MACT,iEAAe,cAAc,YAAY,WAAW,0BAAM,KAAK,MAAM,GAAG,UAAU,KAAK,OAAO,KAAK,EAAE;AAAA,MACrG;AAAA,MACA,WAAW,OAAO,MAAM;AAAA,IAC1B;AAAA,EACF;AACA,SAAO,IAAI;AAAA,IACT,qDAAa,YAAY,WAAW,0BAAM,GAAG,YAAY,OAAO,KAAK,WAAW,IAAI,MAAM,EAAE;AAAA,IAC5F;AAAA,IACA,YAAY,QAAQ;AAAA,EACtB;AACF;AAtBgB;AAyBhB,eAAsB,SAAY,SAAqC;AACrE,MAAI;AACF,WAAO,MAAM;AAAA,EACf,SAAS,OAAO;AACd,UAAM,iBAAiB,KAAK;AAAA,EAC9B;AACF;AANsB;","names":[]}
@@ -1,4 +1,20 @@
1
- 'use strict';
1
+ var __VOBS_CJS_FILE_URL = require("url").pathToFileURL(__filename).href;
2
+ "use strict";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from))
10
+ if (!__hasOwnProp.call(to, key) && key !== except)
11
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ }
13
+ return to;
14
+ };
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
2
16
 
3
- //# sourceMappingURL=types.cjs.map
17
+ // packages/payment/src/wechat/types.ts
18
+ var types_exports = {};
19
+ module.exports = __toCommonJS(types_exports);
4
20
  //# sourceMappingURL=types.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"types.cjs"}
1
+ {"version":3,"sources":["../../src/wechat/types.ts"],"sourcesContent":["/** 微信支付 APIv3 交易状态 */\nexport type WechatTradeState =\n | 'SUCCESS'\n | 'REFUND'\n | 'NOTPAY'\n | 'CLOSED'\n | 'REVOKED'\n | 'USERPAYING'\n | 'PAYERROR'\n\n/** 微信支付 APIv3 退款状态 */\nexport type WechatRefundStatus = 'SUCCESS' | 'CLOSED' | 'PROCESSING' | 'ABNORMAL'\n\nexport interface WechatPayParams {\n /** 商户订单号(6-32 位,商户侧唯一) */\n outTradeNo: string\n /** 商品描述 */\n description: string\n /** 订单金额(单位:分) */\n amount: WechatOrderAmount\n /** 支付者 openid(jsapi / 小程序支付必填) */\n openid?: string\n /** 附加数据,回调时原样返回 */\n attach?: string\n /** 优惠标记 */\n goodsTag?: string\n /** 订单过期时间(RFC 3339,如 2018-06-08T10:34:56+08:00) */\n timeExpire?: string\n}\n\n/** H5 支付参数(额外要求支付者 IP) */\nexport interface WechatH5PayParams extends WechatPayParams {\n /** 用户客户端 IP */\n payerClientIp: string\n /** 场景信息 */\n sceneInfo?: {\n payerClientIp?: string\n deviceType?: string\n }\n}\n\n/** JSAPI / 小程序调起支付所需参数(wx.requestPayment / WeixinJSBridge) */\nexport interface WechatJsapiPayResult {\n appId: string\n timeStamp: string\n nonceStr: string\n package: string\n signType: 'RSA'\n paySign: string\n}\n\n/** APP 调起支付所需参数(与 JSAPI 同构) */\nexport interface WechatAppPayResult extends WechatJsapiPayResult {}\n\n/** Native 下单结果:二维码链接 */\nexport interface WechatNativePayResult {\n codeUrl: string\n}\n\n/** H5 下单结果:收银台跳转链接 */\nexport interface WechatH5PayResult {\n h5Url: string\n}\n\n/** 交易查询参数(outTradeNo 与 transactionId 二选一) */\nexport interface WechatQueryParams {\n outTradeNo?: string\n transactionId?: string\n}\n\n/** 交易查询结果(snake_case 已映射为 camelCase) */\nexport interface WechatQueryResult {\n appid: string\n mchid: string\n outTradeNo: string\n transactionId: string\n tradeType?: string\n tradeState: WechatTradeState\n tradeStateDesc?: string\n bankType?: string\n attach?: string\n successTime?: string\n /** 订单总金额(分) */\n total: number\n /** 用户实付金额(分) */\n payerTotal?: number\n}\n\n/** 退款金额 */\nexport interface WechatRefundParams {\n outTradeNo?: string\n transactionId?: string\n /** 商户退款单号(商户侧唯一) */\n outRefundNo: string\n /** 退款金额(单位:分) */\n amount: WechatRefundAmount\n /** 退款原因 */\n reason?: string\n /** 退款结果回调地址 */\n notifyUrl?: string\n /** 退款资金来源:AVAILABLE(可用余额)| UNSETTLED(待结算资金),默认 AVAILABLE */\n fundsAccount?: 'AVAILABLE' | 'UNSETTLED'\n}\n\n/** 退款申请结果 */\nexport interface WechatRefundResult {\n refundId: string\n outRefundNo: string\n outTradeNo: string\n transactionId: string\n status: WechatRefundStatus\n /** 退款金额(分) */\n refundAmount: number\n /** 订单总金额(分) */\n total: number\n /** 退款入账账户金额(分) */\n userReceivedAmount?: number\n successTime?: string\n reason?: string\n}\n\n/** 退款查询参数(outRefundNo 与 refundId 二选一) */\nexport interface WechatRefundQueryParams {\n outRefundNo?: string\n refundId?: string\n}\n\n/** 异步通知报文 resource 字段(AES-256-GCM 加密) */\nexport interface WechatNotifyResource {\n originalType?: string\n algorithm?: string\n ciphertext: string\n associatedData?: string\n nonce: string\n}\n\n/** 异步通知验签所需的 HTTP 头 */\nexport interface WechatNotifyHeaders {\n /** Wechatpay-Timestamp */\n timestamp: string\n /** Wechatpay-Nonce */\n nonce: string\n /** Wechatpay-Serial(平台证书序列号 / 微信支付公钥 ID) */\n serial: string\n /** Wechatpay-Signature */\n signature: string\n}\n\n/** 解密后的支付成功/状态变更通知 */\nexport interface WechatNotifyTransaction {\n mchid: string\n appid: string\n outTradeNo: string\n transactionId: string\n tradeType?: string\n tradeState: WechatTradeState\n tradeStateDesc?: string\n bankType?: string\n attach?: string\n successTime?: string\n amount: {\n total: number\n payerTotal?: number\n currency?: string\n payerCurrency?: string\n }\n}\n\n/** 解密后的退款结果通知 */\nexport interface WechatNotifyRefund {\n mchid: string\n outTradeNo: string\n transactionId: string\n outRefundNo: string\n refundId: string\n refundStatus: WechatRefundStatus\n successTime?: string\n amount: {\n total: number\n refund: number\n payerTotal?: number\n userReceivedAmount?: number\n currency?: string\n }\n userAccount?: string\n}\n\n/** 微信支付客户端配置 */\nexport interface WechatClientOptions {\n /** 商户号 */\n mchid: string\n /** 商户 API 证书序列号 */\n serial: string\n /** 商户 API 私钥(PEM 字符串) */\n privateKey: string\n /** 平台证书 / 微信支付公钥,{序列号(或公钥ID): PEM} 映射;通知验签按 Wechatpay-Serial 查找 */\n certs: Record<string, string>\n /** 应用 ID(公众号 / 小程序 / APP),用于下单与调起签名 */\n appid: string\n /** APIv3 密钥(32 字节,回调解密用) */\n apiv3Key: string\n /** 异步通知地址(下单时可被 params.notifyUrl 覆盖) */\n notifyUrl?: string\n /** 请求超时(毫秒) */\n timeout?: number\n}\n\n/** 订单金额(单位:分) */\nexport interface WechatOrderAmount {\n /** 订单总金额(分) */\n total: number\n /** 币种,默认 CNY */\n currency?: string\n}\n\n/** 退款金额(单位:分) */\nexport interface WechatRefundAmount {\n /** 退款金额(分) */\n refund: number\n /** 原订单金额(分),分账等场景必填 */\n total?: number\n currency?: string\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -1,3 +1 @@
1
-
2
- //# sourceMappingURL=types.js.map
3
1
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "type": "git",
15
15
  "url": "git+https://github.com/vobsjs/vobs.git"
16
16
  },
17
- "version": "1.2.1",
17
+ "version": "1.3.0",
18
18
  "type": "module",
19
19
  "main": "./dist/index.cjs",
20
20
  "module": "./dist/index.js",
@@ -45,7 +45,7 @@
45
45
  "./source/*": "./src/*"
46
46
  },
47
47
  "dependencies": {
48
- "@vobs/vobs": "1.2.1"
48
+ "@vobs/vobs": "1.3.0"
49
49
  },
50
50
  "peerDependencies": {
51
51
  "alipay-sdk": "^4.14.0",