use PayPal\Api\ShippingInfo; $invoice = new Invoice(); $invoice->setMerchantInfo(new MerchantInfo())->setBillingInfo(array(new BillingInfo()))->setItems(array(new InvoiceItem()))->setNote("Medical Invoice 16 Jul, 2013 PST")->setPaymentTerm(new PaymentTerm())->setShippingInfo(new ShippingInfo()); $invoice->getMerchantInfo()->setEmail("*****@*****.**")->setFirstName("Dennis")->setLastName("Doctor")->setbusinessName("Medical Professionals, LLC")->setPhone(new Phone())->setAddress(new Address()); $invoice->getMerchantInfo()->getPhone()->setCountryCode("001")->setNationalNumber("5032141716"); $invoice->getMerchantInfo()->getAddress()->setLine1("1234 Main St.")->setCity("Portland")->setState("OR")->setPostalCode("97217")->setCountryCode("US"); $billing = $invoice->getBillingInfo(); $billing[0]->setEmail("*****@*****.**"); $items = $invoice->getItems(); $items[0]->setName("Sutures")->setQuantity(100)->setUnitPrice(new Currency()); $items[0]->getUnitPrice()->setCurrency("USD")->setValue(5); $invoice->getPaymentTerm()->setTermType("NET_45"); $invoice->getShippingInfo()->setFirstName("Sally")->setLastName("Patient")->setBusinessName("Not applicable")->setPhone(new Phone())->setAddress(new Address()); $invoice->getShippingInfo()->getPhone()->setCountryCode("001")->setNationalNumber("5039871234"); $invoice->getShippingInfo()->getAddress()->setLine1("1234 Main St.")->setCity("Portland")->setState("OR")->setPostalCode("97217")->setCountryCode("US"); print var_dump($invoice->toArray()); try { $invoice->create($apiContext); } catch (PayPal\Exception\PPConnectionException $ex) { echo "Exception: " . $ex->getMessage() . PHP_EOL; var_dump($ex->getData()); exit(1); } ?> <html> <head> <title>Direct Credit card payments</title> </head> <body> <div> Created Invoice: