<?php
namespace PayPal\Api;
use PayPal\Common\PayPalModel;
use PayPal\Validation\UrlValidator;
/**
* Class CurrencyConversion
*
* Object used to store the currency conversion rate.
*
* @package PayPal\Api
*
* @property string conversion_date
* @property string from_currency
* @property string from_amount
* @property string to_currency
* @property string to_amount
* @property string conversion_type
* @property bool conversion_type_changeable
* @property \PayPal\Api\Links[] links
*/
class CurrencyConversion extends PayPalModel
{
/**
* Date of validity for the conversion rate.
*
* @param string $conversion_date
*
* @return $this
*/
public function setConversionDate($conversion_date)
{
$this->conversion_date = $conversion_date;
return $this;
}
/**
* Date of validity for the conversion rate.
*
* @return string
*/
public function getConversionDate()
{
return $this->conversion_date;
}
/**
* 3 letter currency code
*
* @param string $from_currency
*
* @return $this
*/
public function setFromCurrency($from_currency)
{
$this->from_currency = $from_currency;
return $this;
}
/**
* 3 letter currency code
*
* @return string
*/
public function getFromCurrency()
{
return $this->from_currency;
}
/**
* Amount participating in currency conversion, set to 1 as default
*
* @param string $from_amount
*
* @return $this
*/
public function setFromAmount($from_amount)
{
$this->from_amount = $from_amount;
return $this;
}
/**
* Amount participating in currency conversion, set to 1 as default
*
* @return string
*/
public function getFromAmount()
{
return $this->from_amount;
}
/**
* 3 letter currency code
*
* @param string $to_currency
*
* @return $this
*/
public function setToCurrency($to_currency)
{
$this->to_currency = $to_currency;
return $this;
}
/**
* 3 letter currency code
*
* @return string
*/
public function getToCurrency()
{
return $this->to_currency;
}
/**
* Amount resulting from currency conversion.
*
* @param string $to_amount
*
* @return $this
*/
public function setToAmount($to_amount)
{
$this->to_amount = $to_amount;
return $this;
}
/**
* Amount resulting from currency conversion.
*
* @return string
*/
public function getToAmount()
{
return $this->to_amount;
}
/**
* Field indicating conversion type applied.
* Valid Values: ["PAYPAL", "VENDOR"]
*
* @param string $conversion_type
*
* @return $this
*/
public function setConversionType($conversion_type)
{
$this->conversion_type = $conversion_type;
return $this;
}
/**
* Field indicating conversion type applied.
*
* @return string
*/
public function getConversionType()
{
return $this->conversion_type;
}
/**
* Allow Payer to change conversion type.
*
* @param bool $conversion_type_changeable
*
* @return $this
*/
public function setConversionTypeChangeable($conversion_type_changeable)
{
$this->conversion_type_changeable = $conversion_type_changeable;
return $this;
}
/**
* Allow Payer to change conversion type.
*
* @return bool
*/
public function getConversionTypeChangeable()
{
return $this->conversion_type_changeable;
}
/**
* Base URL to web applications endpoint
* Valid Values: ["https://www.paypal.com/{country_code}/webapps/xocspartaweb/webflow/sparta/proxwebflow", "https://www.paypal.com/{country_code}/proxflow"]
* @deprecated Not publicly available
* @param string $web_url
* @throws \InvalidArgumentException
* @return $this
*/
public function setWebUrl($web_url)
{
UrlValidator::validate($web_url, "WebUrl");
$this->web_url = $web_url;
return $this;
}
/**
* Base URL to web applications endpoint
* @deprecated Not publicly available
* @return string
*/
public function getWebUrl()
{
return $this->web_url;
}
/**
* Sets Links
*
* @param \PayPal\Api\Links[] $links
*
* @return $this
*/
public function setLinks($links)
{
$this->links = $links;
return $this;
}
/**
* Gets Links
*
* @return \PayPal\Api\Links[]
*/
public function getLinks()
{
return $this->links;
}
/**
* Append Links to the list.
*
* @param \PayPal\Api\Links $links
* @return $this
*/
public function addLink($links)
{
if (!$this->getLinks()) {
return $this->setLinks(array($links));
} else {
return $this->setLinks(
array_merge($this->getLinks(), array($links))
);
}
}
/**
* Remove Links from the list.
*
* @param \PayPal\Api\Links $links
* @return $this
*/
public function removeLink($links)
{
return $this->setLinks(
array_diff($this->getLinks(), array($links))
);
}
}