pixelarraythirdparty 1.1.0__py3-none-any.whl → 1.1.2__py3-none-any.whl

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.
@@ -11,7 +11,7 @@ PixelArray 第三方微服务客户端
11
11
  - unified_login: 统一登录模块
12
12
  """
13
13
 
14
- __version__ = "1.1.0"
14
+ __version__ = "1.1.2"
15
15
  __author__ = "Lu qi"
16
16
  __email__ = "qi.lu@pixelarrayai.com"
17
17
 
@@ -34,3 +34,22 @@ class AsyncClient:
34
34
  # 如果不是JSON响应,返回空
35
35
  pass
36
36
  return {}, False
37
+
38
+ async def _request_raw(
39
+ self, method: str, url: str, **kwargs
40
+ ) -> Tuple[int, Dict[str, Any]]:
41
+ headers = self.headers.copy()
42
+ if "headers" in kwargs:
43
+ headers.update(kwargs["headers"])
44
+ kwargs = {k: v for k, v in kwargs.items() if k != "headers"}
45
+
46
+ async with aiohttp.ClientSession() as session:
47
+ req_method = getattr(session, method.lower())
48
+ async with req_method(
49
+ f"{self.base_url}{url}", headers=headers, **kwargs
50
+ ) as resp:
51
+ try:
52
+ data = await resp.json()
53
+ except:
54
+ data = {}
55
+ return resp.status, data
@@ -4,24 +4,15 @@ from pixelarraythirdparty.client import AsyncClient
4
4
  class CronManagerAsync(AsyncClient):
5
5
  async def get_cron_status(self):
6
6
  """
7
- 获取Cron服务状态(异步版本)
8
-
9
- 功能说明:
10
- 获取Cron服务的运行状态,包括已注册的任务、工作节点状态等。
11
-
12
- 输入参数:
13
-
14
-
15
- 返回字段:
16
- data (dict): Cron服务状态信息
17
- - registered_tasks (dict): 已注册的任务列表,按工作节点分组
18
- - worker_stats (dict): 工作节点统计信息
19
- - scheduled_task_count (int): 定时任务数量
20
- - timestamp (str): 状态获取时间
21
- success (bool): 操作是否成功
22
-
23
- 异常情况:
24
- - 获取Cron状态失败:返回错误信息"获取Cron状态失败"
7
+ description:
8
+ 获取Cron服务状态,包括已注册的任务、工作节点状态等。
9
+ return:
10
+ data(dict): Cron服务状态信息
11
+ - registered_tasks(dict): 已注册的任务列表,按工作节点分组
12
+ - worker_stats(dict): 工作节点统计信息
13
+ - scheduled_task_count(int): 定时任务数量
14
+ - timestamp(str): 状态获取时间
15
+ success(bool): 操作是否成功
25
16
  """
26
17
  data, success = await self._request("GET", "/api/cron/status")
27
18
  if not success:
@@ -30,23 +21,14 @@ class CronManagerAsync(AsyncClient):
30
21
 
31
22
  async def get_cron_tasks(self):
32
23
  """
33
- 获取已注册任务列表(异步版本)
34
-
35
- 功能说明:
24
+ description:
36
25
  获取所有已注册的Cron任务列表。
37
-
38
- 输入参数:
39
-
40
-
41
- 返回字段:
42
- data (dict): 任务列表信息
43
- - tasks (list): 已注册的任务名称列表
44
- - count (int): 任务数量
45
- - timestamp (str): 获取时间
46
- success (bool): 操作是否成功
47
-
48
- 异常情况:
49
- - 获取任务列表失败:返回错误信息"获取任务列表失败"
26
+ return:
27
+ data(dict): 任务列表信息
28
+ - tasks(list): 已注册的任务名称列表
29
+ - count(int): 任务数量
30
+ - timestamp(str): 获取时间
31
+ success(bool): 操作是否成功
50
32
  """
51
33
  data, success = await self._request("GET", "/api/cron/tasks")
52
34
  if not success:
@@ -55,35 +37,26 @@ class CronManagerAsync(AsyncClient):
55
37
 
56
38
  async def get_cron_tasks_scheduled(self):
57
39
  """
58
- 获取定时任务列表(异步版本)
59
-
60
- 功能说明:
40
+ description:
61
41
  获取所有配置的定时任务列表,包括任务详情、执行时间、状态等。
