diff --git a/lib/PayPal/Api/Address.php b/lib/PayPal/Api/Address.php index 7b93d48..693fa2d 100644 --- a/lib/PayPal/Api/Address.php +++ b/lib/PayPal/Api/Address.php @@ -11,208 +11,14 @@ use PayPal\Common\PPModel; * * @package PayPal\Api * - * @property string line1 - * @property string line2 - * @property string city - * @property string country_code - * @property string postal_code - * @property string state * @property string phone */ -class Address extends PPModel +class Address extends BaseAddress { - /** - * Line 1 of the Address (eg. number, street, etc). - * - * @param string $line1 - * - * @return $this - */ - public function setLine1($line1) - { - $this->line1 = $line1; - return $this; - } - - /** - * Line 1 of the Address (eg. number, street, etc). - * - * @return string - */ - public function getLine1() - { - return $this->line1; - } - - /** - * Optional line 2 of the Address (eg. suite, apt #, etc.). - * - * @param string $line2 - * - * @return $this - */ - public function setLine2($line2) - { - $this->line2 = $line2; - return $this; - } - - /** - * Optional line 2 of the Address (eg. suite, apt #, etc.). - * - * @return string - */ - public function getLine2() - { - return $this->line2; - } - - /** - * City name. - * - * @param string $city - * - * @return $this - */ - public function setCity($city) - { - $this->city = $city; - return $this; - } - - /** - * City name. - * - * @return string - */ - public function getCity() - { - return $this->city; - } - - /** - * 2 letter country code. - * - * @param string $country_code - * - * @return $this - */ - public function setCountryCode($country_code) - { - $this->country_code = $country_code; - return $this; - } - - /** - * 2 letter country code. - * - * @return string - */ - public function getCountryCode() - { - return $this->country_code; - } - - /** - * 2 letter country code. - * - * @deprecated Instead use setCountryCode - * - * @param string $country_code - * @return $this - */ - public function setCountry_code($country_code) - { - $this->country_code = $country_code; - return $this; - } - - /** - * 2 letter country code. - * @deprecated Instead use getCountryCode - * - * @return string - */ - public function getCountry_code() - { - return $this->country_code; - } - - /** - * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. - * - * @param string $postal_code - * - * @return $this - */ - public function setPostalCode($postal_code) - { - $this->postal_code = $postal_code; - return $this; - } - - /** - * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. - * - * @return string - */ - public function getPostalCode() - { - return $this->postal_code; - } - - /** - * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. - * - * @deprecated Instead use setPostalCode - * - * @param string $postal_code - * @return $this - */ - public function setPostal_code($postal_code) - { - $this->postal_code = $postal_code; - return $this; - } - - /** - * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. - * @deprecated Instead use getPostalCode - * - * @return string - */ - public function getPostal_code() - { - return $this->postal_code; - } - - /** - * 2 letter code for US states, and the equivalent for other countries. - * - * @param string $state - * - * @return $this - */ - public function setState($state) - { - $this->state = $state; - return $this; - } - - /** - * 2 letter code for US states, and the equivalent for other countries. - * - * @return string - */ - public function getState() - { - return $this->state; - } - /** * Phone number in E.123 format. * - * @param \PayPal\Api\Phone $phone + * @param string $phone * * @return $this */ @@ -225,7 +31,7 @@ class Address extends PPModel /** * Phone number in E.123 format. * - * @return \PayPal\Api\Phone + * @return string */ public function getPhone() { diff --git a/lib/PayPal/Api/BaseAddress.php b/lib/PayPal/Api/BaseAddress.php new file mode 100644 index 0000000..d5ab7cf --- /dev/null +++ b/lib/PayPal/Api/BaseAddress.php @@ -0,0 +1,211 @@ +line1 = $line1; + return $this; + } + + /** + * Line 1 of the Address (eg. number, street, etc). + * + * @return string + */ + public function getLine1() + { + return $this->line1; + } + + /** + * Optional line 2 of the Address (eg. suite, apt #, etc.). + * + * @param string $line2 + * + * @return $this + */ + public function setLine2($line2) + { + $this->line2 = $line2; + return $this; + } + + /** + * Optional line 2 of the Address (eg. suite, apt #, etc.). + * + * @return string + */ + public function getLine2() + { + return $this->line2; + } + + /** + * City name. + * + * @param string $city + * + * @return $this + */ + public function setCity($city) + { + $this->city = $city; + return $this; + } + + /** + * City name. + * + * @return string + */ + public function getCity() + { + return $this->city; + } + + /** + * 2 letter country code. + * + * @param string $country_code + * + * @return $this + */ + public function setCountryCode($country_code) + { + $this->country_code = $country_code; + return $this; + } + + /** + * 2 letter country code. + * + * @return string + */ + public function getCountryCode() + { + return $this->country_code; + } + + /** + * 2 letter country code. + * + * @deprecated Instead use setCountryCode + * + * @param string $country_code + * @return $this + */ + public function setCountry_code($country_code) + { + $this->country_code = $country_code; + return $this; + } + + /** + * 2 letter country code. + * @deprecated Instead use getCountryCode + * + * @return string + */ + public function getCountry_code() + { + return $this->country_code; + } + + /** + * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. + * + * @param string $postal_code + * + * @return $this + */ + public function setPostalCode($postal_code) + { + $this->postal_code = $postal_code; + return $this; + } + + /** + * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. + * + * @return string + */ + public function getPostalCode() + { + return $this->postal_code; + } + + /** + * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. + * + * @deprecated Instead use setPostalCode + * + * @param string $postal_code + * @return $this + */ + public function setPostal_code($postal_code) + { + $this->postal_code = $postal_code; + return $this; + } + + /** + * Zip code or equivalent is usually required for countries that have them. For list of countries that do not have postal codes please refer to http://en.wikipedia.org/wiki/Postal_code. + * @deprecated Instead use getPostalCode + * + * @return string + */ + public function getPostal_code() + { + return $this->postal_code; + } + + /** + * 2 letter code for US states, and the equivalent for other countries. + * + * @param string $state + * + * @return $this + */ + public function setState($state) + { + $this->state = $state; + return $this; + } + + /** + * 2 letter code for US states, and the equivalent for other countries. + * + * @return string + */ + public function getState() + { + return $this->state; + } + +} diff --git a/lib/PayPal/Api/BillingInfo.php b/lib/PayPal/Api/BillingInfo.php index 435a7d9..fdc1edf 100644 --- a/lib/PayPal/Api/BillingInfo.php +++ b/lib/PayPal/Api/BillingInfo.php @@ -15,7 +15,7 @@ use PayPal\Common\PPModel; * @property string first_name * @property string last_name * @property string business_name - * @property \PayPal\Api\Address address + * @property \PayPal\Api\InvoiceAddress address * @property string language * @property string additional_info * @property string notification_channel @@ -193,7 +193,7 @@ class BillingInfo extends PPModel /** * Address of the invoice recipient. * - * @param \PayPal\Api\Address $address + * @param \PayPal\Api\InvoiceAddress $address * * @return $this */ @@ -206,7 +206,7 @@ class BillingInfo extends PPModel /** * Address of the invoice recipient. * - * @return \PayPal\Api\Address + * @return \PayPal\Api\InvoiceAddress */ public function getAddress() { diff --git a/lib/PayPal/Api/InvoiceAddress.php b/lib/PayPal/Api/InvoiceAddress.php new file mode 100644 index 0000000..4f7f5b4 --- /dev/null +++ b/lib/PayPal/Api/InvoiceAddress.php @@ -0,0 +1,41 @@ +phone = $phone; + return $this; + } + + /** + * Phone number in E.123 format. + * + * @return \PayPal\Api\Phone + */ + public function getPhone() + { + return $this->phone; + } + +} diff --git a/lib/PayPal/Api/MerchantInfo.php b/lib/PayPal/Api/MerchantInfo.php index a5a38eb..2389985 100644 --- a/lib/PayPal/Api/MerchantInfo.php +++ b/lib/PayPal/Api/MerchantInfo.php @@ -14,7 +14,7 @@ use PayPal\Common\PPModel; * @property string email * @property string first_name * @property string last_name - * @property \PayPal\Api\Address address + * @property \PayPal\Api\InvoiceAddress address * @property string business_name * @property \PayPal\Api\Phone phone * @property \PayPal\Api\Phone fax @@ -146,7 +146,7 @@ class MerchantInfo extends PPModel /** * Address of the merchant. * - * @param \PayPal\Api\Address $address + * @param \PayPal\Api\InvoiceAddress $address * * @return $this */ @@ -159,7 +159,7 @@ class MerchantInfo extends PPModel /** * Address of the merchant. * - * @return \PayPal\Api\Address + * @return \PayPal\Api\InvoiceAddress */ public function getAddress() { diff --git a/lib/PayPal/Api/Phone.php b/lib/PayPal/Api/Phone.php index dd8a4b7..1c55e98 100644 --- a/lib/PayPal/Api/Phone.php +++ b/lib/PayPal/Api/Phone.php @@ -13,6 +13,7 @@ use PayPal\Common\PPModel; * * @property string country_code * @property string national_number + * @property string extension */ class Phone extends PPModel { diff --git a/lib/PayPal/Api/ShippingInfo.php b/lib/PayPal/Api/ShippingInfo.php index 1f9ab5b..423f8ff 100644 --- a/lib/PayPal/Api/ShippingInfo.php +++ b/lib/PayPal/Api/ShippingInfo.php @@ -15,7 +15,7 @@ use PayPal\Common\PPModel; * @property string last_name * @property string business_name * @property \PayPal\Api\Phone phone - * @property \PayPal\Api\Address address + * @property \PayPal\Api\InvoiceAddress address */ class ShippingInfo extends PPModel { @@ -188,7 +188,7 @@ class ShippingInfo extends PPModel /** * Address of the invoice recipient. * - * @param \PayPal\Api\Address $address + * @param \PayPal\Api\InvoiceAddress $address * * @return $this */ @@ -201,7 +201,7 @@ class ShippingInfo extends PPModel /** * Address of the invoice recipient. * - * @return \PayPal\Api\Address + * @return \PayPal\Api\InvoiceAddress */ public function getAddress() { diff --git a/lib/PayPal/Common/PPModel.php b/lib/PayPal/Common/PPModel.php index fa38945..bdcf662 100644 --- a/lib/PayPal/Common/PPModel.php +++ b/lib/PayPal/Common/PPModel.php @@ -87,7 +87,11 @@ class PPModel public function __set($key, $value) { ModelAccessorValidator::validate($this, $this->convertToCamelCase($key)); - $this->_propMap[$key] = $value; + if ($value == null) { + $this->__unset($key); + } else { + $this->_propMap[$key] = $value; + } } /** diff --git a/sample/doc/assets/behavior.js b/sample/doc/assets/behavior.js index 72151e9..a79fd10 100644 --- a/sample/doc/assets/behavior.js +++ b/sample/doc/assets/behavior.js @@ -1020,6 +1020,14 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3 "slug": "update-invoice" }, "depth": 3 + }, { + "type": "heading", + "data": { + "level": 3, + "title": "NOTE: These are the work-around added to the", + "slug": "note-these-are-the-work-around-added-to-the" + }, + "depth": 3 }, { "type": "heading", "data": { diff --git a/sample/doc/invoice/UpdateInvoice.html b/sample/doc/invoice/UpdateInvoice.html index 888a2dd..ff27d5c 100644 --- a/sample/doc/invoice/UpdateInvoice.html +++ b/sample/doc/invoice/UpdateInvoice.html @@ -2,8 +2,13 @@
This sample code demonstrate how you can update an invoice.
For Sample Purposes Only.
For Sample Purposes Only.
Lets update some information
sample, to get past the bug in PayPal APIs. +There is already an internal ticket #PPTIPS-1932 created for it.
Update an invoice by calling the invoice->update() method diff --git a/sample/index.php b/sample/index.php index 5bbc2de..c1bcb6d 100644 --- a/sample/index.php +++ b/sample/index.php @@ -44,6 +44,10 @@ if (PHP_SAPI == 'cli') { -webkit-font-smoothing: antialiased; } + li.list-group-item:hover { + background-color: #EEE; + } + @media (max-width: 992px) { .jumbotron { background: white; @@ -201,7 +205,7 @@ if (PHP_SAPI == 'cli') {
Update Invoice
-Lets update some information