1 <?php
2
3 namespace PayPal\Api;
4
5 use PayPal\Common\PayPalModel;
6 use PayPal\Validation\UrlValidator;
7
8 /**
9 * Class Incentive
10 *
11 * A resource representing a incentive.
12 *
13 * @package PayPal\Api
14 *
15 * @property string id
16 * @property string code
17 * @property string name
18 * @property string description
19 * @property \PayPal\Api\Currency minimum_purchase_amount
20 * @property string logo_image_url
21 * @property string expiry_date
22 * @property string type
23 * @property string terms
24 */
25 class Incentive extends PayPalModel
26 {
27 /**
28 * Identifier of the instrument in PayPal Wallet
29 *
30 * @param string $id
31 *
32 * @return $this
33 */
34 public function setId($id)
35 {
36 $this->id = $id;
37 return $this;
38 }
39
40 /**
41 * Identifier of the instrument in PayPal Wallet
42 *
43 * @return string
44 */
45 public function getId()
46 {
47 return $this->id;
48 }
49
50 /**
51 * Code that identifies the incentive.
52 *
53 * @param string $code
54 *
55 * @return $this
56 */
57 public function setCode($code)
58 {
59 $this->code = $code;
60 return $this;
61 }
62
63 /**
64 * Code that identifies the incentive.
65 *
66 * @return string
67 */
68 public function getCode()
69 {
70 return $this->code;
71 }
72
73 /**
74 * Name of the incentive.
75 *
76 * @param string $name
77 *
78 * @return $this
79 */
80 public function setName($name)
81 {
82 $this->name = $name;
83 return $this;
84 }
85
86 /**
87 * Name of the incentive.
88 *
89 * @return string
90 */
91 public function getName()
92 {
93 return $this->name;
94 }
95
96 /**
97 * Description of the incentive.
98 *
99 * @param string $description
100 *
101 * @return $this
102 */
103 public function setDescription($description)
104 {
105 $this->description = $description;
106 return $this;
107 }
108
109 /**
110 * Description of the incentive.
111 *
112 * @return string
113 */
114 public function getDescription()
115 {
116 return $this->description;
117 }
118
119 /**
120 * Indicates incentive is applicable for this minimum purchase amount.
121 *
122 * @param \PayPal\Api\Currency $minimum_purchase_amount
123 *
124 * @return $this
125 */
126 public function setMinimumPurchaseAmount($minimum_purchase_amount)
127 {
128 $this->minimum_purchase_amount = $minimum_purchase_amount;
129 return $this;
130 }
131
132 /**
133 * Indicates incentive is applicable for this minimum purchase amount.
134 *
135 * @return \PayPal\Api\Currency
136 */
137 public function getMinimumPurchaseAmount()
138 {
139 return $this->minimum_purchase_amount;
140 }
141
142 /**
143 * Logo image url for the incentive.
144 *
145 * @param string $logo_image_url
146 * @throws \InvalidArgumentException
147 * @return $this
148 */
149 public function setLogoImageUrl($logo_image_url)
150 {
151 UrlValidator::validate($logo_image_url, "LogoImageUrl");
152 $this->logo_image_url = $logo_image_url;
153 return $this;
154 }
155
156 /**
157 * Logo image url for the incentive.
158 *
159 * @return string
160 */
161 public function getLogoImageUrl()
162 {
163 return $this->logo_image_url;
164 }
165
166 /**
167 * expiry date of the incentive.
168 *
169 * @param string $expiry_date
170 *
171 * @return $this
172 */
173 public function setExpiryDate($expiry_date)
174 {
175 $this->expiry_date = $expiry_date;
176 return $this;
177 }
178
179 /**
180 * expiry date of the incentive.
181 *
182 * @return string
183 */
184 public function getExpiryDate()
185 {
186 return $this->expiry_date;
187 }
188
189 /**
190 * Specifies type of incentive
191 * Valid Values: ["COUPON", "GIFT_CARD", "MERCHANT_SPECIFIC_BALANCE", "VOUCHER"]
192 *
193 * @param string $type
194 *
195 * @return $this
196 */
197 public function setType($type)
198 {
199 $this->type = $type;
200 return $this;
201 }
202
203 /**
204 * Specifies type of incentive
205 *
206 * @return string
207 */
208 public function getType()
209 {
210 return $this->type;
211 }
212
213 /**
214 * URI to the associated terms
215 *
216 * @param string $terms
217 *
218 * @return $this
219 */
220 public function setTerms($terms)
221 {
222 $this->terms = $terms;
223 return $this;
224 }
225
226 /**
227 * URI to the associated terms
228 *
229 * @return string
230 */
231 public function getTerms()
232 {
233 return $this->terms;
234 }
235
236 }
237