62
-
63
- 输入参数:
64
-
65
-
66
- 返回字段:
67
- data (dict): 定时任务列表信息
68
- - tasks (list): 定时任务列表
69
- - id (str): 任务ID
70
- - name (str): 任务名称
71
- - description (str): 任务描述
72
- - schedule (str): 执行时间
73
- - enabled (bool): 是否启用
74
- - task_name (str): 任务函数名
75
- - module_name (str): 模块名
76
- - function_name (str): 函数名
77
- - file_path (str): 文件路径
78
- - parameters (list): 参数列表
79
- - task_config (dict): 任务配置
80
- - registration_info (dict): 注册信息
81
- - count (int): 任务数量
82
- - timestamp (str): 获取时间
83
- success (bool): 操作是否成功
84
-
85
- 异常情况:
86
- - 获取定时任务列表失败:返回错误信息"获取定时任务列表失败"
42
+ return:
43
+ data(dict): 定时任务列表信息
44
+ - tasks(list): 定时任务列表
45
+ - id(str): 任务ID
46
+ - name(str): 任务名称
47
+ - description(str): 任务描述
48
+ - schedule(str): 执行时间
49
+ - enabled(bool): 是否启用
50
+ - task_name(str): 任务函数名
51
+ - module_name(str): 模块名
52
+ - function_name(str): 函数名
53
+ - file_path(str): 文件路径
54
+ - parameters(list): 参数列表
55
+ - task_config(dict): 任务配置
56
+ - registration_info(dict): 注册信息
57
+ - count(int): 任务数量
58
+ - timestamp(str): 获取时间
59
+ success(bool): 操作是否成功
87
60
  """
88
61
  data, success = await self._request("GET", "/api/cron/tasks/scheduled")
89
62
  if not success:
@@ -92,30 +65,22 @@ class CronManagerAsync(AsyncClient):
92
65
 
93
66
  async def get_cron_tasks_detail(self, task_name: str):
94
67
  """
95
- 获取任务详情(异步版本)
96
-
97
- 功能说明:
68
+ description:
98
69
  根据任务名称获取指定任务的详细信息。
99
-
100
- 输入参数:
101
- task_name (str): 任务名称,必填,需要URL编码
102
-
103
- 返回字段:
104
- data (dict): 任务详细信息
105
- - task_name (str): 任务名称
106
- - module_name (str): 模块名
107
- - function_name (str): 函数名
108
- - file_path (str): 文件路径
109
- - description (str): 任务描述
110
- - parameters (list): 参数列表
111
- - task_config (dict): 任务配置
112
- - registration_info (dict): 注册信息
113
- - timestamp (str): 获取时间
114
- success (bool): 操作是否成功
115
-
116
- 异常情况:
117
- - 任务不存在:返回错误信息"任务不存在"
118
- - 获取任务详情失败:返回错误信息"获取任务详情失败"
70
+ parameters:
71
+ task_name(str): 任务名称
72
+ return:
73
+ data(dict): 任务详细信息
74
+ - task_name(str): 任务名称
75
+ - module_name(str): 模块名
76
+ - function_name(str): 函数名
77
+ - file_path(str): 文件路径
78
+ - description(str): 任务描述
79
+ - parameters(list): 参数列表
80
+ - task_config(dict): 任务配置
81
+ - registration_info(dict): 注册信息
82
+ - timestamp(str): 获取时间
83
+ success(bool): 操作是否成功
119
84
  """
120
85
  data, success = await self._request("GET", f"/api/cron/tasks/{task_name}")
121
86
  if not success:
@@ -124,27 +89,19 @@ class CronManagerAsync(AsyncClient):
124
89
 
125
90
  async def trigger_cron_task(self, task_name: str, args: list, kwargs: dict):
126
91
  """
127
- 触发任务执行(异步版本)
128
-
129
- 功能说明:
92
+ description:
130
93
  手动触发指定任务的执行,支持传递参数。
131
-
132
- 输入参数:
133
- task_name (str): 任务名称,必填,需要URL编码
134
- args (list): 任务参数列表,可选
135
- kwargs (dict): 任务关键字参数,可选
136
-
137
- 返回字段:
138
- data (dict): 任务触发信息
139
- - task_id (str): 任务ID
140
- - task_name (str): 任务名称
141
- - status (str): 任务状态,初始为"PENDING"
142
- - message (str): 触发消息
143
- success (bool): 操作是否成功
144
-
145
- 异常情况:
146
- - 任务不存在:返回错误信息"任务不存在"
147
- - 任务触发失败:返回错误信息"任务触发失败"
94
+ parameters:
95
+ task_name(str): 任务名称
96
+ args(list): 任务参数列表
97
+ kwargs(dict): 任务关键字参数
98
+ return:
99
+ data(dict): 任务触发信息
100
+ - task_id(str): 任务ID
101
+ - task_name(str): 任务名称
102
+ - status(str): 任务状态,初始为"PENDING"
103
+ - message(str): 触发消息
104
+ success(bool): 操作是否成功
148
105
  """
149
106
  data, success = await self._request(
150
107
  "POST",
@@ -10,37 +10,27 @@ class OrderManagerAsync(AsyncClient):
10
10
  payment_channel: str = "WECHAT",
11
11
  ):
12
12
  """
