有人知道如何在 laravel 中读取货币汇率吗?
我们开发网络交换货币,所以当我输入正确的汇率但得到不同的结果时,我遇到了问题。
示例:美元与埃及镑之间的兑换:1 美元 = 15.70 埃及镑 所以我需要将货币美元转为 15.70 埃及镑,但如果我将其放入,将得到汇率 - 1 美元 = 4 埃及镑而不是 15.70
跟随图片了解
1-
2-
3-
4-
所以我的问题是:
有人知道解决这些费率的方法吗?
家用刀片
<form class="exchange-form" method="POST" action="{{ route('user.exchange') }}">
@csrf
<div class="form-group">
<label for="send">@lang('You Send')</label>
<input type="text" name="send_amount" id="send_val" placeholder="@lang('Send')" required
onkeyup="this.value = this.value.replace (/^\.|[^\d\.]/g, '')">
<select class="select-bar" name="send" id="send">
<option value="">@lang('Select Currency')</option>
@foreach ($currencys_sell as $currency)
<option value="{{ $currency->id }}"
data-min_max="{{ filterCollection($currency, 'rate', 'sell_at', 'buy_at', 'fixed_charge', 'percent_charge', 'reserve', 'min_exchange', 'max_exchange', 'cur_sym', 'payment_type_sell') }}">
{{ $currency->name }} {{$currency->cur_sym}}
</option>
@endforeach
</select>
<div class="exchange-limit exchange-buy d-none">
<div class="item">
<span class="subtitle">@lang('Min')</span>
<span class="amount min-amount"></span>
</div>
<div class="item">
<span class="subtitle">@lang('Max')</span>
<span class="amount max-amount"></span>
</div>
</div>
</div>
<div class="form-group receiveData">
<label for="receive">@lang('You Get')</label>
<input type="text" name="receive_amount" id="receive_val" min="0" placeholder="@lang('Receive')"
readonly>
<select class="select-bar" name="receive" id="receive">
<option value="" class="wrap">@lang('Select Currency')</option>
@foreach ($currencys_buy as $currency)
<option value="{{ $currency->id }}"
data-min_max="{{ filterCollection($currency, 'cur_sym', 'rate', 'sell_at', 'buy_at', 'fixed_charge', 'percent_charge', 'reserve', 'min_exchange', 'max_exchange', 'payment_type_sell') }}">
{{ $currency->name }} {{$currency->cur_sym}}
</option>
@endforeach
</select>
<div class="exchange-limit reserve-section d-none">
<div class="item reserve">
<span class="subtitle">@lang('Reserve')</span>
<span class="amount"></span>
</div>
<div class="item reserve">
<span class="subtitle">@lang('Rate')</span>
<span class="amount conversion"></span>
</div>
</div>
</div>
家庭控制器
public function exchange(Request $request)
{
session()->forget('Track');
$receive = Currency::find($request->receive);
$send = Currency::find($request->send);
if ($receive == null) {
$notify[] = ['error', 'Select any method that we send u the money'];
return back()->withNotify($notify);
}
if ($send == null) {
$notify[] = ['error', 'Select any method that we get money'];
return back()->withNotify($notify);
}
$field = json_decode($receive->user_input);
$validate_array = [
'send' => 'required|numeric',
'send_amount' => 'required|numeric|gt:0',
'receive' => 'required|numeric',
'receive_amount' => 'required|numeric|gt:0',
];
foreach ($field as $value) {
if (strtolower($value->type) === 'email') {
$validate_array[$value->field_name] = "sometimes|{$value->validation}|email";
continue;
}
$validate_array[$value->field_name] = "sometimes|{$value->validation}";
}
$this->validate($request, $validate_array);
// new Calculation for covert amount
$percentCharge = ($request->send_amount * $send->percent_charge) / 100;
$totalCharge = $percentCharge + $send->fixed_charge;
$totalSendAmount = $request->send_amount - $totalCharge;
$sendAmountConvertInBaseCurrency = $totalSendAmount * $send->buy_at;
$userReceiveAmount = $sendAmountConvertInBaseCurrency / $receive->sell_at;
打开代码并从选项中选择第一个选项并添加如下
@lang('选择货币')