<?php
namespace PayPal\Api;
use PayPal\Common\PayPalModel;
/**
* Class FundingOption
*
* specifies the funding option details.
*
* @package PayPal\Api
*
* @property string id
* @property \PayPal\Api\FundingSource[] funding_sources
* @property \PayPal\Api\FundingInstrument backup_funding_instrument
* @property \PayPal\Api\CurrencyConversion currency_conversion
* @property \PayPal\Api\InstallmentInfo installment_info
* @property \PayPal\Api\Links[] links
*/
class FundingOption extends PayPalModel
{
/**
* id of the funding option.
*
* @param string $id
*
* @return $this
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* id of the funding option.
*
* @return string
*/
public function getId()
{
return $this->id;
}
/**
* List of funding sources that contributes to a payment.
*
* @param \PayPal\Api\FundingSource[] $funding_sources
*
* @return $this
*/
public function setFundingSources($funding_sources)
{
$this->funding_sources = $funding_sources;
return $this;
}
/**
* List of funding sources that contributes to a payment.
*
* @return \PayPal\Api\FundingSource[]
*/
public function getFundingSources()
{
return $this->funding_sources;
}
/**
* Append FundingSources to the list.
*
* @param \PayPal\Api\FundingSource $fundingSource
* @return $this
*/
public function addFundingSource($fundingSource)
{
if (!$this->getFundingSources()) {
return $this->setFundingSources(array($fundingSource));
} else {
return $this->setFundingSources(
array_merge($this->getFundingSources(), array($fundingSource))
);
}
}
/**
* Remove FundingSources from the list.
*
* @param \PayPal\Api\FundingSource $fundingSource
* @return $this
*/
public function removeFundingSource($fundingSource)
{
return $this->setFundingSources(
array_diff($this->getFundingSources(), array($fundingSource))
);
}
/**
* Backup funding instrument which will be used for payment if primary fails.
*
* @param \PayPal\Api\FundingInstrument $backup_funding_instrument
*
* @return $this
*/
public function setBackupFundingInstrument($backup_funding_instrument)
{
$this->backup_funding_instrument = $backup_funding_instrument;
return $this;
}
/**
* Backup funding instrument which will be used for payment if primary fails.
*
* @return \PayPal\Api\FundingInstrument
*/
public function getBackupFundingInstrument()
{
return $this->backup_funding_instrument;
}
/**
* Currency conversion applicable to this funding option.
*
* @param \PayPal\Api\CurrencyConversion $currency_conversion
*
* @return $this
*/
public function setCurrencyConversion($currency_conversion)
{
$this->currency_conversion = $currency_conversion;
return $this;
}
/**
* Currency conversion applicable to this funding option.
*
* @return \PayPal\Api\CurrencyConversion
*/
public function getCurrencyConversion()
{
return $this->currency_conversion;
}
/**
* Installment options available for a funding option.
*
* @param \PayPal\Api\InstallmentInfo $installment_info
*
* @return $this
*/
public function setInstallmentInfo($installment_info)
{
$this->installment_info = $installment_info;
return $this;
}
/**
* Installment options available for a funding option.
*
* @return \PayPal\Api\InstallmentInfo
*/
public function getInstallmentInfo()
{
return $this->installment_info;
}
/**
* 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))
);
}
}