shikeying
2024-01-11 3b67e947e36133e2a40eb2737b15ea375e157ea0
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
package com.walker.pay;
 
import java.util.List;
 
/**
 * 订单接口,是对支付订单的抽象。<p></p>
 * 不同第三方都会使用该规范,业务可以根据需要继承该规范添加自己的属性。
 * @author 时克英
 * @date 2023-01-16
 */
public interface Order {
 
    /**
     * 返回系统订单号
     * @return
     */
    long getId();
 
    /**
     * 返回系统订单号(字符串),如果id是数值则会自动转换成字符串。<p></p>
     * 该方法与getId()同时只能使用一种。
     * @return
     * @date 2023-03-02
     */
    String getIdString();
 
    /**
     * 返回支付定义ID,该方法值由平台使用,业务暂时获取不到。<p></p>
     * 因为业务肯定不知道 '支付定义ID'。
     * @return
     * @date 2023-01-17 更新
     * @date 2023-02-23 该参数在查询订单状态时需要使用,由平台自动设置
     */
    String getPayDefinitionId();
 
    /**
     * 返回订单使用支付提供商。
     * @return
     * @date 2023-01-17
     */
    ServiceProvider getServiceProvider();
 
    /**
     * 返回支付提供者实现的版本号。如: v2
     * @return
     * @date 2023-01-17
     */
    String getVersion();
 
    /**
     * 返回第三方支付提供商生成的订单编号,如:微信订单号、支付宝订单号
     * @return
     */
    String getTradeNo();
 
    /**
     * 返回支付类型,参见枚举 {@linkplain PayType}
     * @return
     */
    PayType getPayType();
 
    /**
     * 返回实际支付总金额,单位: 分
     * @return
     */
    long getTotalMoney();
 
    /**
     * 返回商品标题(描述)
     * @return
     */
    String getTitle();
 
    /**
     * 得到一个随机数。
     * @return
     */
    String getNonce();
 
    /**
     * 返回订单通知回调地址(业务配置)
     * @return
     */
    String getNotifyUrl();
 
    /**
     * 返回业务传入的附加数据,该数据第三方一般会原封不动返回。
     * @return
     */
    String getAttach();
 
    /**
     * 返回终端ip地址。
     * @return
     */
    String getIp();
 
    long getCreateTime();
 
    /**
     * 返回用户提交的设备信息。
     * @return
     * @date 2023-02-17
     */
    String getDeviceInfo();
 
    /**
     * 返回订单手续费,内扣,如果不存在,则填0。
     * 单位:分。如amount为100,fee为2,实际到账金额为98,平台手续费收入为2。<p></p>
     * 该参数对接 '通商云' 时使用到。
     * @return
     * @date 2023-02-17
     */
    long getFee();
 
    /**
     * 返回 买家ID,'通商云' 时使用到
     * @return
     * @date 2023-02-17
     */
    String getBuyerId();
 
    /**
     * 返回 卖家ID,'通商云' 时使用到
     * @return
     * @date 2023-02-17
     */
    String getReceiverId();
 
    /**
     * 返回订单支付状态,在查询是需要从数据库加载出来。
     * @return
     * @date 2023-02-23
     */
    PayStatus getPayStatus();
 
    /**
     * 返回分账用户集合,支持多人分账,但目前不支持多层级分账。
     * @return
     * @author 时克英
     * @date 2023-04-03
     */
    List<SplitAccount> getSplitAccountList();
}