mirror of
https://github.com/Karaka-Management/Resources.git
synced 2026-01-10 21:08:41 +00:00
440 lines
9.6 KiB
PHP
440 lines
9.6 KiB
PHP
<?php
|
|
|
|
namespace PayPal\Api;
|
|
|
|
use PayPal\Common\PayPalModel;
|
|
use PayPal\Converter\FormatConverter;
|
|
use PayPal\Validation\NumericValidator;
|
|
use PayPal\Validation\UrlValidator;
|
|
|
|
/**
|
|
* Class Item
|
|
*
|
|
* Item details.
|
|
*
|
|
* @package PayPal\Api
|
|
*
|
|
* @property string sku
|
|
* @property string name
|
|
* @property string description
|
|
* @property string quantity
|
|
* @property string price
|
|
* @property string currency
|
|
* @property string tax
|
|
* @property string url
|
|
*/
|
|
class Item extends PayPalModel
|
|
{
|
|
/**
|
|
* Stock keeping unit corresponding (SKU) to item.
|
|
*
|
|
* @param string $sku
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setSku($sku)
|
|
{
|
|
$this->sku = $sku;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Stock keeping unit corresponding (SKU) to item.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getSku()
|
|
{
|
|
return $this->sku;
|
|
}
|
|
|
|
/**
|
|
* Item name. 127 characters max.
|
|
*
|
|
* @param string $name
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setName($name)
|
|
{
|
|
$this->name = $name;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Item name. 127 characters max.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getName()
|
|
{
|
|
return $this->name;
|
|
}
|
|
|
|
/**
|
|
* Description of the item. Only supported when the `payment_method` is set to `paypal`.
|
|
*
|
|
* @param string $description
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setDescription($description)
|
|
{
|
|
$this->description = $description;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Description of the item. Only supported when the `payment_method` is set to `paypal`.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getDescription()
|
|
{
|
|
return $this->description;
|
|
}
|
|
|
|
/**
|
|
* Number of a particular item. 10 characters max.
|
|
*
|
|
* @param string $quantity
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setQuantity($quantity)
|
|
{
|
|
$this->quantity = $quantity;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Number of a particular item. 10 characters max.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getQuantity()
|
|
{
|
|
return $this->quantity;
|
|
}
|
|
|
|
/**
|
|
* Item cost. 10 characters max.
|
|
*
|
|
* @param string|double $price
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setPrice($price)
|
|
{
|
|
NumericValidator::validate($price, "Price");
|
|
$price = FormatConverter::formatToPrice($price, $this->getCurrency());
|
|
$this->price = $price;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Item cost. 10 characters max.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getPrice()
|
|
{
|
|
return $this->price;
|
|
}
|
|
|
|
/**
|
|
* 3-letter [currency code](https://developer.paypal.com/docs/integration/direct/rest_api_payment_country_currency_support/).
|
|
*
|
|
* @param string $currency
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setCurrency($currency)
|
|
{
|
|
$this->currency = $currency;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* 3-letter [currency code](https://developer.paypal.com/docs/integration/direct/rest_api_payment_country_currency_support/).
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getCurrency()
|
|
{
|
|
return $this->currency;
|
|
}
|
|
|
|
/**
|
|
* Tax of the item. Only supported when the `payment_method` is set to `paypal`.
|
|
*
|
|
* @param string|double $tax
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setTax($tax)
|
|
{
|
|
NumericValidator::validate($tax, "Tax");
|
|
$tax = FormatConverter::formatToPrice($tax, $this->getCurrency());
|
|
$this->tax = $tax;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Tax of the item. Only supported when the `payment_method` is set to `paypal`.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getTax()
|
|
{
|
|
return $this->tax;
|
|
}
|
|
|
|
/**
|
|
* URL linking to item information. Available to payer in transaction history.
|
|
*
|
|
* @param string $url
|
|
* @throws \InvalidArgumentException
|
|
* @return $this
|
|
*/
|
|
public function setUrl($url)
|
|
{
|
|
UrlValidator::validate($url, "Url");
|
|
$this->url = $url;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* URL linking to item information. Available to payer in transaction history.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getUrl()
|
|
{
|
|
return $this->url;
|
|
}
|
|
|
|
/**
|
|
* Category type of the item.
|
|
* Valid Values: ["DIGITAL", "PHYSICAL"]
|
|
* @deprecated Not publicly available
|
|
* @param string $category
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setCategory($category)
|
|
{
|
|
$this->category = $category;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Category type of the item.
|
|
* @deprecated Not publicly available
|
|
* @return string
|
|
*/
|
|
public function getCategory()
|
|
{
|
|
return $this->category;
|
|
}
|
|
|
|
/**
|
|
* Weight of the item.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\Measurement $weight
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setWeight($weight)
|
|
{
|
|
$this->weight = $weight;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Weight of the item.
|
|
* @deprecated Not publicly available
|
|
* @return \PayPal\Api\Measurement
|
|
*/
|
|
public function getWeight()
|
|
{
|
|
return $this->weight;
|
|
}
|
|
|
|
/**
|
|
* Length of the item.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\Measurement $length
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setLength($length)
|
|
{
|
|
$this->length = $length;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Length of the item.
|
|
* @deprecated Not publicly available
|
|
* @return \PayPal\Api\Measurement
|
|
*/
|
|
public function getLength()
|
|
{
|
|
return $this->length;
|
|
}
|
|
|
|
/**
|
|
* Height of the item.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\Measurement $height
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setHeight($height)
|
|
{
|
|
$this->height = $height;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Height of the item.
|
|
* @deprecated Not publicly available
|
|
* @return \PayPal\Api\Measurement
|
|
*/
|
|
public function getHeight()
|
|
{
|
|
return $this->height;
|
|
}
|
|
|
|
/**
|
|
* Width of the item.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\Measurement $width
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setWidth($width)
|
|
{
|
|
$this->width = $width;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Width of the item.
|
|
* @deprecated Not publicly available
|
|
* @return \PayPal\Api\Measurement
|
|
*/
|
|
public function getWidth()
|
|
{
|
|
return $this->width;
|
|
}
|
|
|
|
/**
|
|
* Set of optional data used for PayPal risk determination.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\NameValuePair[] $supplementary_data
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setSupplementaryData($supplementary_data)
|
|
{
|
|
$this->supplementary_data = $supplementary_data;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Set of optional data used for PayPal risk determination.
|
|
* @deprecated Not publicly available
|
|
* @return \PayPal\Api\NameValuePair[]
|
|
*/
|
|
public function getSupplementaryData()
|
|
{
|
|
return $this->supplementary_data;
|
|
}
|
|
|
|
/**
|
|
* Append SupplementaryData to the list.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\NameValuePair $nameValuePair
|
|
* @return $this
|
|
*/
|
|
public function addSupplementaryData($nameValuePair)
|
|
{
|
|
if (!$this->getSupplementaryData()) {
|
|
return $this->setSupplementaryData(array($nameValuePair));
|
|
} else {
|
|
return $this->setSupplementaryData(
|
|
array_merge($this->getSupplementaryData(), array($nameValuePair))
|
|
);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Remove SupplementaryData from the list.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\NameValuePair $nameValuePair
|
|
* @return $this
|
|
*/
|
|
public function removeSupplementaryData($nameValuePair)
|
|
{
|
|
return $this->setSupplementaryData(
|
|
array_diff($this->getSupplementaryData(), array($nameValuePair))
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Set of optional data used for PayPal post-transaction notifications.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\NameValuePair[] $postback_data
|
|
*
|
|
* @return $this
|
|
*/
|
|
public function setPostbackData($postback_data)
|
|
{
|
|
$this->postback_data = $postback_data;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Set of optional data used for PayPal post-transaction notifications.
|
|
* @deprecated Not publicly available
|
|
* @return \PayPal\Api\NameValuePair[]
|
|
*/
|
|
public function getPostbackData()
|
|
{
|
|
return $this->postback_data;
|
|
}
|
|
|
|
/**
|
|
* Append PostbackData to the list.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\NameValuePair $nameValuePair
|
|
* @return $this
|
|
*/
|
|
public function addPostbackData($nameValuePair)
|
|
{
|
|
if (!$this->getPostbackData()) {
|
|
return $this->setPostbackData(array($nameValuePair));
|
|
} else {
|
|
return $this->setPostbackData(
|
|
array_merge($this->getPostbackData(), array($nameValuePair))
|
|
);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Remove PostbackData from the list.
|
|
* @deprecated Not publicly available
|
|
* @param \PayPal\Api\NameValuePair $nameValuePair
|
|
* @return $this
|
|
*/
|
|
public function removePostbackData($nameValuePair)
|
|
{
|
|
return $this->setPostbackData(
|
|
array_diff($this->getPostbackData(), array($nameValuePair))
|
|
);
|
|
}
|
|
|
|
}
|