1 <?php
2 /**
3 * @author Krzysztof Gzocha <krzysztof.gzocha@xsolve.pl>
4 */
5 namespace Team3\PayU\Order\Model;
6
7 use Team3\PayU\Order\Model\Buyer\BuyerInterface;
8 use Team3\PayU\Order\Model\Money\MoneyInterface;
9 use Team3\PayU\Order\Model\Products\ProductCollectionInterface;
10 use Team3\PayU\Order\Model\ShippingMethods\ShippingMethodCollectionInterface;
11 use Team3\PayU\Serializer\SerializableInterface;
12
13 interface OrderInterface extends IsFilledInterface, SerializableInterface
14 {
15 /**
16 * @return string
17 */
18 public function getDescription();
19
20 /**
21 * @param string $description
22 *
23 * @return $this
24 */
25 public function setDescription($description);
26
27 /**
28 * @return string
29 */
30 public function getAdditionalDescription();
31
32 /**
33 * @param string $additionalDescription
34 *
35 * @return $this
36 */
37 public function setAdditionalDescription($additionalDescription);
38
39 /**
40 * @inheritdoc
41 */
42 public function getCurrencyCode();
43
44 /**
45 * @param string $currencyCode
46 *
47 * @return $this
48 */
49 public function setCurrencyCode($currencyCode);
50
51 /**
52 * @inheritdoc
53 */
54 public function getCustomerIp();
55
56 /**
57 * @param string $customerIp
58 *
59 * @return $this
60 */
61 public function setCustomerIp($customerIp);
62
63 /**
64 * @inheritdoc
65 */
66 public function getMerchantPosId();
67
68 /**
69 * @param string $merchantPosId
70 *
71 * @return $this
72 */
73 public function setMerchantPosId($merchantPosId);
74
75 /**
76 * @inheritdoc
77 */
78 public function getOrderId();
79
80 /**
81 * @param string $orderId
82 *
83 * @return $this
84 */
85 public function setOrderId($orderId);
86
87 /**
88 * @inheritdoc
89 */
90 public function getSignature();
91
92 /**
93 * @param string $signature
94 *
95 * @return $this
96 */
97 public function setSignature($signature);
98
99 /**
100 * @return MoneyInterface
101 */
102 public function getTotalAmount();
103
104 /**
105 * @param MoneyInterface $totalAmount
106 *
107 * @return $this
108 */
109 public function setTotalAmount(MoneyInterface $totalAmount);
110
111 /**
112 * @return BuyerInterface
113 */
114 public function getBuyer();
115
116 /**
117 * @param BuyerInterface $buyer
118 *
119 * @return Order
120 */
121 public function setBuyer(BuyerInterface $buyer);
122
123 /**
124 * @return ProductCollectionInterface
125 */
126 public function getProductCollection();
127
128 /**
129 * @param ProductCollectionInterface $productCollection
130 *
131 * @return Order
132 */
133 public function setProductCollection(ProductCollectionInterface $productCollection);
134
135 /**
136 * @return ShippingMethodCollectionInterface
137 */
138 public function getShippingMethodCollection();
139
140 /**
141 * @param ShippingMethodCollectionInterface $shippingMethodCollection
142 *
143 * @return Order
144 */
145 public function setShippingMethodCollection(ShippingMethodCollectionInterface $shippingMethodCollection);
146
147 /**
148 * @return string
149 */
150 public function getContinueUrl();
151
152 /**
153 * @param string $continueUrl
154 *
155 * @return $this
156 */
157 public function setContinueUrl($continueUrl);
158
159 /**
160 * @return string
161 */
162 public function getNotifyUrl();
163
164 /**
165 * @param string $notifyUrl
166 *
167 * @return $this
168 */
169 public function setNotifyUrl($notifyUrl);
170
171 /**
172 * @return string
173 */
174 public function getOrderUrl();
175
176 /**
177 * @param string $orderUrl
178 *
179 * @return $this
180 */
181 public function setOrderUrl($orderUrl);
182
183 /**
184 * @return \DateTime
185 */
186 public function getCreatedAt();
187
188 /**
189 * @param \DateTime $createdAt
190 *
191 * @return Order
192 */
193 public function setCreatedAt(\DateTime $createdAt);
194
195 /**
196 * @return OrderStatusInterface
197 */
198 public function getStatus();
199
200 /**
201 * @param OrderStatusInterface $status
202 *
203 * @return Order
204 */
205 public function setStatus(OrderStatusInterface $status);
206
207 /**
208 * @return string
209 */
210 public function getPayUOrderId();
211 }
212