13
- 创建订单(异步版本)
14
-
15
- 功能说明:
13
+ description:
16
14
  根据产品ID创建新的订单,系统会自动生成订单号,获取产品价格信息,并创建对应的支付订单。
17
-
18
- 输入参数:
19
- product_id (str): 产品ID,必填,用于获取产品信息和价格
20
- body (str, 可选): 商品描述,如果不提供则使用产品名称
21
- remark (str, 可选): 订单备注信息
22
- payment_channel (str, 可选): 支付渠道,默认为"WECHAT"(微信支付)
23
-
24
- 返回字段:
25
- data (dict): 订单信息
26
- - id (int): 订单ID
27
- - out_trade_no (str): 商户订单号,格式为"ORD_时间戳_随机字符串"
28
- - payment_status (str): 支付状态,初始为"PENDING"(待支付)
29
- - payment_channel (str): 支付渠道
30
- - product_id (str): 产品ID
31
- - amount (str): 订单金额(元),格式为"99.00"
32
- - total_fee (int): 订单金额(分),用于支付接口
33
- - body (str): 商品描述
34
- - remark (str): 订单备注
35
- - created_at (str): 订单创建时间
36
- - updated_at (str): 订单更新时间
37
- success (bool): 操作是否成功
38
-
39
- 异常情况:
40
- - 产品ID为空:返回错误信息"产品ID不能为空"
41
- - 产品不存在:返回错误信息"产品不存在"
42
- - 产品价格无效:返回错误信息"产品价格无效"
43
- - 创建订单失败:返回错误信息"创建订单失败"
15
+ parameters:
16
+ product_id(str): 产品ID
17
+ body(str): 商品描述
18
+ remark(str): 订单备注
19
+ payment_channel(str): 支付渠道,可选值:"WECHAT"(微信支付)、"ALIPAY"(支付宝支付)
20
+ return:
21
+ data(dict): 订单信息
22
+ - id(int): 订单ID
23
+ - out_trade_no(str): 商户订单号,格式为"ORD_时间戳_随机字符串"
24
+ - payment_status(str): 支付状态,初始为"PENDING"(待支付)
25
+ - payment_channel(str): 支付渠道
26
+ - product_id(str): 产品ID
27
+ - amount(str): 订单金额(元),格式为"99.00"
28
+ - total_fee(int): 订单金额(分),用于支付接口
29
+ - body(str): 商品描述
30
+ - remark(str): 订单备注
31
+ - created_at(str): 订单创建时间
32
+ - updated_at(str): 订单更新时间
33
+ success(bool): 操作是否成功
44
34
  """
45
35
  data = {
46
36
  "product_id": product_id,
@@ -61,39 +51,28 @@ class OrderManagerAsync(AsyncClient):
61
51
  out_trade_no: str = None,
62
52
  ):
63
53
  """
64
- 获取订单列表(异步版本)
65
-
66
- 功能说明:
54
+ description:
67
55
  分页查询订单列表,支持按支付状态和订单号进行筛选。
