setItems() public method

The list of items to include in the invoice. Maximum value is 100 items per invoice.
public setItems ( InvoiceItem[] $items )
$items InvoiceItem[]
示例#1
0
$tax = new \PayPal\Api\Tax();
$tax->setPercent(1)->setName("Local Tax on Sutures");
$items[0]->setTax($tax);
// Second Item
$items[1] = new InvoiceItem();
// Lets add some discount to this item.
$item1discount = new Cost();
$item1discount->setPercent("3");
$items[1]->setName("Injection")->setQuantity(5)->setDiscount($item1discount)->setUnitPrice(new Currency());
$items[1]->getUnitPrice()->setCurrency("USD")->setValue(5);
// #### Tax Item
// You could provide Tax information to each item.
$tax2 = new \PayPal\Api\Tax();
$tax2->setPercent(3)->setName("Local Tax on Injection");
$items[1]->setTax($tax2);
$invoice->setItems($items);
// #### Final Discount
// You can add final discount to the invoice as shown below. You could either use "percent" or "value" when providing the discount
$cost = new Cost();
$cost->setPercent("2");
$invoice->setDiscount($cost);
$invoice->getPaymentTerm()->setTermType("NET_45");
// ### Shipping Information
$invoice->getShippingInfo()->setFirstName("Sally")->setLastName("Patient")->setBusinessName("Not applicable")->setPhone(new Phone())->setAddress(new InvoiceAddress());
$invoice->getShippingInfo()->getPhone()->setCountryCode("001")->setNationalNumber("5039871234");
$invoice->getShippingInfo()->getAddress()->setLine1("1234 Main St.")->setCity("Portland")->setState("OR")->setPostalCode("97217")->setCountryCode("US");
// ### Logo
// You can set the logo in the invoice by providing the external URL pointing to a logo
$invoice->setLogoUrl('https://www.paypalobjects.com/webstatic/i/logo/rebrand/ppcom.svg');
// For Sample Purposes Only.
$request = clone $invoice;
示例#2
0
 public function createInvoice($params = null)
 {
     if (!$params) {
         return false;
     }
     $invoice = new Invoice();
     // ### Invoice Info
     // Fill in all the information that is
     // required for invoice APIs
     $invoice->setMerchantInfo(new MerchantInfo())->setBillingInfo(array(new BillingInfo()));
     // ### Merchant Info
     // A resource representing merchant information that can be
     // used to identify merchant
     $owner_email = $this->_credentials['business_owner'];
     $invoice->getMerchantInfo()->setEmail($owner_email);
     // ### Billing Information
     // Set the email address for each billing
     $billing = $invoice->getBillingInfo();
     $billing[0]->setEmail($params['email']);
     $items = [];
     foreach ($params['items'] as $key => $item) {
         # code...
         $items[$key] = new InvoiceItem();
         $items[$key]->setName($item['name'])->setQuantity($item['quantity'])->setUnitPrice(new Currency());
         $items[$key]->getUnitPrice()->setCurrency($params['currency'])->setValue((double) $item['price']);
     }
     // ### Items List
     $invoice->setItems($items);
     $request = clone $invoice;
     try {
         $invoice->create($this->config);
     } catch (\Exception $ex) {
         return $ex;
     }
     return $invoice;
 }