<?php
namespace PayPal\Api;
use PayPal\Common\PayPalModel;
/**
* Class InstallmentInfo
*
* A resource representing installment information available for a transaction
*
* @package PayPal\Api
*
* @property string installment_id
* @property string network
* @property string issuer
* @property \PayPal\Api\InstallmentOption[] installment_options
*/
class InstallmentInfo extends PayPalModel
{
/**
* Installment id.
*
* @param string $installment_id
*
* @return $this
*/
public function setInstallmentId($installment_id)
{
$this->installment_id = $installment_id;
return $this;
}
/**
* Installment id.
*
* @return string
*/
public function getInstallmentId()
{
return $this->installment_id;
}
/**
* Credit card network.
* Valid Values: ["VISA", "MASTERCARD"]
*
* @param string $network
*
* @return $this
*/
public function setNetwork($network)
{
$this->network = $network;
return $this;
}
/**
* Credit card network.
*
* @return string
*/
public function getNetwork()
{
return $this->network;
}
/**
* Credit card issuer.
*
* @param string $issuer
*
* @return $this
*/
public function setIssuer($issuer)
{
$this->issuer = $issuer;
return $this;
}
/**
* Credit card issuer.
*
* @return string
*/
public function getIssuer()
{
return $this->issuer;
}
/**
* List of available installment options and the cost associated with each one.
*
* @param \PayPal\Api\InstallmentOption[] $installment_options
*
* @return $this
*/
public function setInstallmentOptions($installment_options)
{
$this->installment_options = $installment_options;
return $this;
}
/**
* List of available installment options and the cost associated with each one.
*
* @return \PayPal\Api\InstallmentOption[]
*/
public function getInstallmentOptions()
{
return $this->installment_options;
}
/**
* Append InstallmentOptions to the list.
*
* @param \PayPal\Api\InstallmentOption $installmentOption
* @return $this
*/
public function addInstallmentOption($installmentOption)
{
if (!$this->getInstallmentOptions()) {
return $this->setInstallmentOptions(array($installmentOption));
} else {
return $this->setInstallmentOptions(
array_merge($this->getInstallmentOptions(), array($installmentOption))
);
}
}
/**
* Remove InstallmentOptions from the list.
*
* @param \PayPal\Api\InstallmentOption $installmentOption
* @return $this
*/
public function removeInstallmentOption($installmentOption)
{
return $this->setInstallmentOptions(
array_diff($this->getInstallmentOptions(), array($installmentOption))
);
}
}