diff --git a/lib/PayPal/Api/Transaction.php b/lib/PayPal/Api/Transaction.php index 4a1be9a..e266a11 100644 --- a/lib/PayPal/Api/Transaction.php +++ b/lib/PayPal/Api/Transaction.php @@ -14,6 +14,9 @@ use PayPal\Rest\ApiContext; * @property \PayPal\Api\ItemList item_list * @property \PayPal\Api\RelatedResources related_resources * @property \PayPal\Api\Transaction transactions + * @property string invoice_number + * @property string custom + * @property string soft_descriptor */ class Transaction extends PPModel { @@ -207,6 +210,84 @@ class Transaction extends PPModel return $this->related_resources; } + /** + * Set invoice number. + * Invoice number used to track the payment. 256 characters max. + * + * @param string $invoiceNumber + * + * @return $this + */ + public function setInvoiceNumber($invoiceNumber) + { + $this->invoice_number = $invoiceNumber; + + return $this; + } + + /** + * Get invoice number. + * Invoice number used to track the payment. 256 characters max. + * + * @return string + */ + public function getInvoiceNumber() + { + return $this->invoice_number; + } + + /** + * Set free-form field. + * Free-form field for the use of clients. 256 characters max. + * + * @param string $custom + * + * @return $this + */ + public function setCustom($custom) + { + $this->custom = $custom; + + return $this; + } + + /** + * Get free-form field. + * Free-form field for the use of clients. 256 characters max. + * + * @return string + */ + public function getCustom() + { + return $this->custom; + } + + /** + * Set soft descriptor. + * Soft descriptor used when charging this funding source. 22 characters max. + * + * @param string $softDescriptor + * + * @return $this + */ + public function setSoftDescriptor($softDescriptor) + { + $this->soft_descriptor = $softDescriptor; + + return $this; + } + + /** + * Get soft descriptor. + * Soft descriptor used when charging this funding source. 22 characters max. + * + * @return string + */ + public function getSoftDescriptor() + { + return $this->soft_descriptor; + } + /** * Set Transactions * Additional transactions for complex payment (Parallel and Chained) scenarios diff --git a/tests/PayPal/Test/Api/TransactionTest.php b/tests/PayPal/Test/Api/TransactionTest.php index 4659f0d..9c88f96 100644 --- a/tests/PayPal/Test/Api/TransactionTest.php +++ b/tests/PayPal/Test/Api/TransactionTest.php @@ -12,12 +12,18 @@ class TransactionTest extends \PHPUnit_Framework_TestCase { private $transaction; public static $description = "desc . . . "; + public static $invoiceNumber = "#123"; + public static $custom = "custom"; + public static $softDescriptor = "descriptor"; public static $total = "1.12"; public static function createTransaction() { $transaction = new Transaction(); $transaction->setAmount(AmountTest::createAmount()); $transaction->setDescription(self::$description); + $transaction->setInvoiceNumber(self::$invoiceNumber); + $transaction->setCustom(self::$custom); + $transaction->setSoftDescriptor(self::$softDescriptor); $transaction->setItemList(ItemListTest::createItemList()); $transaction->setPayee(PayeeTest::createPayee()); $transaction->setRelatedResources( array(RelatedResourcesTest::createRelatedResources()) ); @@ -31,6 +37,9 @@ class TransactionTest extends \PHPUnit_Framework_TestCase { public function testGetterSetter() { $this->assertEquals(AmountTest::$currency, $this->transaction->getAmount()->getCurrency()); $this->assertEquals(self::$description, $this->transaction->getDescription()); + $this->assertEquals(self::$invoiceNumber, $this->transaction->getInvoiceNumber()); + $this->assertEquals(self::$custom, $this->transaction->getCustom()); + $this->assertEquals(self::$softDescriptor, $this->transaction->getSoftDescriptor()); $items = $this->transaction->getItemList()->getItems(); $this->assertEquals(ItemTest::$quantity, $items[0]->getQuantity()); $this->assertEquals(PayeeTest::$email, $this->transaction->getPayee()->getEmail());