diff --git a/sample/doc/invoice-templates/CreateInvoiceTemplate.html b/sample/doc/invoice-templates/CreateInvoiceTemplate.html new file mode 100644 index 0000000..8657e0e --- /dev/null +++ b/sample/doc/invoice-templates/CreateInvoiceTemplate.html @@ -0,0 +1,43 @@ +invoice-templates/CreateInvoiceTemplate
invoice-templates/CreateInvoiceTemplate.php
<?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": "jaypatel512-facilitator@hotmail.com" }'));

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)

This is another way of initializing the object.

->addSetting(new TemplateSettings('{ "field_name": "custom", "display_preference": { "hidden": true } }')) + ->addSetting($settingDate);

For Sample Purposes Only.

$request = clone $invoiceTemplate; + +try {

Create Invoice Template

+

Create an invoice by calling the invoice->create() method +with a valid ApiContext (See bootstrap.php for more on ApiContext)

$invoiceTemplate->create($apiContext); +} catch (Exception $ex) {

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printError("Create Invoice Template", "Template", null, $request, $ex); + exit(1); +}

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printResult("Create Invoice Template", "Template", $invoiceTemplate->getTemplateId(), $request, $invoiceTemplate); + +return $invoiceTemplate;
\ No newline at end of file diff --git a/sample/doc/invoice-templates/DeleteInvoiceTemplate.html b/sample/doc/invoice-templates/DeleteInvoiceTemplate.html new file mode 100644 index 0000000..d2669dd --- /dev/null +++ b/sample/doc/invoice-templates/DeleteInvoiceTemplate.html @@ -0,0 +1,16 @@ +invoice-templates/DeleteInvoiceTemplate
invoice-templates/DeleteInvoiceTemplate.php
<?php

Delete Invoice Template Sample

+

This sample code demonstrate how you can delete +an invoice template

/** @var Template $template */ +$template = require 'CreateInvoiceTemplate.php'; + +use PayPal\Api\Template; + +try {

Delete Invoice Template

+

Delete invoice object by calling the +delete method +on the Invoice Template class by passing a valid +notification object +(See bootstrap.php for more on ApiContext)

$deleteStatus = $template->delete($apiContext); +} catch (Exception $ex) {

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printError("Delete Invoice Template", "Template", null, $deleteStatus, $ex); + exit(1); +}

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printResult("Delete Invoice Template", "Template", $template->getTemplateId(), null, null);
\ No newline at end of file diff --git a/sample/doc/invoice-templates/GetAllInvoiceTemplates.html b/sample/doc/invoice-templates/GetAllInvoiceTemplates.html new file mode 100644 index 0000000..892fe09 --- /dev/null +++ b/sample/doc/invoice-templates/GetAllInvoiceTemplates.html @@ -0,0 +1,13 @@ +invoice-templates/GetAllInvoiceTemplates
invoice-templates/GetAllInvoiceTemplates.php
<?php + +use PayPal\Api\Templates; + +require 'CreateInvoiceTemplate.php'; + +try { + $templates = Templates::getAll(array("fields" => "all"), $apiContext); +} catch (Exception $ex) {

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printError("Get all Templates", "Templates", null, null, $ex); + exit(1); +}

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printResult("Get all Templates", "Templates", null, null, $templates); + +return $templates;
\ No newline at end of file diff --git a/sample/doc/invoice-templates/GetInvoiceTemplate.html b/sample/doc/invoice-templates/GetInvoiceTemplate.html new file mode 100644 index 0000000..716461a --- /dev/null +++ b/sample/doc/invoice-templates/GetInvoiceTemplate.html @@ -0,0 +1,19 @@ +invoice-templates/GetInvoiceTemplate
invoice-templates/GetInvoiceTemplate.php
<?php

Retrieve Invoice Template Sample

+

This sample code demonstrate how you can get +an invoice template using templateId.

use PayPal\Api\Template; + +$invoiceTemplate = require 'CreateInvoiceTemplate.php'; + +/** @var Template $invoiceTemplate */ +$templateId = $invoiceTemplate->getTemplateId();

Retrieve Invoice Template

+

Retrieve the invoice template object by calling the +static get method +on the Template class by passing a valid +Template ID +(See bootstrap.php for more on ApiContext)

try { + $template = Template::get($templateId, $apiContext); +} catch (Exception $ex) {

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printError("Get Invoice Template", "Template", $template->getTemplateId(), $templateId, $ex); + exit(1); +}

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printResult("Get Invoice Template", "Template", $template->getTemplateId(), $templateId, $template); + +return $template;
\ No newline at end of file diff --git a/sample/doc/invoice-templates/UpdateInvoiceTemplate.html b/sample/doc/invoice-templates/UpdateInvoiceTemplate.html new file mode 100644 index 0000000..a6b3a22 --- /dev/null +++ b/sample/doc/invoice-templates/UpdateInvoiceTemplate.html @@ -0,0 +1,12 @@ +invoice-templates/UpdateInvoiceTemplate
invoice-templates/UpdateInvoiceTemplate.php
<?php

Update Invoice Sample

+

This sample code demonstrate how you can update +an invoice.

/** @var Template $template */ +$template = require 'GetInvoiceTemplate.php'; +use PayPal\Api\Template;

Update Invoice

$template->setUnitOfMeasure("QUANTITY");

NOTE: These are the work-around added to the

+

sample, to get past the bug in PayPal APIs.

$template->setCustom(null);

For Sample Purposes Only.

$request = clone $template; +try {

Update Invoice Template

+

Update an invoice by calling the invoice->update() method +with a valid ApiContext (See bootstrap.php for more on ApiContext)

$template->update($apiContext); +} catch (Exception $ex) {

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printError("Invoice Template Updated", "Invoice", null, $request, $ex); + exit(1); +}

NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY

ResultPrinter::printResult("Invoice Template Updated", "Invoice", $template->getTemplateId(), $request, $template);
\ No newline at end of file diff --git a/sample/index.php b/sample/index.php index 094a9b8..bc55caf 100644 --- a/sample/index.php +++ b/sample/index.php @@ -1358,7 +1358,7 @@ if (PHP_SAPI == 'cli') {
Try It - Source Source
@@ -1369,7 +1369,7 @@ if (PHP_SAPI == 'cli') {
Try It - Source Source
@@ -1380,7 +1380,7 @@ if (PHP_SAPI == 'cli') { @@ -1391,7 +1391,7 @@ if (PHP_SAPI == 'cli') { @@ -1402,7 +1402,7 @@ if (PHP_SAPI == 'cli') {