1 <?php
2
3 namespace PayPal\Api;
4
5 use PayPal\Common\PayPalModel;
6
7 /**
8 * Class InstallmentInfo
9 *
10 * A resource representing installment information available for a transaction
11 *
12 * @package PayPal\Api
13 *
14 * @property string installment_id
15 * @property string network
16 * @property string issuer
17 * @property \PayPal\Api\InstallmentOption[] installment_options
18 */
19 class InstallmentInfo extends PayPalModel
20 {
21 /**
22 * Installment id.
23 *
24 * @param string $installment_id
25 *
26 * @return $this
27 */
28 public function setInstallmentId($installment_id)
29 {
30 $this->installment_id = $installment_id;
31 return $this;
32 }
33
34 /**
35 * Installment id.
36 *
37 * @return string
38 */
39 public function getInstallmentId()
40 {
41 return $this->installment_id;
42 }
43
44 /**
45 * Credit card network.
46 * Valid Values: ["VISA", "MASTERCARD"]
47 *
48 * @param string $network
49 *
50 * @return $this
51 */
52 public function setNetwork($network)
53 {
54 $this->network = $network;
55 return $this;
56 }
57
58 /**
59 * Credit card network.
60 *
61 * @return string
62 */
63 public function getNetwork()
64 {
65 return $this->network;
66 }
67
68 /**
69 * Credit card issuer.
70 *
71 * @param string $issuer
72 *
73 * @return $this
74 */
75 public function setIssuer($issuer)
76 {
77 $this->issuer = $issuer;
78 return $this;
79 }
80
81 /**
82 * Credit card issuer.
83 *
84 * @return string
85 */
86 public function getIssuer()
87 {
88 return $this->issuer;
89 }
90
91 /**
92 * List of available installment options and the cost associated with each one.
93 *
94 * @param \PayPal\Api\InstallmentOption[] $installment_options
95 *
96 * @return $this
97 */
98 public function setInstallmentOptions($installment_options)
99 {
100 $this->installment_options = $installment_options;
101 return $this;
102 }
103
104 /**
105 * List of available installment options and the cost associated with each one.
106 *
107 * @return \PayPal\Api\InstallmentOption[]
108 */
109 public function getInstallmentOptions()
110 {
111 return $this->installment_options;
112 }
113
114 /**
115 * Append InstallmentOptions to the list.
116 *
117 * @param \PayPal\Api\InstallmentOption $installmentOption
118 * @return $this
119 */
120 public function addInstallmentOption($installmentOption)
121 {
122 if (!$this->getInstallmentOptions()) {
123 return $this->setInstallmentOptions(array($installmentOption));
124 } else {
125 return $this->setInstallmentOptions(
126 array_merge($this->getInstallmentOptions(), array($installmentOption))
127 );
128 }
129 }
130
131 /**
132 * Remove InstallmentOptions from the list.
133 *
134 * @param \PayPal\Api\InstallmentOption $installmentOption
135 * @return $this
136 */
137 public function removeInstallmentOption($installmentOption)
138 {
139 return $this->setInstallmentOptions(
140 array_diff($this->getInstallmentOptions(), array($installmentOption))
141 );
142 }
143
144 }
145