1 <?php
2 /**
3 * @author Krzysztof Gzocha <krzysztof.gzocha@xsolve.pl>
4 */
5 namespace Team3\PayU\Communication\Response;
6
7 use Team3\PayU\Communication\Request\OrderCreateRequest;
8 use Team3\PayU\Communication\Request\PayURequestInterface;
9 use Team3\PayU\Communication\Request\Model\RequestStatus;
10 use JMS\Serializer\Annotation as JMS;
11
12 /**
13 * Represents response from PayU after {@link OrderCreateRequest}
14 *
15 * Class OrderCreateResponse
16 * @package Team3\PayU\Communication\Response
17 */
18 class OrderCreateResponse implements ResponseInterface
19 {
20 /**
21 * @var string
22 * @JMS\Type("string")
23 * @JMS\SerializedName("redirectUri")
24 */
25 private $redirectUri;
26
27 /**
28 * @var string
29 * @JMS\Type("string")
30 * @JMS\SerializedName("orderId")
31 */
32 private $orderId;
33
34 /**
35 * @var string
36 * @JMS\Type("string")
37 * @JMS\SerializedName("extOrderId")
38 */
39 private $extOrderId;
40
41 /**
42 * @var RequestStatus
43 * @JMS\Type("Team3\PayU\Communication\Request\Model\RequestStatus")
44 * @JMS\SerializedName("status")
45 */
46 private $requestStatus;
47
48 /**
49 * @param PayURequestInterface $payURequest
50 *
51 * @return bool
52 */
53 public function supports(PayURequestInterface $payURequest)
54 {
55 return $payURequest instanceof OrderCreateRequest;
56 }
57
58 /**
59 * @return string
60 */
61 public function getRedirectUri()
62 {
63 return $this->redirectUri;
64 }
65
66 /**
67 * @param string $redirectUri
68 *
69 * @return OrderCreateResponse
70 */
71 public function setRedirectUri($redirectUri)
72 {
73 $this->redirectUri = $redirectUri;
74
75 return $this;
76 }
77
78 /**
79 * @return string
80 */
81 public function getOrderId()
82 {
83 return $this->orderId;
84 }
85
86 /**
87 * @param string $orderId
88 *
89 * @return OrderCreateResponse
90 */
91 public function setOrderId($orderId)
92 {
93 $this->orderId = $orderId;
94
95 return $this;
96 }
97
98 /**
99 * @return string
100 */
101 public function getExtOrderId()
102 {
103 return $this->extOrderId;
104 }
105
106 /**
107 * @param string $extOrderId
108 *
109 * @return OrderCreateResponse
110 */
111 public function setExtOrderId($extOrderId)
112 {
113 $this->extOrderId = $extOrderId;
114
115 return $this;
116 }
117
118 /**
119 * @return RequestStatus
120 */
121 public function getRequestStatus()
122 {
123 return $this->requestStatus;
124 }
125
126 /**
127 * @param RequestStatus $requestStatus
128 *
129 * @return OrderCreateResponse
130 */
131 public function setRequestStatus(RequestStatus $requestStatus)
132 {
133 $this->requestStatus = $requestStatus;
134
135 return $this;
136 }
137 }
138