close #446 Fixed: Wrong transfer amount EUR to TRY currency rate issue
This commit is contained in:
parent
62beb11051
commit
31c21aebd7
@ -137,10 +137,25 @@ class Transfers extends Controller
|
|||||||
|
|
||||||
// Convert amount if not same currency
|
// Convert amount if not same currency
|
||||||
if ($payment_currency_code != $revenue_currency_code) {
|
if ($payment_currency_code != $revenue_currency_code) {
|
||||||
|
$default_currency = setting('general.default_currency', 'USD');
|
||||||
|
|
||||||
|
$default_amount = $request['amount'];
|
||||||
|
|
||||||
|
if ($default_currency != $payment_currency_code) {
|
||||||
|
$default_amount_model = new Transfer();
|
||||||
|
|
||||||
|
$default_amount_model->default_currency_code = $default_currency;
|
||||||
|
$default_amount_model->amount = $request['amount'];
|
||||||
|
$default_amount_model->currency_code = $payment_currency_code;
|
||||||
|
$default_amount_model->currency_rate = $currencies[$payment_currency_code];
|
||||||
|
|
||||||
|
$default_amount = $default_amount_model->getDivideConvertedAmount();
|
||||||
|
}
|
||||||
|
|
||||||
$transfer_amount = new Transfer();
|
$transfer_amount = new Transfer();
|
||||||
|
|
||||||
$transfer_amount->default_currency_code = $payment_currency_code;
|
$transfer_amount->default_currency_code = $payment_currency_code;
|
||||||
$transfer_amount->amount = $request['amount'];
|
$transfer_amount->amount = $default_amount;
|
||||||
$transfer_amount->currency_code = $revenue_currency_code;
|
$transfer_amount->currency_code = $revenue_currency_code;
|
||||||
$transfer_amount->currency_rate = $currencies[$revenue_currency_code];
|
$transfer_amount->currency_rate = $currencies[$revenue_currency_code];
|
||||||
|
|
||||||
@ -243,10 +258,25 @@ class Transfers extends Controller
|
|||||||
|
|
||||||
// Convert amount if not same currency
|
// Convert amount if not same currency
|
||||||
if ($payment_currency_code != $revenue_currency_code) {
|
if ($payment_currency_code != $revenue_currency_code) {
|
||||||
|
$default_currency = setting('general.default_currency', 'USD');
|
||||||
|
|
||||||
|
$default_amount = $request['amount'];
|
||||||
|
|
||||||
|
if ($default_currency != $payment_currency_code) {
|
||||||
|
$default_amount_model = new Transfer();
|
||||||
|
|
||||||
|
$default_amount_model->default_currency_code = $default_currency;
|
||||||
|
$default_amount_model->amount = $request['amount'];
|
||||||
|
$default_amount_model->currency_code = $payment_currency_code;
|
||||||
|
$default_amount_model->currency_rate = $currencies[$payment_currency_code];
|
||||||
|
|
||||||
|
$default_amount = $default_amount_model->getDivideConvertedAmount();
|
||||||
|
}
|
||||||
|
|
||||||
$transfer_amount = new Transfer();
|
$transfer_amount = new Transfer();
|
||||||
|
|
||||||
$transfer_amount->default_currency_code = $payment_currency_code;
|
$transfer_amount->default_currency_code = $payment_currency_code;
|
||||||
$transfer_amount->amount = $request['amount'];
|
$transfer_amount->amount = $default_amount;
|
||||||
$transfer_amount->currency_code = $revenue_currency_code;
|
$transfer_amount->currency_code = $revenue_currency_code;
|
||||||
$transfer_amount->currency_rate = $currencies[$revenue_currency_code];
|
$transfer_amount->currency_rate = $currencies[$revenue_currency_code];
|
||||||
|
|
||||||
|
@ -49,4 +49,14 @@ class Transfer extends Model
|
|||||||
{
|
{
|
||||||
return $this->dynamicConvert($this->default_currency_code, $this->amount, $this->currency_code, $this->currency_rate, $format);
|
return $this->dynamicConvert($this->default_currency_code, $this->amount, $this->currency_code, $this->currency_rate, $format);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getReverseConvertedAmount($format = false)
|
||||||
|
{
|
||||||
|
return $this->reverseConvert($this->amount, $this->currency_code, $this->currency_rate, $format);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDivideConvertedAmount($format = false)
|
||||||
|
{
|
||||||
|
return $this->divide($this->amount, $this->currency_code, $this->currency_rate, $format);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,17 @@ trait Currencies
|
|||||||
return $money;
|
return $money;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function divide($amount, $code, $rate, $format = false)
|
||||||
|
{
|
||||||
|
if ($format) {
|
||||||
|
$money = Money::$code($amount, true)->divide((double) $rate)->format();
|
||||||
|
} else {
|
||||||
|
$money = Money::$code($amount)->divide((double) $rate)->getAmount();
|
||||||
|
}
|
||||||
|
|
||||||
|
return $money;
|
||||||
|
}
|
||||||
|
|
||||||
public function reverseConvert($amount, $code, $rate, $format = false)
|
public function reverseConvert($amount, $code, $rate, $format = false)
|
||||||
{
|
{
|
||||||
$default = setting('general.default_currency', 'USD');
|
$default = setting('general.default_currency', 'USD');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user