68
-
69
- 输入参数:
70
- page (int, 可选): 页码,默认为1,最小值为1
71
- page_size (int, 可选): 每页数量,默认为10,范围为1-1000
72
- payment_status (str, 可选): 支付状态筛选,可选值:
73
- - "PENDING": 待支付
74
- - "PAID": 已支付
75
- - "REFUNDED": 已退款
76
- - "CANCELLED": 已取消
77
- out_trade_no (str, 可选): 订单号搜索,支持模糊匹配
78
-
79
- 返回字段:
80
- data (dict): 订单列表信息
81
- - orders (list): 订单列表
82
- - id (int): 订单ID
83
- - out_trade_no (str): 商户订单号
84
- - payment_status (str): 支付状态
85
- - payment_channel (str): 支付渠道
86
- - amount (str): 订单金额(元)
87
- - total_fee (int): 订单金额(分)
88
- - created_at (str): 订单创建时间
89
- - updated_at (str): 订单更新时间
90
- - total (int): 总订单数量
91
- - page (int): 当前页码
92
- - page_size (int): 每页数量
93
- success (bool): 操作是否成功
94
-
95
- 异常情况:
96
- - 获取订单列表失败:返回错误信息"获取订单列表失败"
56
+ parameters:
57
+ page(int): 页码
58
+ page_size(int): 每页数量
59
+ payment_status(str): 支付状态,可选值:"PENDING"(待支付)、"PAID"(已支付)、"REFUNDED"(已退款)、"CANCELLED"(已取消)
60
+ out_trade_no(str): 订单号,支持模糊匹配
61
+ return:
62
+ data(dict): 订单列表信息
63
+ - orders(list): 订单列表
64
+ - id(int): 订单ID
65
+ - out_trade_no(str): 商户订单号
66
+ - payment_status(str): 支付状态
67
+ - payment_channel(str): 支付渠道
68
+ - amount(str): 订单金额(元)
69
+ - total_fee(int): 订单金额(分)
70
+ - created_at(str): 订单创建时间
71
+ - updated_at(str): 订单更新时间
72
+ - total(int): 总订单数量
73
+ - page(int): 当前页码
74
+ - page_size(int): 每页数量
75
+ success(bool): 操作是否成功
97
76
  """
98
77
  params = {
99
78
  "page": page,
@@ -111,39 +90,31 @@ class OrderManagerAsync(AsyncClient):
111
90
 
112
91
  async def get_order_detail(self, out_trade_no: str):
113
92
  """
114
- 获取订单详情(异步版本)
115
-
116
- 功能说明:
93
+ description:
117
94
  根据订单号获取订单的详细信息,包括支付状态、交易信息等。
118
-
119
- 输入参数:
120
- out_trade_no (str): 商户订单号,必填
121
-
122
- 返回字段:
123
- data (dict): 订单详细信息
124
- - id (int): 订单ID
125
- - out_trade_no (str): 商户订单号
126
- - payment_status (str): 支付状态
127
- - product_id (str): 产品ID
128
- - amount (str): 订单金额(元)
129
- - total_fee (int): 订单金额(分)
130
- - body (str): 商品描述
131
- - transaction_id (str): 微信交易号(支付成功后才有)
132
- - openid (str): 用户openid(支付成功后才有)
133
- - trade_type (str): 交易类型(支付成功后才有)
134
- - bank_type (str): 银行类型(支付成功后才有)
135
- - fee_type (str): 货币类型,默认为"CNY"
136
- - is_subscribe (str): 是否关注公众号(支付成功后才有)
137
- - time_end (str): 支付完成时间(支付成功后才有)
138
- - created_at (str): 订单创建时间
139
- - updated_at (str): 订单更新时间
140
- - paid_at (str): 支付时间(支付成功后才有)
141
- - remark (str): 订单备注
142
- success (bool): 操作是否成功
143
-
144
- 异常情况:
145
- - 订单不存在:返回错误信息"订单不存在"
146
- - 获取订单详情失败:返回错误信息"获取订单详情失败"
95
+ parameters:
96
+ out_trade_no(str): 商户订单号
97
+ return:
98
+ data(dict): 订单详细信息
99
+ - id(int): 订单ID
100
+ - out_trade_no(str): 商户订单号
101
+ - payment_status(str): 支付状态
102
+ - product_id(str): 产品ID
103
+ - amount(str): 订单金额(元)
104
+ - total_fee(int): 订单金额(分)
105
+ - body(str): 商品描述
106
+ - transaction_id(str): 微信交易号(支付成功后才有)
107
+ - openid(str): 用户openid(支付成功后才有)
108
+ - trade_type(str): 交易类型(支付成功后才有)
109
+ - bank_type(str): 银行类型(支付成功后才有)
110
+ - fee_type(str): 货币类型,默认为"CNY"
111
+ - is_subscribe(str): 是否关注公众号(支付成功后才有)
112
+ - time_end(str): 支付完成时间(支付成功后才有)
113
+ - created_at(str): 订单创建时间
114
+ - updated_at(str): 订单更新时间
115
+ - paid_at(str): 支付时间(支付成功后才有)
116
+ - remark(str): 订单备注
117
+ success(bool): 操作是否成功
147
118
  """
148
119
  data, success = await self._request("GET", f"/api/orders/{out_trade_no}")
149
120
  if not success:
@@ -152,40 +123,27 @@ class OrderManagerAsync(AsyncClient):
152
123
 
153
124
  async def update_order_status(self, out_trade_no: str, payment_status: str):
154
125
  """
