-
Notifications
You must be signed in to change notification settings - Fork 3
/
payment.go
772 lines (724 loc) · 25.7 KB
/
payment.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
package api
import (
"context"
)
// Payment 实时支付
type Payment interface {
// CreateBankpayOrder 银行卡实时支付
CreateBankpayOrder(context.Context, *CreateBankpayOrderRequest) (*CreateBankpayOrderResponse, error)
// CreateAlipayOrder 支付宝实时支付
CreateAlipayOrder(context.Context, *CreateAlipayOrderRequest) (*CreateAlipayOrderResponse, error)
// CreateWxpayOrder 微信实时支付
CreateWxpayOrder(context.Context, *CreateWxpayOrderRequest) (*CreateWxpayOrderResponse, error)
// GetOrder 查询单笔订单信息
GetOrder(context.Context, *GetOrderRequest) (*GetOrderResponse, error)
// GetDealerVARechargeAccount 查询平台企业汇款信息
GetDealerVARechargeAccount(context.Context, *GetDealerVARechargeAccountRequest) (*GetDealerVARechargeAccountResponse, error)
// ListAccount 查询平台企业余额
ListAccount(context.Context, *ListAccountRequest) (*ListAccountResponse, error)
// GetEleReceiptFile 查询电子回单
GetEleReceiptFile(context.Context, *GetEleReceiptFileRequest) (*GetEleReceiptFileResponse, error)
// CancelOrder 取消待支付订单
CancelOrder(context.Context, *CancelOrderRequest) (*CancelOrderResponse, error)
// CreateBatchOrder 批次下单
CreateBatchOrder(context.Context, *CreateBatchOrderRequest) (*CreateBatchOrderResponse, error)
// ConfirmBatchOrder 批次确认
ConfirmBatchOrder(context.Context, *ConfirmBatchOrderRequest) (*ConfirmBatchOrderResponse, error)
// QueryBatchOrder 查询批次订单信息
QueryBatchOrder(context.Context, *QueryBatchOrderRequest) (*QueryBatchOrderResponse, error)
// CancelBatchOrder 批次撤销
CancelBatchOrder(context.Context, *CancelBatchOrderRequest) (*CancelBatchOrderResponse, error)
}
// paymentImpl Payment 接口实现
type paymentImpl struct {
cc Invoker
}
// NewPayment 创建客户端
func NewPayment(cc Invoker) Payment {
return &paymentImpl{cc}
}
// CreateBankpayOrder 银行卡实时支付
func (c *paymentImpl) CreateBankpayOrder(ctx context.Context, in *CreateBankpayOrderRequest) (*CreateBankpayOrderResponse, error) {
out := new(CreateBankpayOrderResponse)
err := c.cc.Invoke(ctx, "POST", "/api/payment/v1/order-bankpay", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// CreateAlipayOrder 支付宝实时支付
func (c *paymentImpl) CreateAlipayOrder(ctx context.Context, in *CreateAlipayOrderRequest) (*CreateAlipayOrderResponse, error) {
out := new(CreateAlipayOrderResponse)
err := c.cc.Invoke(ctx, "POST", "/api/payment/v1/order-alipay", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// CreateWxpayOrder 微信实时支付
func (c *paymentImpl) CreateWxpayOrder(ctx context.Context, in *CreateWxpayOrderRequest) (*CreateWxpayOrderResponse, error) {
out := new(CreateWxpayOrderResponse)
err := c.cc.Invoke(ctx, "POST", "/api/payment/v1/order-wxpay", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// GetOrder 查询单笔订单信息
func (c *paymentImpl) GetOrder(ctx context.Context, in *GetOrderRequest) (*GetOrderResponse, error) {
out := new(GetOrderResponse)
err := c.cc.Invoke(ctx, "GET", "/api/payment/v1/query-order", in.DataType == "encryption", in, out)
if err != nil {
return nil, err
}
return out, nil
}
// GetDealerVARechargeAccount 查询平台企业汇款信息
func (c *paymentImpl) GetDealerVARechargeAccount(ctx context.Context, in *GetDealerVARechargeAccountRequest) (*GetDealerVARechargeAccountResponse, error) {
out := new(GetDealerVARechargeAccountResponse)
err := c.cc.Invoke(ctx, "GET", "/api/payment/v1/va-account", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// ListAccount 查询平台企业余额
func (c *paymentImpl) ListAccount(ctx context.Context, in *ListAccountRequest) (*ListAccountResponse, error) {
out := new(ListAccountResponse)
err := c.cc.Invoke(ctx, "GET", "/api/payment/v1/query-accounts", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// GetEleReceiptFile 查询电子回单
func (c *paymentImpl) GetEleReceiptFile(ctx context.Context, in *GetEleReceiptFileRequest) (*GetEleReceiptFileResponse, error) {
out := new(GetEleReceiptFileResponse)
err := c.cc.Invoke(ctx, "GET", "/api/payment/v1/receipt/file", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// CancelOrder 取消待支付订单
func (c *paymentImpl) CancelOrder(ctx context.Context, in *CancelOrderRequest) (*CancelOrderResponse, error) {
out := new(CancelOrderResponse)
err := c.cc.Invoke(ctx, "POST", "/api/payment/v1/order/fail", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// CreateBatchOrder 批次下单
func (c *paymentImpl) CreateBatchOrder(ctx context.Context, in *CreateBatchOrderRequest) (*CreateBatchOrderResponse, error) {
out := new(CreateBatchOrderResponse)
err := c.cc.Invoke(ctx, "POST", "/api/payment/v1/order-batch", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// ConfirmBatchOrder 批次确认
func (c *paymentImpl) ConfirmBatchOrder(ctx context.Context, in *ConfirmBatchOrderRequest) (*ConfirmBatchOrderResponse, error) {
out := new(ConfirmBatchOrderResponse)
err := c.cc.Invoke(ctx, "POST", "/api/payment/v1/confirm-batch", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// QueryBatchOrder 查询批次订单信息
func (c *paymentImpl) QueryBatchOrder(ctx context.Context, in *QueryBatchOrderRequest) (*QueryBatchOrderResponse, error) {
out := new(QueryBatchOrderResponse)
err := c.cc.Invoke(ctx, "GET", "/api/payment/v1/query-batch", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// CancelBatchOrder 批次撤销
func (c *paymentImpl) CancelBatchOrder(ctx context.Context, in *CancelBatchOrderRequest) (*CancelBatchOrderResponse, error) {
out := new(CancelBatchOrderResponse)
err := c.cc.Invoke(ctx, "POST", "/api/payment/v1/cancel-batch", false, in, out)
if err != nil {
return nil, err
}
return out, nil
}
// CreateBankpayOrderRequest 银行卡实时支付请求
type CreateBankpayOrderRequest struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 姓名
RealName string `json:"real_name,omitempty"`
// 银行卡号
CardNo string `json:"card_no,omitempty"`
// 身份证号码
IDCard string `json:"id_card,omitempty"`
// 手机号
PhoneNo string `json:"phone_no,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 订单备注
PayRemark string `json:"pay_remark,omitempty"`
// 回调地址
NotifyURL string `json:"notify_url,omitempty"`
// 项目标识
ProjectID string `json:"project_id,omitempty"`
}
// CreateBankpayOrderResponse 银行卡实时支付返回
type CreateBankpayOrderResponse struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
}
// CreateAlipayOrderRequest 支付宝实时支付请求
type CreateAlipayOrderRequest struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 姓名
RealName string `json:"real_name,omitempty"`
// 支付宝账户
CardNo string `json:"card_no,omitempty"`
// 身份证号码
IDCard string `json:"id_card,omitempty"`
// 手机号
PhoneNo string `json:"phone_no,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 订单备注
PayRemark string `json:"pay_remark,omitempty"`
// 回调地址
NotifyURL string `json:"notify_url,omitempty"`
// 项目标识
ProjectID string `json:"project_id,omitempty"`
// 校验支付宝账户姓名,固定值:Check
CheckName string `json:"check_name,omitempty"`
}
// CreateAlipayOrderResponse 支付宝实时支付返回
type CreateAlipayOrderResponse struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
}
// CreateWxpayOrderRequest 微信实时支付请求
type CreateWxpayOrderRequest struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 姓名
RealName string `json:"real_name,omitempty"`
// 微信用户 openid
Openid string `json:"openid,omitempty"`
// 身份证号码
IDCard string `json:"id_card,omitempty"`
// 手机号
PhoneNo string `json:"phone_no,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 订单备注
PayRemark string `json:"pay_remark,omitempty"`
// 回调地址
NotifyURL string `json:"notify_url,omitempty"`
// 平台企业微信 AppID
WxAppID string `json:"wx_app_id,omitempty"`
// 微信支付模式,固定值:transfer
WxpayMode string `json:"wxpay_mode,omitempty"`
// 项目标识
ProjectID string `json:"project_id,omitempty"`
// 描述信息,该字段已废弃
Notes string `json:"notes,omitempty"`
}
// CreateWxpayOrderResponse 微信实时支付返回
type CreateWxpayOrderResponse struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 综合服务平台流水号,唯一
Ref string `json:"ref,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
}
// GetOrderRequest 查询单笔订单信息请求
type GetOrderRequest struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 支付路径名,银行卡(默认)、支付宝、微信
Channel string `json:"channel,omitempty"`
// 数据类型,如果为 encryption,则对返回的 data 进行加密
DataType string `json:"data_type,omitempty"`
}
// GetOrderResponse 查询单笔订单信息返回
type GetOrderResponse struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 姓名
RealName string `json:"real_name,omitempty"`
// 收款人账号
CardNo string `json:"card_no,omitempty"`
// 身份证号码
IDCard string `json:"id_card,omitempty"`
// 手机号
PhoneNo string `json:"phone_no,omitempty"`
// 订单状态码
Status string `json:"status,omitempty"`
// 订单详细状态码
StatusDetail string `json:"status_detail,omitempty"`
// 订单状态码描述
StatusMessage string `json:"status_message,omitempty"`
// 订单详细状态码描述
StatusDetailMessage string `json:"status_detail_message,omitempty"`
// 订单状态补充信息
SupplementalDetailMessage string `json:"supplemental_detail_message,omitempty"`
// 综合服务主体支付金额
BrokerAmount string `json:"broker_amount,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
// 支付交易流水号
BrokerBankBill string `json:"broker_bank_bill,omitempty"`
// 支付路径
WithdrawPlatform string `json:"withdraw_platform,omitempty"`
// 订单接收时间,精确到秒
CreatedAt string `json:"created_at,omitempty"`
// 订单完成时间,精确到秒
FinishedTime string `json:"finished_time,omitempty"`
// 综合服务主体加成服务费
BrokerFee string `json:"broker_fee,omitempty"`
// 余额账户支出加成服务费
BrokerRealFee string `json:"broker_real_fee,omitempty"`
// 抵扣账户支出加成服务费
BrokerDeductFee string `json:"broker_deduct_fee,omitempty"`
// 订单备注
PayRemark string `json:"pay_remark,omitempty"`
// 用户加成服务费
UserFee string `json:"user_fee,omitempty"`
// 银行名称
BankName string `json:"bank_name,omitempty"`
// 项目标识
ProjectID string `json:"project_id,omitempty"`
// 新就业形态劳动者 ID,该字段已废弃
AnchorID string `json:"anchor_id,omitempty"`
// 描述信息,该字段已废弃
Notes string `json:"notes,omitempty"`
// 系统支付金额,该字段已废弃
SysAmount string `json:"sys_amount,omitempty"`
// 税费,该字段已废弃
Tax string `json:"tax,omitempty"`
// 系统支付费用,该字段已废弃
SysFee string `json:"sys_fee,omitempty"`
}
// GetDealerVARechargeAccountRequest 查询平台企业汇款信息请求
type GetDealerVARechargeAccountRequest struct {
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
}
// GetDealerVARechargeAccountResponse 查询平台企业汇款信息返回
type GetDealerVARechargeAccountResponse struct {
// 账户名称
AcctName string `json:"acct_name,omitempty"`
// 专属账户
AcctNo string `json:"acct_no,omitempty"`
// 银行名称
BankName string `json:"bank_name,omitempty"`
// 付款账户
DealerAcctName string `json:"dealer_acct_name,omitempty"`
}
// CancelOrderRequest 取消待支付订单请求
type CancelOrderRequest struct {
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
// 支付路径名,银行卡(默认)、支付宝、微信
Channel string `json:"channel,omitempty"`
}
// CancelOrderResponse 取消待支付订单返回
type CancelOrderResponse struct {
Ok string `json:"ok,omitempty"`
}
// ListAccountRequest 查询平台企业余额请求
type ListAccountRequest struct {
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
}
// ListAccountResponse 查询平台企业余额返回
type ListAccountResponse struct {
DealerInfos []*AccountInfo `json:"dealer_infos,omitempty"`
}
// AccountInfo 账户信息
type AccountInfo struct {
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 银行卡余额
BankCardBalance string `json:"bank_card_balance,omitempty"`
// 是否开通银行卡支付路径
IsBankCard bool `json:"is_bank_card,omitempty"`
// 支付宝余额
AlipayBalance string `json:"alipay_balance,omitempty"`
// 是否开通支付宝支付路径
IsAlipay bool `json:"is_alipay,omitempty"`
// 微信余额
WxpayBalance string `json:"wxpay_balance,omitempty"`
// 是否开通微信支付路径
IsWxpay bool `json:"is_wxpay,omitempty"`
// 加成服务费返点余额
RebateFeeBalance string `json:"rebate_fee_balance,omitempty"`
// 业务服务费余额
AcctBalance string `json:"acct_balance,omitempty"`
// 总余额
TotalBalance string `json:"total_balance,omitempty"`
}
// GetEleReceiptFileRequest 查询电子回单请求
type GetEleReceiptFileRequest struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
}
// GetEleReceiptFileResponse 查询电子回单返回
type GetEleReceiptFileResponse struct {
// 链接失效时间
ExpireTime string `json:"expire_time,omitempty"`
// 回单名
FileName string `json:"file_name,omitempty"`
// 下载链接
URL string `json:"url,omitempty"`
}
// NotifyOrderRequest 订单支付状态回调通知V2
type NotifyOrderRequestV2 struct {
// 通知 ID
NotifyID string `json:"notify_id,omitempty"`
// 通知时间
NotifyTime string `json:"notify_time,omitempty"`
// 返回数据
Data *NotifyOrderData `json:"data,omitempty"`
}
// NotifyOrderData 订单支付状态回调通知数据
type NotifyOrderData struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 姓名
RealName string `json:"real_name,omitempty"`
// 收款人账号
CardNo string `json:"card_no,omitempty"`
// 身份证号码
IDCard string `json:"id_card,omitempty"`
// 手机号
PhoneNo string `json:"phone_no,omitempty"`
// 订单状态码
Status string `json:"status,omitempty"`
// 订单详细状态码
StatusDetail string `json:"status_detail,omitempty"`
// 订单状态码描述
StatusMessage string `json:"status_message,omitempty"`
// 订单详细状态码描述
StatusDetailMessage string `json:"status_detail_message,omitempty"`
// 订单状态补充信息
SupplementalDetailMessage string `json:"supplemental_detail_message,omitempty"`
// 综合服务主体支付金额
BrokerAmount string `json:"broker_amount,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
// 支付交易流水号
BrokerBankBill string `json:"broker_bank_bill,omitempty"`
// 支付路径
WithdrawPlatform string `json:"withdraw_platform,omitempty"`
// 订单接收时间,精确到秒
CreatedAt string `json:"created_at,omitempty"`
// 订单完成时间,精确到秒
FinishedTime string `json:"finished_time,omitempty"`
// 综合服务主体加成服务费
BrokerFee string `json:"broker_fee,omitempty"`
// 余额账户支出加成服务费
BrokerRealFee string `json:"broker_real_fee,omitempty"`
// 抵扣账户支出加成服务费
BrokerDeductFee string `json:"broker_deduct_fee,omitempty"`
// 订单备注
PayRemark string `json:"pay_remark,omitempty"`
// 用户加成服务费
UserFee string `json:"user_fee,omitempty"`
// 银行名称
BankName string `json:"bank_name,omitempty"`
// 项目标识
ProjectID string `json:"project_id,omitempty"`
// 平台企业用户 ID
UserID string `json:"user_id,omitempty"`
}
// NotifyOrderRequest 订单支付状态回调通知V1
// Deprecated
type NotifyOrderRequest struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 姓名
RealName string `json:"real_name,omitempty"`
// 收款人账号
CardNo string `json:"card_no,omitempty"`
// 身份证号码
IDCard string `json:"id_card,omitempty"`
// 手机号
PhoneNo string `json:"phone_no,omitempty"`
// 订单状态码
Status string `json:"status,omitempty"`
// 订单详细状态码
StatusDetail string `json:"status_detail,omitempty"`
// 订单状态码描述
StatusMessage string `json:"status_message,omitempty"`
// 订单详细状态码描述
StatusDetailMessage string `json:"status_detail_message,omitempty"`
// 综合服务主体支付金额
BrokerAmount string `json:"broker_amount,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
// 支付交易流水号
BrokerBankBill string `json:"broker_bank_bill,omitempty"`
// 支付路径
WithdrawPlatform string `json:"withdraw_platform,omitempty"`
// 订单接收时间,精确到秒
CreatedAt string `json:"created_at,omitempty"`
// 订单完成时间,精确到秒
FinishedTime string `json:"finished_time,omitempty"`
// 综合服务主体加成服务费
BrokerFee string `json:"broker_fee,omitempty"`
// 余额账户支出加成服务费
BrokerRealFee string `json:"broker_real_fee,omitempty"`
// 抵扣账户支出加成服务费
BrokerDeductFee string `json:"broker_deduct_fee,omitempty"`
// 订单备注
PayRemark string `json:"pay_remark,omitempty"`
// 用户加成服务费
UserFee string `json:"user_fee,omitempty"`
// 银行名称
BankName string `json:"bank_name,omitempty"`
// 项目标识
ProjectID string `json:"project_id,omitempty"`
// 新就业形态劳动者 ID,该字段已废弃
AnchorID string `json:"anchor_id,omitempty"`
// 描述信息,该字段已废弃
Notes string `json:"notes,omitempty"`
// 系统支付金额,该字段已废弃
SysAmount string `json:"sys_amount,omitempty"`
// 税费,该字段已废弃
Tax string `json:"tax,omitempty"`
// 系统支付费用,该字段已废弃
SysFee string `json:"sys_fee,omitempty"`
}
// CreateBatchOrderRequest 批次下单请求
type CreateBatchOrderRequest struct {
// 平台企业批次号
BatchID string `json:"batch_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 支付路径
Channel string `json:"channel,omitempty"`
// 平台企业的微信 AppID
WxAppID string `json:"wx_app_id,omitempty"`
// 订单总金额
TotalPay string `json:"total_pay,omitempty"`
// 总笔数
TotalCount string `json:"total_count,omitempty"`
// 支付模式
Mode string `json:"mode,omitempty"`
// 订单列表
OrderList []*BatchOrderInfo `json:"order_list,omitempty"`
}
// BatchOrderInfo 批次下单订单信息
type BatchOrderInfo struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 姓名
RealName string `json:"real_name,omitempty"`
// 身份证号码
IDCard string `json:"id_card,omitempty"`
// 收款账号
CardNo string `json:"card_no,omitempty"`
// 微信用户 openid
Openid string `json:"openid,omitempty"`
// 手机号
PhoneNo string `json:"phone_no,omitempty"`
// 项目标识
ProjectID string `json:"project_id,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 订单备注
PayRemark string `json:"pay_remark,omitempty"`
// 回调地址
NotifyURL string `json:"notify_url,omitempty"`
}
// CreateBatchOrderResponse 批次下单返回
type CreateBatchOrderResponse struct {
// 平台企业批次号
BatchID string `json:"batch_id,omitempty"`
// 订单结果列表
ResultList []*BatchOrderResult `json:"result_list,omitempty"`
}
// BatchOrderResult 批次下单返回订单信息
type BatchOrderResult struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 下单状态
Status string `json:"status,omitempty"`
// 下单失败原因
ErrorReasons []*BatchOrderErrorReasons `json:"error_reasons,omitempty"`
}
// BatchOrderErrorReasons 下单失败原因信息
type BatchOrderErrorReasons struct {
// 不允许下单原因码
ErrorCode string `json:"error_code,omitempty"`
// 不允许下单原因描述
ErrorMessage string `json:"error_message,omitempty"`
}
// ConfirmBatchOrderRequest 批次确认请求
type ConfirmBatchOrderRequest struct {
// 平台企业批次号
BatchID string `json:"batch_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 支付路径
Channel string `json:"channel,omitempty"`
}
// ConfirmBatchOrderResponse 批次确认返回
type ConfirmBatchOrderResponse struct {
}
// QueryBatchOrderRequest 查询批次订单信息请求
type QueryBatchOrderRequest struct {
// 平台企业批次号
BatchID string `json:"batch_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
}
// QueryBatchOrderResponse 查询批次订单信息返回
type QueryBatchOrderResponse struct {
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 平台企业批次号
BatchID string `json:"batch_id,omitempty"`
// 总笔数
TotalCount string `json:"total_count,omitempty"`
// 订单总金额
TotalPay string `json:"total_pay,omitempty"`
// 支付路径
Channel string `json:"channel,omitempty"`
// 批次状态码
BatchStatus string `json:"batch_status,omitempty"`
// 批次状态码描述
BatchStatusMessage string `json:"batch_status_message,omitempty"`
// 批次接收时间
BatchReceivedTime string `json:"batch_received_time,omitempty"`
// 批次订单列表
OrderList []*QueryBatchOrderInfo `json:"order_list,omitempty"`
}
// QueryBatchOrderInfo 查询批次订单信息订单详情
type QueryBatchOrderInfo struct {
// 平台企业订单号
OrderID string `json:"order_id,omitempty"`
// 订单金额
Pay string `json:"pay,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 姓名
RealName string `json:"real_name,omitempty"`
// 收款人账号
CardNo string `json:"card_no,omitempty"`
// 身份证号码
IDCard string `json:"id_card,omitempty"`
// 手机号
PhoneNo string `json:"phone_no,omitempty"`
// 订单状态码
Status string `json:"status,omitempty"`
// 订单详情状态码
StatusDetail string `json:"status_detail,omitempty"`
// 订单状态码描述
StatusMessage string `json:"status_message,omitempty"`
// 订单详情状态码描述
StatusDetailMessage string `json:"status_detail_message,omitempty"`
// 订单状态补充信息
SupplementalDetailMessage string `json:"supplemental_detail_message,omitempty"`
// 综合服务主体支付金额
BrokerAmount string `json:"broker_amount,omitempty"`
// 综合服务平台流水号
Ref string `json:"ref,omitempty"`
// 支付交易流水号
BrokerBankBill string `json:"broker_bank_bill,omitempty"`
// 支付路径
WithdrawPlatform string `json:"withdraw_platform,omitempty"`
// 订单接收时间
CreatedAt string `json:"created_at,omitempty"`
// 订单完成时间
FinishedTime string `json:"finished_time,omitempty"`
// 综合服务主体加成服务费
BrokerFee string `json:"broker_fee,omitempty"`
// 余额账户支出加成服务费
BrokerRealFee string `json:"broker_real_fee,omitempty"`
// 加成服务费抵扣金额
BrokerDeductFee string `json:"broker_deduct_fee,omitempty"`
// 订单备注
PayRemark string `json:"pay_remark,omitempty"`
// 用户加成服务费
UserFee string `json:"user_fee,omitempty"`
// 银行名称
BankName string `json:"bank_name,omitempty"`
// 业务线标识
ProjectID string `json:"project_id,omitempty"`
}
// CancelBatchOrderRequest 批次撤销请求
type CancelBatchOrderRequest struct {
// 平台企业批次号
BatchID string `json:"batch_id,omitempty"`
// 平台企业 ID
DealerID string `json:"dealer_id,omitempty"`
// 综合服务主体 ID
BrokerID string `json:"broker_id,omitempty"`
}
// CancelBatchOrderResponse 批次撤销返回
type CancelBatchOrderResponse struct {
}