1 <?php
2 namespace OpenDNS\MES\Trident;
3
4 /**
5 * Capture a previously authorized transaction
6 */
7 class Capture extends Request
8 {
9 /** @var string Transaction type to send in the request */
10 protected $transactionType = 'S';
11
12 /**
13 * Sets the amount to settle.
14 *
15 * The settle amount can be different than the preauthorized amount.
16 *
17 * @param float|string $amount
18 * @return self The current class instance for chaining
19 */
20 public function setAmount($amount)
21 {
22 return $this->setField('transaction_amount', $amount);
23 }
24
25 /**
26 * Set the invoice number for the transaction.
27 *
28 * It's only required if it wasn't submitted with the preauthorization
29 * that's being captured. Limited to a-z, A-Z, 0-9, and spaces.
30 *
31 * @param int|string $invoiceNumber
32 * @return self The current class instance for chaining
33 */
34 public function setInvoiceNumber($invoiceNumber)
35 {
36 return $this->setField('invoice_number', $invoiceNumber);
37 }
38
39 /**
40 * Set the transaction ID of a previous preauthorization transaction.
41 *
42 * @param string $transactionID
43 * @return self The current class instance for chaining
44 */
45 public function setTransactionId($transactionId)
46 {
47 return $this->setField('transaction_id', $transactionId);
48 }
49 }
50