155
- 更新订单状态(异步版本)
156
-
157
- 功能说明:
126
+ description:
158
127
  更新指定订单的支付状态,仅支持状态修改,其他字段不可修改。
159
-
160
- 输入参数:
161
- out_trade_no (str): 商户订单号,必填
162
- payment_status (str): 支付状态,必填,可选值:
163
- - "PENDING": 待支付
164
- - "PAID": 已支付
165
- - "REFUNDED": 已退款
166
- - "CANCELLED": 已取消
167
-
168
- 返回字段:
169
- data (dict): 更新后的订单信息
170
- - id (int): 订单ID
171
- - out_trade_no (str): 商户订单号
172
- - payment_status (str): 更新后的支付状态
173
- - transaction_id (str): 微信交易号(如果已支付)
174
- - openid (str): 用户openid(如果已支付)
175
- - trade_type (str): 交易类型(如果已支付)
176
- - bank_type (str): 银行类型(如果已支付)
177
- - fee_type (str): 货币类型
178
- - is_subscribe (str): 是否关注公众号(如果已支付)
179
- - time_end (str): 支付完成时间(如果已支付)
180
- - paid_at (str): 支付时间(如果已支付)
181
- - updated_at (str): 订单更新时间
182
- - remark (str): 订单备注
183
- success (bool): 操作是否成功
184
-
185
- 异常情况:
186
- - 支付状态为空:返回错误信息"支付状态不能为空"
187
- - 订单不存在:返回错误信息"订单不存在"
188
- - 更新订单状态失败:返回错误信息"更新订单状态失败"
128
+ parameters:
129
+ out_trade_no(str): 商户订单号
130
+ payment_status(str): 支付状态,可选值:"PENDING"(待支付)、"PAID"(已支付)、"REFUNDED"(已退款)、"CANCELLED"(已取消)
131
+ return:
132
+ data(dict): 更新后的订单信息
133
+ - id(int): 订单ID
134
+ - out_trade_no(str): 商户订单号
135
+ - payment_status(str): 更新后的支付状态
136
+ - transaction_id(str): 微信交易号(如果已支付)
137
+ - openid(str): 用户openid(如果已支付)
138
+ - trade_type(str): 交易类型(如果已支付)
139
+ - bank_type(str): 银行类型(如果已支付)
140
+ - fee_type(str): 货币类型
141
+ - is_subscribe(str): 是否关注公众号(如果已支付)
142
+ - time_end(str): 支付完成时间(如果已支付)
143
+ - paid_at(str): 支付时间(如果已支付)
144
+ - updated_at(str): 订单更新时间
145
+ - remark(str): 订单备注
146
+ success(bool): 操作是否成功
189
147
  """
190
148
  data = {"payment_status": payment_status}
191
149
  data, success = await self._request(
@@ -197,21 +155,13 @@ class OrderManagerAsync(AsyncClient):
197
155
 
198
156
  async def delete_order(self, out_trade_no: str):
199
157
  """
200
- 删除订单(异步版本)
201
-
202
- 功能说明:
158
+ description:
203
159
  根据订单号删除指定的订单记录。
204
-
205
- 输入参数:
206
- out_trade_no (str): 商户订单号,必填
207
-
208
- 返回字段:
209
- data (None): 删除成功时返回None
210
- success (bool): 操作是否成功
211
-
212
- 异常情况:
213
- - 订单不存在:返回错误信息"订单不存在"
214
- - 删除订单失败:返回错误信息"删除订单失败"
160
+ parameters:
161
+ out_trade_no(str): 商户订单号
162
+ return:
163
+ data(None): 删除成功时返回None
164
+ success(bool): 操作是否成功
215
165
  """
216
166
  data, success = await self._request("DELETE", f"/api/orders/{out_trade_no}")
217
167
  if not success:
@@ -220,26 +170,17 @@ class OrderManagerAsync(AsyncClient):
220
170
 
221
171
  async def get_order_stats(self):
222
172
  """
223
- 获取订单统计信息(异步版本)
224
-
225
- 功能说明:
173
+ description:
226
174
  获取订单的统计汇总信息,包括总订单数、各状态订单数量、总金额等。
