<?php
namespace PayPal\Api;
use PayPal\Common\PayPalModel;
use PayPal\Converter\FormatConverter;
use PayPal\Validation\NumericValidator;
/**
* Class Amount
*
* payment amount with break-ups.
*
* @package PayPal\Api
*
* @property string currency
* @property string total
* @property \PayPal\Api\Details details
*/
class Amount extends PayPalModel
{
/**
* 3-letter [currency code](https://developer.paypal.com/docs/integration/direct/rest_api_payment_country_currency_support/). PayPal does not support all currencies.
*
* @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/). PayPal does not support all currencies.
*
* @return string
*/
public function getCurrency()
{
return $this->currency;
}
/**
* Total amount charged from the payer to the payee. In case of a refund, this is the refunded amount to the original payer from the payee. 10 characters max with support for 2 decimal places.
*
* @param string|double $total
*
* @return $this
*/
public function setTotal($total)
{
NumericValidator::validate($total, "Total");
$total = FormatConverter::formatToPrice($total, $this->getCurrency());
$this->total = $total;
return $this;
}
/**
* Total amount charged from the payer to the payee. In case of a refund, this is the refunded amount to the original payer from the payee. 10 characters max with support for 2 decimal places.
*
* @return string
*/
public function getTotal()
{
return $this->total;
}
/**
* Additional details of the payment amount.
*
* @param \PayPal\Api\Details $details
*
* @return $this
*/
public function setDetails($details)
{
$this->details = $details;
return $this;
}
/**
* Additional details of the payment amount.
*
* @return \PayPal\Api\Details
*/
public function getDetails()
{
return $this->details;
}
}