Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
Complex classes like PurchaseRequest often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes. You can also have a look at the cohesion graph to spot any un-connected, or weakly-connected components.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
While breaking up the class, it is a good idea to analyze how other classes use PurchaseRequest, and based on these observations, apply Extract Interface, too.
1 | <?php |
||
14 | class PurchaseRequest extends AbstractRequest |
||
15 | { |
||
16 | /** @var string */ |
||
17 | protected $liveEndpoint = 'https://sis.redsys.es/sis/realizarPago'; |
||
18 | /** @var string */ |
||
19 | protected $testEndpoint = 'https://sis-t.redsys.es:25443/sis/realizarPago'; |
||
20 | /** @var array */ |
||
21 | protected static $consumerLanguages = array( |
||
22 | 'es' => '001', // Spanish |
||
23 | 'en' => '002', // English |
||
24 | 'ca' => '003', // Catalan - same as Valencian (010) |
||
25 | 'fr' => '004', // French |
||
26 | 'de' => '005', // German |
||
27 | 'nl' => '006', // Dutch |
||
28 | 'it' => '007', // Italian |
||
29 | 'sv' => '008', // Swedish |
||
30 | 'pt' => '009', // Portuguese |
||
31 | 'pl' => '011', // Polish |
||
32 | 2 | 'gl' => '012', // Galician |
|
33 | 'eu' => '013', // Basque |
||
34 | 2 | ); |
|
35 | |||
36 | /** @var string 250x400 */ |
||
37 | 4 | const CHALLENGE_WINDOW_SIZE_250_400 = "01"; |
|
38 | /** @var string 390x400 */ |
||
39 | 4 | const CHALLENGE_WINDOW_SIZE_390_400 = "02"; |
|
40 | /** @var string 500x600 */ |
||
41 | const CHALLENGE_WINDOW_SIZE_500_600 = "03"; |
||
42 | 8 | /** @var string 600x400 */ |
|
43 | const CHALLENGE_WINDOW_SIZE_600_400 = "04"; |
||
44 | 8 | /** @var string Fullscreen window (default) */ |
|
45 | const CHALLENGE_WINDOW_SIZE_FULLSCREEN = "05"; |
||
46 | |||
47 | /** @var string No 3DS Requestor authentication occurred (i.e. cardholder logged in as guest) */ |
||
48 | const ACCOUNT_AUTHENTICATION_METHOD_NONE = "01"; |
||
49 | /** @var string Login to the cardholder account at the 3DS Requestor system using 3DS Requestor's own credentials */ |
||
50 | const ACCOUNT_AUTHENTICATION_METHOD_OWN_CREDENTIALS = "02"; |
||
51 | /** @var string Login to the cardholder account at the 3DS Requestor system using federated ID */ |
||
52 | 7 | const ACCOUNT_AUTHENTICATION_METHOD_FEDERATED_ID = "03"; |
|
53 | /** @var string Login to the cardholder account at the 3DS Requestor system using issuer credentials */ |
||
54 | 7 | const ACCOUNT_AUTHENTICATION_METHOD_ISSUER_CREDENTIALS = "04"; |
|
55 | 1 | /** @var string Login to the cardholder account at the 3DS Requestor system using third-party authentication */ |
|
56 | 1 | const ACCOUNT_AUTHENTICATION_METHOD_THIRD_PARTY_AUTHENTICATION = "05"; |
|
57 | 1 | /** @var string Login to the cardholder account at the 3DS Requestor system using FIDO Authenticator */ |
|
58 | 1 | const ACCOUNT_AUTHENTICATION_METHOD_FIDO = "06"; |
|
59 | 7 | ||
60 | 7 | /** @var string No account (guest check-out) */ |
|
61 | 7 | const CUSTOMER_ACCOUNT_CREATED_NONE = "01"; |
|
62 | /** @var string Created during this transaction */ |
||
63 | 7 | const CUSTOMER_ACCOUNT_CREATED_THIS_TRANSACTION = "02"; |
|
64 | /** @var string Less than 30 days */ |
||
65 | const CUSTOMER_ACCOUNT_CREATED_LAST_30_DAYS = "03"; |
||
66 | 15 | /** @var string Between 30 and 60 days */ |
|
67 | const CUSTOMER_ACCOUNT_CREATED_LAST_60_DAYS = "04"; |
||
68 | 15 | /** @var string More than 60 day */ |
|
69 | const CUSTOMER_ACCOUNT_CREATED_MORE_THAN_60_DAYS = "05"; |
||
70 | |||
71 | 23 | /** @var string Modified in this session */ |
|
72 | const CUSTOMER_ACCOUNT_MODIFIED_THIS_TRANSACTION = "01"; |
||
73 | 23 | /** @var string Less than 30 days */ |
|
74 | const CUSTOMER_ACCOUNT_MODIFIED_LAST_30_DAYS = "02"; |
||
75 | /** @var string Between 30 and 60 days */ |
||
76 | 7 | const CUSTOMER_ACCOUNT_MODIFIED_LAST_60_DAYS = "03"; |
|
77 | /** @var string More than 60 day */ |
||
78 | 7 | const CUSTOMER_ACCOUNT_MODIFIED_MORE_THAN_60_DAYS = "04"; |
|
79 | |||
80 | /** @var string Unchanged */ |
||
81 | 7 | const CUSTOMER_ACCOUNT_PASSWORD_MODIFIED_NONE = "01"; |
|
82 | /** @var string Modified in this session */ |
||
83 | 7 | const CUSTOMER_ACCOUNT_PASSWORD_MODIFIED_THIS_TRANSACTION = "02"; |
|
84 | /** @var string Less than 30 days */ |
||
85 | const CUSTOMER_ACCOUNT_PASSWORD_MODIFIED_LAST_30_DAYS = "03"; |
||
86 | 11 | /** @var string Between 30 and 60 days */ |
|
87 | const CUSTOMER_ACCOUNT_PASSWORD_MODIFIED_LAST_60_DAYS = "04"; |
||
88 | 11 | /** @var string More than 60 day */ |
|
89 | const CUSTOMER_ACCOUNT_PASSWORD_MODIFIED_MORE_THAN_60_DAYS = "05"; |
||
90 | |||
91 | 23 | /** @var string No account (guest check-out) */ |
|
92 | const PAYMENT_METHOD_CREATED_NONE = "01"; |
||
93 | 23 | /** @var string Created during this transaction */ |
|
94 | const PAYMENT_METHOD_CREATED_THIS_TRANSACTION = "02"; |
||
95 | /** @var string Less than 30 days */ |
||
96 | 11 | const PAYMENT_METHOD_CREATED_LAST_30_DAYS = "03"; |
|
97 | /** @var string Between 30 and 60 days */ |
||
98 | 11 | const PAYMENT_METHOD_CREATED_LAST_60_DAYS = "04"; |
|
99 | /** @var string More than 60 day */ |
||
100 | const PAYMENT_METHOD_CREATED_MORE_THAN_60_DAYS = "05"; |
||
101 | 23 | ||
102 | /** @var string For the first time */ |
||
103 | 23 | const SHIPPING_ADDRESS_USAGE_THIS_TRANSACTION = "01"; |
|
104 | /** @var string Less than 30 days */ |
||
105 | const SHIPPING_ADDRESS_USAGE_LAST_30_DAYS = "02"; |
||
106 | 11 | /** @var string Between 30 and 60 days */ |
|
107 | const SHIPPING_ADDRESS_USAGE_LAST_60_DAYS = "03"; |
||
108 | 11 | /** @var string More than 60 day */ |
|
109 | const SHIPPING_ADDRESS_USAGE_MORE_THAN_60_DAYS = "04"; |
||
110 | |||
111 | 23 | /** @var string Electronic delivery */ |
|
112 | const DELIVERY_TIMEFRAME_ELECTRONIC_DELIVERY = "01"; |
||
113 | 23 | /** @var string Same day shipping */ |
|
114 | const DELIVERY_TIMEFRAME_SAME_DAY = "02"; |
||
115 | /** @var string Next day shipping */ |
||
116 | const DELIVERY_TIMEFRAME_NEXT_DAY = "03"; |
||
117 | /** @var string Shipping in 2 or more days */ |
||
118 | const DELIVERY_TIMEFRAME_2_OR_MORE_DAYS = "04"; |
||
119 | |||
120 | /** @var string Ship to cardholder's billing address */ |
||
121 | 15 | const SHIPPING_TO_BILLING_ADDRESS = "01"; |
|
122 | /** @var string Ship to another verified address on file with merchant */ |
||
123 | 15 | const SHIPPING_TO_ANOTHER_VERIFIED_ADDRESS = "02"; |
|
124 | 15 | /** @var string Ship to address that is different than the cardholder's billing address */ |
|
125 | 15 | const SHIPPING_DIFFERENT_BILLING_ADDRESS = "03"; |
|
126 | 15 | /** @var string Pick-up at local store (Store address shall be populated in shipping address fields) */ |
|
127 | 15 | const SHIPPING_PICK_UP = "04"; |
|
128 | 15 | /** @var string Digital goods (includes online services, electronic gift cards and redemption codes) */ |
|
129 | 15 | const SHIPPING_DIGITAL = "05"; |
|
130 | /** @var string Travel and Event tickets, not shipped */ |
||
131 | 15 | const SHIPPING_TRAVEL = "06"; |
|
132 | 15 | /** @var string Other (for example, Gaming, digital services not shipped, emedia subscriptions, etc.) */ |
|
133 | const SHIPPING_OTHER = "07"; |
||
134 | 15 | ||
135 | 15 | /** @var string Exemption due to low amount (transactions up to € 30) */ |
|
136 | const SCA_EXCEMPTION_LOW_AMOUNT = 'LMV'; |
||
137 | 2 | /** @var string Exemption due to low risk */ |
|
138 | const SCA_EXCEMPTION_LOW_RISK = 'TRA'; |
||
139 | 2 | /** @var string Exemption for payments identified as corporate. */ |
|
140 | const SCA_EXCEMPTION_CORPORATE = 'COR'; |
||
141 | /** |
||
142 | * @var string Transactions initiated by the merchant, in which there is no intervention by the customer. They are |
||
143 | 2 | * outside the scope of PSD2. |
|
144 | 2 | */ |
|
145 | 2 | const SCA_EXCEMPTION_MERCHANT_INITIATED = 'MIT'; |
|
146 | 2 | ||
147 | 2 | /** |
|
148 | 2 | * Get the card field |
|
149 | 2 | * |
|
150 | * @return OmniPay::CreditCard |
||
|
|||
151 | 2 | */ |
|
152 | 2 | public function getCard() |
|
156 | 2 | ||
157 | 2 | /** |
|
158 | 2 | * Set the card field |
|
159 | * |
||
160 | * @param OmniPay::CreditCard $value |
||
161 | 1 | * @return self |
|
162 | */ |
||
163 | 1 | public function setCard($value) |
|
167 | |||
168 | 1 | public function getCardholder() |
|
172 | 1 | ||
173 | 1 | public function setCardholder($value) |
|
177 | 1 | ||
178 | public function getConsumerLanguage() |
||
182 | 7 | ||
183 | /** |
||
184 | * Set the language presented to the consumer |
||
185 | 1 | * |
|
186 | * @param string|int Either the ISO 639-1 code to be converted, or the gateway's own numeric language code |
||
187 | */ |
||
188 | public function setConsumerLanguage($value) |
||
201 | |||
202 | public function getHmacKey() |
||
206 | |||
207 | public function setHmacKey($value) |
||
211 | |||
212 | public function getMerchantData() |
||
216 | |||
217 | public function setMerchantData($value) |
||
221 | |||
222 | public function getMerchantId() |
||
226 | |||
227 | public function setMerchantId($value) |
||
231 | |||
232 | public function getMerchantName() |
||
236 | |||
237 | public function setMerchantName($value) |
||
241 | |||
242 | public function getTerminalId() |
||
246 | |||
247 | public function setTerminalId($value) |
||
251 | |||
252 | /** |
||
253 | * Get the email field |
||
254 | * |
||
255 | * Corresponds to the Ds_Merchant_Emv3Ds.email field in Redsys documentation. |
||
256 | * |
||
257 | * @return string |
||
258 | */ |
||
259 | public function getEmail() |
||
263 | |||
264 | /** |
||
265 | * Set the email field |
||
266 | * |
||
267 | * Corresponds to the Ds_Merchant_Emv3Ds.email field in Redsys documentation. |
||
268 | * |
||
269 | * @param string $value |
||
270 | * @return self |
||
271 | */ |
||
272 | public function setEmail($value) |
||
276 | |||
277 | /** |
||
278 | * Get the shippingAddress3 field |
||
279 | * |
||
280 | * Corresponds to the Ds_Merchant_Emv3Ds.shippingAddress3 field in Redsys documentation. |
||
281 | * |
||
282 | * @return string |
||
283 | */ |
||
284 | public function getShippingAddress3() |
||
288 | |||
289 | /** |
||
290 | * Set the shippingAddress3 field |
||
291 | * |
||
292 | * Corresponds to the Ds_Merchant_Emv3Ds.shippingAddress3 field in Redsys documentation. |
||
293 | * |
||
294 | * @param string $value |
||
295 | * @return self |
||
296 | */ |
||
297 | public function setShippingAddress3($value) |
||
301 | |||
302 | /** |
||
303 | * Get the billingAddress3 field |
||
304 | * |
||
305 | * Corresponds to the Ds_Merchant_Emv3Ds.billingAddress3 field in Redsys documentation. |
||
306 | * |
||
307 | * @return string |
||
308 | */ |
||
309 | public function getBillingAddress3() |
||
313 | |||
314 | /** |
||
315 | * Set the billingAddress3 field |
||
316 | * |
||
317 | * Corresponds to the Ds_Merchant_Emv3Ds.billingAddress3 field in Redsys documentation. |
||
318 | * |
||
319 | * @param string $value |
||
320 | * @return self |
||
321 | */ |
||
322 | public function setBillingAddress3($value) |
||
326 | |||
327 | /** |
||
328 | * Get the homePhoneCountryPrefix field |
||
329 | * |
||
330 | * Corresponds to the Ds_Merchant_Emv3Ds.homePhone.cc field in Redsys documentation. |
||
331 | * |
||
332 | * @return string |
||
333 | */ |
||
334 | public function getHomePhoneCountryPrefix() |
||
338 | |||
339 | /** |
||
340 | * Set the homePhoneCountryPrefix field |
||
341 | * |
||
342 | * Corresponds to the Ds_Merchant_Emv3Ds.homePhone.cc field in the Redsys documentation. |
||
343 | * |
||
344 | * @param string $value |
||
345 | * @return self |
||
346 | */ |
||
347 | public function setHomePhoneCountryPrefix($value) |
||
351 | |||
352 | /** |
||
353 | * Get the homePhone field |
||
354 | * |
||
355 | * Corresponds to the Ds_Merchant_Emv3Ds.homePhone.subscriber field in Redsys documentation. |
||
356 | * |
||
357 | * @return string |
||
358 | */ |
||
359 | public function getHomePhone() |
||
363 | |||
364 | /** |
||
365 | * Set the homePhone field |
||
366 | * |
||
367 | * Corresponds to the Ds_Merchant_Emv3Ds.homePhone.subscriber field in the Redsys documentation. |
||
368 | * |
||
369 | * @param string $value |
||
370 | * @return self |
||
371 | */ |
||
372 | public function setHomePhone($value) |
||
376 | |||
377 | /** |
||
378 | * Get the mobilePhoneCountryPrefix field |
||
379 | * |
||
380 | * Corresponds to the Ds_Merchant_Emv3Ds.mobilePhone.cc field in Redsys documentation. |
||
381 | * |
||
382 | * @return string |
||
383 | */ |
||
384 | public function getMobilePhoneCountryPrefix() |
||
388 | |||
389 | /** |
||
390 | * Set the mobilePhoneCountryPrefix field |
||
391 | * |
||
392 | * Corresponds to the Ds_Merchant_Emv3Ds.mobilePhone.cc field in the Redsys documentation. |
||
393 | * |
||
394 | * @param string $value |
||
395 | * @return self |
||
396 | */ |
||
397 | public function setMobilePhoneCountryPrefix($value) |
||
401 | |||
402 | /** |
||
403 | * Get the mobilePhone field |
||
404 | * |
||
405 | * Corresponds to the Ds_Merchant_Emv3Ds.mobilePhone.subscriber field in Redsys documentation. |
||
406 | * |
||
407 | * @return string |
||
408 | */ |
||
409 | public function getMobilePhone() |
||
413 | |||
414 | /** |
||
415 | * Set the mobilePhone field |
||
416 | * |
||
417 | * Corresponds to the Ds_Merchant_Emv3Ds.mobilePhone.subscriber field in the Redsys documentation. |
||
418 | * |
||
419 | * @param string $value |
||
420 | * @return self |
||
421 | */ |
||
422 | public function setMobilePhone($value) |
||
426 | |||
427 | /** |
||
428 | * Get the workPhoneCountryPrefix field |
||
429 | * |
||
430 | * Corresponds to the Ds_Merchant_Emv3Ds.workPhone.cc field in Redsys documentation. |
||
431 | * |
||
432 | * @return string |
||
433 | */ |
||
434 | public function getWorkPhoneCountryPrefix() |
||
438 | |||
439 | /** |
||
440 | * Set the workPhoneCountryPrefix field |
||
441 | * |
||
442 | * Corresponds to the Ds_Merchant_Emv3Ds.workPhone.cc field in the Redsys documentation. |
||
443 | * |
||
444 | * @param string $value |
||
445 | * @return self |
||
446 | */ |
||
447 | public function setWorkPhoneCountryPrefix($value) |
||
451 | |||
452 | /** |
||
453 | * Get the workPhone field |
||
454 | * |
||
455 | * Corresponds to the Ds_Merchant_Emv3Ds.workPhone.subscriber field in Redsys documentation. |
||
456 | * |
||
457 | * @return string |
||
458 | */ |
||
459 | public function getWorkPhone() |
||
463 | |||
464 | /** |
||
465 | * Set the workPhone field |
||
466 | * |
||
467 | * Corresponds to the Ds_Merchant_Emv3Ds.workPhone.subscriber field in the Redsys documentation. |
||
468 | * |
||
469 | * @param string $value |
||
470 | * @return self |
||
471 | */ |
||
472 | public function setWorkPhone($value) |
||
476 | |||
477 | /** |
||
478 | * Get the addressMatch field |
||
479 | * |
||
480 | * Corresponds to the Ds_Merchant_Emv3Ds.addrMatch field in Redsys documentation. |
||
481 | * |
||
482 | * @return boolean |
||
483 | */ |
||
484 | public function getAddressMatch() |
||
488 | |||
489 | /** |
||
490 | * Set the addressMatch field |
||
491 | * |
||
492 | * Corresponds to the Ds_Merchant_Emv3Ds.addrMatch field in the Redsys documentation. |
||
493 | * |
||
494 | * @param boolean $value |
||
495 | * @return self |
||
496 | */ |
||
497 | public function setAddressMatch($value) |
||
501 | |||
502 | /** |
||
503 | * Get the challengeWindowSize field |
||
504 | * |
||
505 | * Corresponds to the Ds_Merchant_Emv3Ds.challengeWindowSize field in Redsys documentation. |
||
506 | * |
||
507 | * @return string One of the self::CHALLENGE_WINDOW_SIZE_* constants |
||
508 | */ |
||
509 | public function getChallengeWindowSize() |
||
513 | |||
514 | /** |
||
515 | * Set the challengeWindowSize field |
||
516 | * |
||
517 | * Corresponds to the Ds_Merchant_Emv3Ds.challengeWindowSize field in the Redsys documentation. |
||
518 | * |
||
519 | * @param string $value One of the self::CHALLENGE_WINDOW_SIZE_* constants |
||
520 | * @return self |
||
521 | * @throws InvalidParameterException if $value is invalid. |
||
522 | */ |
||
523 | public function setChallengeWindowSize($value) |
||
540 | |||
541 | /** |
||
542 | * Get the customerAdditionalInformation field |
||
543 | * |
||
544 | * Corresponds to the Ds_Merchant_Emv3Ds.acctID field in Redsys documentation. |
||
545 | * |
||
546 | * @return string |
||
547 | */ |
||
548 | public function getCustomerAdditionalInformation() |
||
552 | |||
553 | /** |
||
554 | * Set the customerAdditionalInformation field |
||
555 | * |
||
556 | * Corresponds to the Ds_Merchant_Emv3Ds.acctID field in the Redsys documentation. |
||
557 | * |
||
558 | * @param string $value |
||
559 | * @return self |
||
560 | */ |
||
561 | public function setCustomerAdditionalInformation($value) |
||
565 | |||
566 | /** |
||
567 | * Get the 3DsRequestAuthenticationMethodData field |
||
568 | * |
||
569 | * Corresponds to the Ds_Merchant_Emv3Ds.threeDSRequestorAuthenticationInfo.threeDSReqAuthData field in Redsys |
||
570 | * documentation. |
||
571 | * |
||
572 | * @return string |
||
573 | */ |
||
574 | public function get3DsRequestAuthenticationMethodData() |
||
578 | |||
579 | /** |
||
580 | * Set the 3DsRequestAuthenticationMethodData field |
||
581 | * |
||
582 | * Corresponds to the Ds_Merchant_Emv3Ds.threeDSRequestorAuthenticationInfo.threeDSReqAuthData field in the Redsys |
||
583 | * documentation. |
||
584 | * |
||
585 | * @param string $value |
||
586 | * @return self |
||
587 | */ |
||
588 | public function set3DsRequestAuthenticationMethodData($value) |
||
592 | |||
593 | /** |
||
594 | * Get the 3DsRequestAuthenticationMethod field |
||
595 | * |
||
596 | * Corresponds to the Ds_Merchant_Emv3Ds.threeDSRequestorAuthenticationInfo.threeDSReqAuthMethod field in Redsys |
||
597 | * documentation. |
||
598 | * |
||
599 | * @return string One of the self::ACCOUNT_AUTHENTICATION_METHOD_* constants. |
||
600 | */ |
||
601 | public function get3DsRequestAuthenticationMethod() |
||
605 | |||
606 | /** |
||
607 | * Set the 3DsRequestAuthenticationMethod field |
||
608 | * |
||
609 | * Corresponds to the Ds_Merchant_Emv3Ds.threeDSRequestorAuthenticationInfo.threeDSReqAuthMethod field in the Redsys |
||
610 | * documentation. |
||
611 | * |
||
612 | * @param string $value One of the self::ACCOUNT_AUTHENTICATION_METHOD_* constants. |
||
613 | * @return self |
||
614 | * @throws InvalidParameterException if $value is invalid. |
||
615 | */ |
||
616 | View Code Duplication | public function set3DsRequestAuthenticationMethod($value) |
|
634 | |||
635 | /** |
||
636 | * Get the 3DsRequestAuthenticationTime field |
||
637 | * |
||
638 | * Corresponds to the Ds_Merchant_Emv3Ds.threeDSRequestorAuthenticationInfo.threeDSReqAuthTimestamp field in Redsys |
||
639 | * documentation. |
||
640 | * |
||
641 | * @return DateTime|int |
||
642 | */ |
||
643 | public function get3DsRequestAuthenticationTime() |
||
647 | |||
648 | /** |
||
649 | * Set the 3DsRequestAuthenticationTime field |
||
650 | * |
||
651 | * Corresponds to the Ds_Merchant_Emv3Ds.threeDSRequestorAuthenticationInfo.threeDSReqAuthTimestamp field in the |
||
652 | * Redsys documentation. |
||
653 | * |
||
654 | * @param DateTime|int $value |
||
655 | * @return self |
||
656 | */ |
||
657 | public function set3DsRequestAuthenticationTime($value) |
||
661 | |||
662 | /** |
||
663 | * Get the customerAccountCreatedIndicator field |
||
664 | * |
||
665 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccAgeInd field in Redsys documentation. |
||
666 | * |
||
667 | * @return string One of the CUSTOMER_ACCOUNT_CREATED_* constants |
||
668 | */ |
||
669 | public function getCustomerAccountCreatedIndicator() |
||
673 | |||
674 | /** |
||
675 | * Set the customerAccountCreatedIndicator field |
||
676 | * |
||
677 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccAgeInd field in the Redsys documentation. |
||
678 | * |
||
679 | * @param string $value One of the CUSTOMER_ACCOUNT_CREATED_* constants |
||
680 | * @return self |
||
681 | * @throws InvalidParameterException if $value is invalid. |
||
682 | */ |
||
683 | public function setCustomerAccountCreatedIndicator($value) |
||
700 | |||
701 | /** |
||
702 | * Get the customerAccountCreatedDate field |
||
703 | * |
||
704 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccDate field in Redsys documentation. |
||
705 | * |
||
706 | * @return DateTime|int |
||
707 | */ |
||
708 | public function getCustomerAccountCreatedDate() |
||
712 | |||
713 | /** |
||
714 | * Set the customerAccountCreatedDate field |
||
715 | * |
||
716 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccDate field in the Redsys documentation. |
||
717 | * |
||
718 | * @param DateTime|int $value |
||
719 | * @return self |
||
720 | */ |
||
721 | public function setCustomerAccountCreatedDate($value) |
||
725 | |||
726 | /** |
||
727 | * Get the customerAccountChangedIndicator field |
||
728 | * |
||
729 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccChangeInd field in Redsys documentation. |
||
730 | * |
||
731 | * @return string One of the CUSTOMER_ACCOUNT_MODIFIED_* constants |
||
732 | */ |
||
733 | public function getCustomerAccountChangedIndicator() |
||
737 | |||
738 | /** |
||
739 | * Set the customerAccountChangedIndicator field |
||
740 | * |
||
741 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccChangeInd field in the Redsys documentation. |
||
742 | * |
||
743 | * @param string $value One of the CUSTOMER_ACCOUNT_MODIFIED_* constants |
||
744 | * @return self |
||
745 | * @throws InvalidParameterException if $value is invalid. |
||
746 | */ |
||
747 | public function setCustomerAccountChangedIndicator($value) |
||
763 | |||
764 | /** |
||
765 | * Get the customerAccountChangedDate field |
||
766 | * |
||
767 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccChange field in Redsys documentation. |
||
768 | * |
||
769 | * @return DateTime|int |
||
770 | */ |
||
771 | public function getCustomerAccountChangedDate() |
||
775 | |||
776 | /** |
||
777 | * Set the customerAccountChangedDate field |
||
778 | * |
||
779 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccChange field in the Redsys documentation. |
||
780 | * |
||
781 | * @param DateTime|int $value |
||
782 | * @return self |
||
783 | */ |
||
784 | public function setCustomerAccountChangedDate($value) |
||
788 | |||
789 | /** |
||
790 | * Get the customerPasswordAgeIndicator field |
||
791 | * |
||
792 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccPwChangeInd field in Redsys documentation. |
||
793 | * |
||
794 | * @return string One of the CUSTOMER_ACCOUNT_PASSWORD_MODIFIED_* constants |
||
795 | */ |
||
796 | public function getCustomerPasswordChangedIndicator() |
||
800 | |||
801 | /** |
||
802 | * Set the customerPasswordAgeIndicator field |
||
803 | * |
||
804 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccPwChangeInd field in the Redsys documentation. |
||
805 | * |
||
806 | * @param string $value One of the CUSTOMER_ACCOUNT_PASSWORD_MODIFIED_* constants |
||
807 | * @return self |
||
808 | * @throws InvalidParameterException if $value is invalid. |
||
809 | */ |
||
810 | public function setCustomerPasswordChangedIndicator($value) |
||
827 | |||
828 | /** |
||
829 | * Get the customerPasswordChangedDate field |
||
830 | * |
||
831 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccPwChange field in Redsys documentation. |
||
832 | * |
||
833 | * @return DateTime|int |
||
834 | */ |
||
835 | public function getCustomerPasswordChangedDate() |
||
839 | |||
840 | /** |
||
841 | * Set the customerPasswordChangedDate field |
||
842 | * |
||
843 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.chAccPwChange field in the Redsys documentation. |
||
844 | * |
||
845 | * @param DateTime|int $value |
||
846 | * @return self |
||
847 | */ |
||
848 | public function setCustomerPasswordChangedDate($value) |
||
852 | |||
853 | /** |
||
854 | * Get the customerPurchasesInLast6Months field |
||
855 | * |
||
856 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.nbPurchaseAccount field in Redsys documentation. |
||
857 | * |
||
858 | * @return int |
||
859 | */ |
||
860 | public function getCustomerPurchasesInLast6Months() |
||
864 | |||
865 | /** |
||
866 | * Set the customerPurchasesInLast6Months field |
||
867 | * |
||
868 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.nbPurchaseAccount field in the Redsys documentation. |
||
869 | * |
||
870 | * @param int $value |
||
871 | * @return self |
||
872 | */ |
||
873 | public function setCustomerPurchasesInLast6Months($value) |
||
877 | |||
878 | /** |
||
879 | * Get the customerAccountCardProvisionsLast24Hours field |
||
880 | * |
||
881 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.provisionAttemptsDay field in Redsys documentation. |
||
882 | * |
||
883 | * @return int |
||
884 | */ |
||
885 | public function getCustomerAccountCardProvisionsLast24Hours() |
||
889 | |||
890 | /** |
||
891 | * Set the customerAccountCardProvisionsLast24Hours field |
||
892 | * |
||
893 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.provisionAttemptsDay field in the Redsys documentation. |
||
894 | * |
||
895 | * @param int $value |
||
896 | * @return self |
||
897 | */ |
||
898 | public function setCustomerAccountCardProvisionsLast24Hours($value) |
||
902 | |||
903 | /** |
||
904 | * Get the customerAccountTransactionsLast24Hours field |
||
905 | * |
||
906 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.txnActivityDay field in Redsys documentation. |
||
907 | * |
||
908 | * @return int |
||
909 | */ |
||
910 | public function getCustomerAccountTransactionsLast24Hours() |
||
914 | |||
915 | /** |
||
916 | * Set the customerAccountTransactionsLast24Hours field |
||
917 | * |
||
918 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.txnActivityDay field in the Redsys documentation. |
||
919 | * |
||
920 | * @param int $value |
||
921 | * @return self |
||
922 | */ |
||
923 | public function setCustomerAccountTransactionsLast24Hours($value) |
||
927 | |||
928 | /** |
||
929 | * Get the customerAccountTransactionsLastYear field |
||
930 | * |
||
931 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.txnActivityYear field in Redsys documentation. |
||
932 | * |
||
933 | * @return int |
||
934 | */ |
||
935 | public function getCustomerAccountTransactionsLastYear() |
||
939 | |||
940 | /** |
||
941 | * Set the customerAccountTransactionsLastYear field |
||
942 | * |
||
943 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.txnActivityYear field in the Redsys documentation. |
||
944 | * |
||
945 | * @param int $value |
||
946 | * @return self |
||
947 | */ |
||
948 | public function setCustomerAccountTransactionsLastYear($value) |
||
952 | |||
953 | /** |
||
954 | * Get the customerPaymentMethodCreatedIndicator field |
||
955 | * |
||
956 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.paymentAccInd field in Redsys documentation. |
||
957 | * |
||
958 | * @return string One of the PAYMENT_METHOD_CREATED_* constants |
||
959 | */ |
||
960 | public function getCustomerPaymentMethodCreatedIndicator() |
||
964 | |||
965 | /** |
||
966 | * Set the customerPaymentMethodCreatedIndicator field |
||
967 | * |
||
968 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.paymentAccInd field in the Redsys documentation. |
||
969 | * |
||
970 | * @param string $value One of the PAYMENT_METHOD_CREATED_* constants |
||
971 | * @return self |
||
972 | * @throws InvalidParameterException if $value is invalid. |
||
973 | */ |
||
974 | public function setCustomerPaymentMethodCreatedIndicator($value) |
||
991 | |||
992 | /** |
||
993 | * Get the customerPaymentMethodCreatedDate field |
||
994 | * |
||
995 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.paymentAccAge field in Redsys documentation. |
||
996 | * |
||
997 | * @return DateTime|int |
||
998 | */ |
||
999 | public function getCustomerPaymentMethodCreatedDate() |
||
1003 | |||
1004 | /** |
||
1005 | * Set the customerPaymentMethodCreatedDate field |
||
1006 | * |
||
1007 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.paymentAccAge field in the Redsys documentation. |
||
1008 | * |
||
1009 | * @param DateTime|int $value |
||
1010 | * @return self |
||
1011 | */ |
||
1012 | public function setCustomerPaymentMethodCreatedDate($value) |
||
1016 | |||
1017 | /** |
||
1018 | * Get the shippingAddressFirstUsedIndicator field |
||
1019 | * |
||
1020 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.shipAddressUsageInd field in Redsys documentation. |
||
1021 | * |
||
1022 | * @return string One of the SHIPPING_ADDRESS_USAGE_* constants |
||
1023 | */ |
||
1024 | public function getShippingAddressFirstUsedIndicator() |
||
1028 | |||
1029 | /** |
||
1030 | * Set the shippingAddressFirstUsedIndicator field |
||
1031 | * |
||
1032 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.shipAddressUsageInd field in the Redsys documentation. |
||
1033 | * |
||
1034 | * @param string $value One of the SHIPPING_ADDRESS_USAGE_* constants |
||
1035 | * @return self |
||
1036 | * @throws InvalidParameterException if $value is invalid. |
||
1037 | */ |
||
1038 | public function setShippingAddressFirstUsedIndicator($value) |
||
1054 | |||
1055 | /** |
||
1056 | * Get the shippingAddressFirstUsedDate field |
||
1057 | * |
||
1058 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.shipAddressUsage field in Redsys documentation. |
||
1059 | * |
||
1060 | * @return DateTime|int |
||
1061 | */ |
||
1062 | public function getShippingAddressFirstUsedDate() |
||
1066 | |||
1067 | /** |
||
1068 | * Set the shippingAddressFirstUsedDate field |
||
1069 | * |
||
1070 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.shipAddressUsage field in the Redsys documentation. |
||
1071 | * |
||
1072 | * @param DateTime|int $value |
||
1073 | * @return self |
||
1074 | */ |
||
1075 | public function setShippingAddressFirstUsedDate($value) |
||
1079 | |||
1080 | /** |
||
1081 | * Get the shippingNameCustomerNameMatch field |
||
1082 | * |
||
1083 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.shipNameIndicator field in Redsys documentation. |
||
1084 | * |
||
1085 | * @return boolean |
||
1086 | */ |
||
1087 | public function getShippingNameCustomerNameMatch() |
||
1091 | |||
1092 | /** |
||
1093 | * Set the shippingNameCustomerNameMatch field |
||
1094 | * |
||
1095 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.shipNameIndicator field in the Redsys documentation. |
||
1096 | * |
||
1097 | * @param boolean $value |
||
1098 | * @return self |
||
1099 | */ |
||
1100 | public function setShippingNameCustomerNameMatch($value) |
||
1104 | |||
1105 | /** |
||
1106 | * Get the customerHasSuspiciousActivity field |
||
1107 | * |
||
1108 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.suspiciousAccActivity field in Redsys documentation. |
||
1109 | * |
||
1110 | * @return boolean |
||
1111 | */ |
||
1112 | public function getCustomerHasSuspiciousActivity() |
||
1116 | |||
1117 | /** |
||
1118 | * Set the customerHasSuspiciousActivity field |
||
1119 | * |
||
1120 | * Corresponds to the Ds_Merchant_Emv3Ds.acctInfo.suspiciousAccActivity field in the Redsys documentation. |
||
1121 | * |
||
1122 | * @param boolean $value |
||
1123 | * @return self |
||
1124 | */ |
||
1125 | public function setCustomerHasSuspiciousActivity($value) |
||
1129 | |||
1130 | /** |
||
1131 | * Get the deliveryEmail field |
||
1132 | * |
||
1133 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.deliveryEmailAddress field in Redsys documentation. |
||
1134 | * |
||
1135 | * @return string |
||
1136 | */ |
||
1137 | public function getDeliveryEmail() |
||
1141 | |||
1142 | /** |
||
1143 | * Set the deliveryEmail field |
||
1144 | * |
||
1145 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.deliveryEmailAddress field in the Redsys |
||
1146 | * documentation. |
||
1147 | * |
||
1148 | * @param string $value |
||
1149 | * @return self |
||
1150 | */ |
||
1151 | public function setDeliveryEmail($value) |
||
1155 | |||
1156 | /** |
||
1157 | * Get the deliveryTimeframeIndicator field |
||
1158 | * |
||
1159 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.deliveryTimeframe field in Redsys documentation. |
||
1160 | * |
||
1161 | * @return string One of the DELIVERY_TIMEFRAME_* constants |
||
1162 | */ |
||
1163 | public function getDeliveryTimeframeIndicator() |
||
1167 | |||
1168 | /** |
||
1169 | * Set the deliveryTimeframeIndicator field |
||
1170 | * |
||
1171 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.deliveryTimeframe field in the Redsys documentation. |
||
1172 | * |
||
1173 | * @param string $value One of the DELIVERY_TIMEFRAME_* constants |
||
1174 | * @return self |
||
1175 | * @throws InvalidParameterException if $value is invalid. |
||
1176 | */ |
||
1177 | public function setDeliveryTimeframeIndicator($value) |
||
1193 | |||
1194 | /** |
||
1195 | * Get the giftCardAmount field |
||
1196 | * |
||
1197 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.giftCardAmount field in Redsys documentation. |
||
1198 | * |
||
1199 | * @return int |
||
1200 | */ |
||
1201 | public function getGiftCardAmount() |
||
1205 | |||
1206 | /** |
||
1207 | * Set the giftCardAmount field |
||
1208 | * |
||
1209 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.giftCardAmount field in the Redsys documentation. |
||
1210 | * |
||
1211 | * @param int $value |
||
1212 | * @return self |
||
1213 | */ |
||
1214 | public function setGiftCardAmount($value) |
||
1218 | |||
1219 | /** |
||
1220 | * Get the giftCardCount field |
||
1221 | * |
||
1222 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.giftCardCount field in Redsys documentation. |
||
1223 | * |
||
1224 | * @return int |
||
1225 | */ |
||
1226 | public function getGiftCardCount() |
||
1230 | |||
1231 | /** |
||
1232 | * Set the giftCardCount field |
||
1233 | * |
||
1234 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.giftCardCount field in the Redsys documentation. |
||
1235 | * |
||
1236 | * @param int $value |
||
1237 | * @return self |
||
1238 | */ |
||
1239 | public function setGiftCardCount($value) |
||
1243 | |||
1244 | /** |
||
1245 | * Get the giftCardCurrency field |
||
1246 | * |
||
1247 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.giftCardCurr field in Redsys documentation. |
||
1248 | * |
||
1249 | * @return string ISO-4217 currency code |
||
1250 | */ |
||
1251 | public function getGiftCardCurrency() |
||
1255 | |||
1256 | /** |
||
1257 | * Set the giftCardCurrency field |
||
1258 | * |
||
1259 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.giftCardCurr field in the Redsys documentation. |
||
1260 | * |
||
1261 | * @param string $value ISO-4217 currency code |
||
1262 | * @return self |
||
1263 | */ |
||
1264 | public function setGiftCardCurrency($value) |
||
1268 | |||
1269 | /** |
||
1270 | * Get the purchasingPreOrder field |
||
1271 | * |
||
1272 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.preOrderPurchaseInd field in Redsys documentation. |
||
1273 | * |
||
1274 | * @return boolean True if the customer is purchasing a preorder |
||
1275 | */ |
||
1276 | public function getPurchasingPreOrder() |
||
1280 | |||
1281 | /** |
||
1282 | * Set the purchasingPreOrder field |
||
1283 | * |
||
1284 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.preOrderPurchaseInd field in the Redsys |
||
1285 | * documentation. |
||
1286 | * |
||
1287 | * @param boolean $value True if the customer is purchasing a preorder |
||
1288 | * @return self |
||
1289 | */ |
||
1290 | public function setPurchasingPreOrder($value) |
||
1294 | |||
1295 | /** |
||
1296 | * Get the preOrderDate field |
||
1297 | * |
||
1298 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.preOrderDate field in Redsys documentation. |
||
1299 | * |
||
1300 | * @return DateTime|int |
||
1301 | */ |
||
1302 | public function getPreOrderDate() |
||
1306 | |||
1307 | /** |
||
1308 | * Set the preOrderDate field |
||
1309 | * |
||
1310 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.preOrderDate field in the Redsys documentation. |
||
1311 | * |
||
1312 | * @param DateTime|int $value |
||
1313 | * @return self |
||
1314 | */ |
||
1315 | public function setPreOrderDate($value) |
||
1319 | |||
1320 | /** |
||
1321 | * Get the customerHasPurchasedProductBefore field |
||
1322 | * |
||
1323 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.reorderItemsInd field in Redsys documentation. |
||
1324 | * |
||
1325 | * @return boolean |
||
1326 | */ |
||
1327 | public function getCustomerHasPurchasedProductBefore() |
||
1331 | |||
1332 | /** |
||
1333 | * Set the customerHasPurchasedProductBefore field |
||
1334 | * |
||
1335 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.reorderItemsInd field in the Redsys documentation. |
||
1336 | * |
||
1337 | * @param boolean $value |
||
1338 | * @return self |
||
1339 | */ |
||
1340 | public function setCustomerHasPurchasedProductBefore($value) |
||
1344 | |||
1345 | /** |
||
1346 | * Get the shippingAddressIndicator field |
||
1347 | * |
||
1348 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.shipIndicator field in Redsys documentation. |
||
1349 | * |
||
1350 | * @return string One of the self::SHIPPING_* constants |
||
1351 | */ |
||
1352 | public function getShippingAddressIndicator() |
||
1356 | |||
1357 | /** |
||
1358 | * Set the shippingAddressIndicator field |
||
1359 | * |
||
1360 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.shipIndicator field in the Redsys documentation. |
||
1361 | * |
||
1362 | * @param string $value One of the self::SHIPPING_* constants |
||
1363 | * @return self |
||
1364 | * @throws InvalidParameterException if $value is invalid. |
||
1365 | */ |
||
1366 | View Code Duplication | public function setShippingAddressIndicator($value) |
|
1385 | |||
1386 | /** |
||
1387 | * Get the SCA exemption field |
||
1388 | * |
||
1389 | * Corresponds to the Ds_Merchant_Excep_Sca field in Redsys documentation. |
||
1390 | * |
||
1391 | * @return string One of the self::SCA_EXCEMPTION_* constants |
||
1392 | */ |
||
1393 | public function getScaExemptionIndicator() |
||
1397 | |||
1398 | /** |
||
1399 | * Set the SCA exemption field |
||
1400 | * |
||
1401 | * Corresponds to the Ds_Merchant_Emv3Ds.MerchantRiskIndicator.shipIndicator field in the Redsys documentation. |
||
1402 | * |
||
1403 | * @param string $value One of the self::SCA_EXCEMPTION_* constants |
||
1404 | * @return self |
||
1405 | * @throws InvalidParameterException if $value is invalid. |
||
1406 | */ |
||
1407 | public function setScaExemptionIndicator($value) |
||
1423 | |||
1424 | /** |
||
1425 | * Override the abstract method to add requirement that it must start with 4 numeric characters |
||
1426 | * |
||
1427 | * @param string|int $value The transaction ID (merchant order) to set for the transaction |
||
1428 | */ |
||
1429 | public function setTransactionId($value) |
||
1444 | |||
1445 | public function getData() |
||
1667 | |||
1668 | public function sendData($data) |
||
1686 | |||
1687 | public function getEndpoint() |
||
1691 | |||
1692 | /** |
||
1693 | * Convert a DateTime or timestamp to a formatted date. |
||
1694 | * |
||
1695 | * @param DateTime|int $date The date to format. |
||
1696 | * @param string $format The format to use. |
||
1697 | * |
||
1698 | * @return string|null The formatted date, or null if date isn't a timestamp or DateTime object. |
||
1699 | */ |
||
1700 | protected static function formatDateTime($date, $format) |
||
1708 | } |
||
1709 |
This check marks PHPDoc comments that could not be parsed by our parser. To see which comment annotations we can parse, please refer to our documentation on supported doc-types.