1: <?php
2:
3: /**
4: * A payment recipient object (to use for recipient_map)
5: */
6: class Syspay_Merchant_Entity_PaymentRecipient extends Syspay_Merchant_Entity
7: {
8: const TYPE = 'payment_recipient';
9:
10: /**
11: * The exact amount is given (the 'value' property is an amount in CENTs and the 'currency' must be supplied)
12: */
13: const CALC_TYPE_FIXED = 'fixed';
14:
15: /**
16: * The 'value' is a percentage * 100 (100 == 1%) of the total payment amount
17: */
18: const CALC_TYPE_PERCENT = 'percent';
19:
20: /**
21: * The SysPay user id of the recipient.
22: * This is used as verification to make sure the recipient's account_id is not bogus
23: * @var integer
24: */
25: protected $user_id;
26:
27: /**
28: * The SysPay account id of the recipient
29: * @var integer
30: */
31: protected $account_id;
32:
33: /**
34: * The way the amount to transfer to the recipient is calculated. (one of the CALC_TYPE constants)
35: * - CALC_TYPE_PERCENT: The `value` property is a (percentage*100) of the total payment amount
36: * - CALC_TYPE_FIXED: The 'value' property is a fixed amount. In this case the 'currency' must be given
37: * @var integer
38: */
39: protected $calc_type;
40:
41: /**
42: * Value used to compute the amount
43: * @var integer
44: */
45: protected $value;
46:
47: /**
48: * The currency (mandatory in case of a FIXED calc_type)
49: * This is a safety check and it must match the payment currency.
50: * @var string
51: */
52: protected $currency;
53:
54: /**
55: * Number of seconds to delay the transfer's settlement (added to the actual time of settlement of the payment)
56: * @var integer
57: */
58: protected $settlement_delay;
59:
60: /**
61: * Gets the The SysPay user id of the recipient.
62: * This is used as verification to make sure the recipient's account_id is not bogus.
63: *
64: * @return integer
65: */
66: public function getUserId()
67: {
68: return $this->user_id;
69: }
70:
71: /**
72: * Sets the The SysPay user id of the recipient.
73: * This is used as verification to make sure the recipient's account_id is not bogus.
74: *
75: * @param integer $user_id the user_id
76: *
77: * @return self
78: */
79: public function setUserId($user_id)
80: {
81: $this->user_id = $user_id;
82:
83: return $this;
84: }
85:
86: /**
87: * Gets the The SysPay account id of the recipient.
88: *
89: * @return integer
90: */
91: public function getAccountId()
92: {
93: return $this->account_id;
94: }
95:
96: /**
97: * Sets the The SysPay account id of the recipient.
98: *
99: * @param integer $account_id the account_id
100: *
101: * @return self
102: */
103: public function setAccountId($account_id)
104: {
105: $this->account_id = $account_id;
106:
107: return $this;
108: }
109:
110: /**
111: * Gets the The way the amount to transfer to the recipient is calculated. (one of the CALC_TYPE constants)
112: * - CALC_TYPE_PERCENT: The `value` property is a (percentage*100) of the total payment amount
113: * - CALC_TYPE_FIXED: The 'value' property is a fixed amount. In this case the 'currency' must be given.
114: *
115: * @return integer
116: */
117: public function getCalcType()
118: {
119: return $this->calc_type;
120: }
121:
122: /**
123: * Sets the The way the amount to transfer to the recipient is calculated. (one of the CALC_TYPE constants)
124: * - CALC_TYPE_PERCENT: The `value` property is a (percentage*100) of the total payment amount
125: * - CALC_TYPE_FIXED: The 'value' property is a fixed amount. In this case the 'currency' must be given.
126: *
127: * @param integer $calc_type the calc_type
128: *
129: * @return self
130: */
131: public function setCalcType($calc_type)
132: {
133: $this->calc_type = $calc_type;
134:
135: return $this;
136: }
137:
138: /**
139: * Gets the Value used to compute the amount.
140: *
141: * @return integer
142: */
143: public function getValue()
144: {
145: return $this->value;
146: }
147:
148: /**
149: * Sets the Value used to compute the amount.
150: *
151: * @param integer $value the value
152: *
153: * @return self
154: */
155: public function setValue($value)
156: {
157: $this->value = $value;
158:
159: return $this;
160: }
161:
162: /**
163: * Gets the The currency (mandatory in case of a FIXED calc_type)
164: * This is a safety check and it must match the payment currency..
165: *
166: * @return string
167: */
168: public function getCurrency()
169: {
170: return $this->currency;
171: }
172:
173: /**
174: * Sets the The currency (mandatory in case of a FIXED calc_type)
175: * This is a safety check and it must match the payment currency..
176: *
177: * @param string $currency the currency
178: *
179: * @return self
180: */
181: public function setCurrency($currency)
182: {
183: $this->currency = $currency;
184:
185: return $this;
186: }
187:
188: /**
189: * Gets the Number of seconds to delay the transfer's settlement
190: * (added to the actual time of settlement of the payment).
191: *
192: * @return integer
193: */
194: public function getSettlementDelay()
195: {
196: return $this->settlement_delay;
197: }
198:
199: /**
200: * Sets the Number of seconds to delay the transfer's settlement
201: * (added to the actual time of settlement of the payment).
202: *
203: * @param integer $settlement_delay the settlement_delay
204: *
205: * @return self
206: */
207: public function setSettlementDelay($settlement_delay)
208: {
209: $this->settlement_delay = $settlement_delay;
210:
211: return $this;
212: }
213: }
214: