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
|
||||
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->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_rate = $currencies[$revenue_currency_code];
|
||||
|
||||
@ -243,10 +258,25 @@ class Transfers extends Controller
|
||||
|
||||
// Convert amount if not same currency
|
||||
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->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_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);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
$default = setting('general.default_currency', 'USD');
|
||||
|
Loading…
x
Reference in New Issue
Block a user