227
-
228
- 输入参数:
229
-
230
-
231
- 返回字段:
232
- data (dict): 订单统计信息
233
- - total_orders (int): 总订单数量
234
- - pending_orders (int): 待支付订单数量
235
- - paid_orders (int): 已支付订单数量
236
- - refunded_orders (int): 已退款订单数量
237
- - total_amount (float): 总订单金额(元)
238
- - total_fee (int): 总订单金额(分)
239
- success (bool): 操作是否成功
240
-
241
- 异常情况:
242
- - 获取订单统计信息失败:返回错误信息"获取订单统计信息失败"
175
+ return:
176
+ data(dict): 订单统计信息
177
+ - total_orders(int): 总订单数量
178
+ - pending_orders(int): 待支付订单数量
179
+ - paid_orders(int): 已支付订单数量
180
+ - refunded_orders(int): 已退款订单数量
181
+ - total_amount(float): 总订单金额(元)
182
+ - total_fee(int): 总订单金额(分)
183
+ success(bool): 操作是否成功
243
184
  """
244
185
  data, success = await self._request("GET", "/api/orders/stats/summary")
245
186
  if not success:
@@ -248,26 +189,16 @@ class OrderManagerAsync(AsyncClient):
248
189
 
249
190
  async def generate_qr_code(self, out_trade_no: str):
250
191
  """
251
- 生成支付二维码(异步版本)
252
-
253
- 功能说明:
192
+ description:
254
193
  为指定订单生成支付二维码,支持微信支付和支付宝。二维码会自动上传到OSS并返回访问URL。
255
194
  如果不指定payment_channel,会自动从订单详情中获取支付渠道。
256
-
257
- 输入参数:
258
- out_trade_no (str): 商户订单号,必填
259
-
260
- 返回字段:
261
- data (dict): 二维码信息
262
- - qr_code_url (str): 二维码图片URL,可直接用于显示
263
- - out_trade_no (str): 商户订单号
264
- success (bool): 操作是否成功
265
-
266
- 异常情况:
267
- - 订单号为空:返回错误信息"订单号不能为空"
268
- - 订单不存在:返回错误信息"订单不存在"
269
- - 不支持的支付渠道:抛出ValueError异常
270
- - 生成支付二维码失败:返回错误信息"生成支付二维码失败"
195
+ parameters:
196
+ out_trade_no(str): 商户订单号
197
+ return:
198
+ data(dict): 二维码信息
199
+ - qr_code_url(str): 二维码图片URL,可直接用于显示
200
+ - out_trade_no(str): 商户订单号
201
+ success(bool): 操作是否成功
271
202
  """
272
203
  order_detail, success = await self.get_order_detail(out_trade_no)
273
204
  print(order_detail)
@@ -296,28 +227,17 @@ class OrderManagerAsync(AsyncClient):
296
227
 
297
228
  async def refund_order(self, out_trade_no: str):
298
229
  """
299
- 申请订单退款(异步版本)
300
-
301
- 功能说明:
230
+ description:
302
231
  为指定订单申请退款,支持微信支付和支付宝。退款申请提交后,系统会处理退款并更新订单状态。
303
-
304
- 输入参数:
305
- out_trade_no (str): 商户订单号,必填
306
-
307
- 返回字段:
308
- data (dict): 退款信息
309
- - out_refund_no (str): 退款单号,格式为"REFUND_订单号_时间戳"
310
- - out_trade_no (str): 商户订单号
311
- - total_fee (int): 退款金额(分,微信支付)
312
- - refund_amount (float): 退款金额(元,支付宝)
313
- success (bool): 操作是否成功
314
-
315
- 异常情况:
316
- - 订单号为空:返回错误信息"订单号不能为空"
317
- - 订单不存在:返回错误信息"订单不存在"
318
- - 订单状态不允许退款:返回错误信息"订单状态不允许退款"
319
- - 不支持的支付渠道:抛出ValueError异常
320
- - 退款申请失败:返回错误信息"退款申请失败"
232
+ parameters:
233
+ out_trade_no(str): 商户订单号
234
+ return:
235
+ data(dict): 退款信息
236
+ - out_refund_no(str): 退款单号,格式为"REFUND_订单号_时间戳"
237
+ - out_trade_no(str): 商户订单号
238
+ - total_fee(int): 退款金额(分,微信支付)
239
+ - refund_amount(float): 退款金额(元,支付宝)
240
+ success(bool): 操作是否成功
321
241
  """
322
242
  order_detail, success = await self.get_order_detail(out_trade_no)
323
243
  if not success: