Information about a single line item.
Inheritance: extends PayPal\Common\PayPalModel
 /**
  * @depends testSerializationDeserialization
  * @param InvoiceItem $obj
  */
 public function testGetters($obj)
 {
     $this->assertEquals($obj->getName(), "TestSample");
     $this->assertEquals($obj->getDescription(), "TestSample");
     $this->assertEquals($obj->getQuantity(), "12.34");
     $this->assertEquals($obj->getUnitPrice(), CurrencyTest::getObject());
     $this->assertEquals($obj->getTax(), TaxTest::getObject());
     $this->assertEquals($obj->getDate(), "TestSample");
     $this->assertEquals($obj->getDiscount(), CostTest::getObject());
 }
<?php

// # Create Invoice Template Sample
// This sample code demonstrate how you can create
// an invoice template.
use PayPal\Api\Currency;
use PayPal\Api\InvoiceItem;
use PayPal\Api\MerchantInfo;
use PayPal\Api\Template;
use PayPal\Api\TemplateData;
use PayPal\Api\TemplateSettings;
use PayPal\Api\TemplateSettingsMetadata;
require __DIR__ . '/../bootstrap.php';
// ### Invoice Template Item
$invoiceTemplateDataItem = new InvoiceItem();
$invoiceTemplateDataItem->setName("Nutri Bullet")->setQuantity(1)->setUnitPrice(new Currency('{ "currency": "USD", "value": "50.00" }'));
// ### Invoice Template Data
$invoiceTemplateData = new TemplateData();
$invoiceTemplateData->setTaxCalculatedAfterDiscount(false)->setTaxInclusive(false)->setNote("Thank you for your business")->setLogoUrl("https://pics.paypal.com/v1/images/redDot.jpeg")->addItem($invoiceTemplateDataItem)->setMerchantInfo(new MerchantInfo('{ "email": "*****@*****.**" }'));
// ### Template Settings
$displayPreferences = new TemplateSettingsMetadata();
$displayPreferences->setHidden(true);
$settingDate = new TemplateSettings();
$settingDate->setFieldName("items.date")->setDisplayPreference($displayPreferences);
// ### Template
$invoiceTemplate = new Template();
$invoiceTemplate->setName("Hours Template" . rand())->setDefault(true)->setUnitOfMeasure("HOURS")->setTemplateData($invoiceTemplateData)->addSetting(new TemplateSettings('{ "field_name": "custom", "display_preference": { "hidden": true } }'))->addSetting($settingDate);
// For Sample Purposes Only.
$request = clone $invoiceTemplate;
try {
    // ### Create Invoice Template
 /**
  * @expectedException \InvalidArgumentException
  * @expectedExceptionMessage ImageUrl is not a fully qualified URL
  */
 public function testUrlValidationForImageUrl()
 {
     $obj = new InvoiceItem();
     $obj->setImageUrl(null);
 }