Документация для разработчиков, AWZ: Курсы валют НБРБ, ЦБРФ [awz.currency]

Awz\Currency\CursTable::getCurs

Возвращает курсы на дату

Параметр Описание
$date string Обязательно Дата курса для strtotime
$provider string По умолчанию, cbrf Провайдер cbrf или nbrb
$param string По умолчанию, day Пока только поддержка day

Возвращает массив с курсами array

[
    'BYN'=>[
        ['ID'] => 21,
        ['CODE'] => BYN,
        ['PROVIDER'] => cbrf,
        ['AMOUNT'] => 29.6279,
        ['AMOUNT_CNT'] => 1,
        ['CURS_DATE'] => 'Bitrix\Main\Type\DateTime Object'
    ],
    'CNY'=>[
        ['ID'] => 24,
        ['CODE'] => CNY,
        ['PROVIDER'] => cbrf,
        ['AMOUNT'] => 13.7992,
        ['AMOUNT_CNT'] => 1,
        ['CURS_DATE'] => 'Bitrix\Main\Type\DateTime Object'
    ]
]

Awz\Currency\CursTable::convert

Конвертирует сумму из одной валюты в другую

Параметр Описание
$cFrom string Обязательно код валюты откуда конверсия
$cTo string Обязательно код валюты куда конверсия
$summ float Обязательно сумма
$date string Обязательно Дата курса для strtotime
$provider string По умолчанию, cbrf Провайдер cbrf или nbrb

Возвращает объект \Bitrix\Main\Result с результатом конверсии

use Bitrix\Main\Loader;
use Bitrix\Main\CursTable;

if(Loader::includeModule('awz.currency')){
    $convertResult = \Awz\Currency\CursTable::convert(
        'USD', 'RUB', 100, '01.02.2023'
    );
    if($convertResult->isSuccess()){
        $convertData = $convertResult->getData();
        print_r($convertData);
    }
}
/*
* Array
*  (
*      [result] => 7051.74
*      [curs_from] => Array
*          (
*              [ID] => 38
*              [CODE] => USD
*              [PROVIDER] => cbrf
*              [AMOUNT] => 70.5174
*              [AMOUNT_CNT] => 1
*              [CURS_DATE] => Bitrix\Main\Type\DateTime Object
*                  (
*                      [value:protected] => DateTime Object
*                          (
*                              [date] => 2023-02-01 00:00:00.000000
*                              [timezone_type] => 3
*                              [timezone] => Europe/Moscow
*                          )
*  
*                      [userTimeEnabled:protected] => 1
*                  )
*  
*          )
*  
*      [curs_to] => Array
*          (
*              [AMOUNT_CNT] => 1
*              [AMOUNT] => 1
*          )
*  
*  )
* */

Обсуждение в Telegram

2021-2025, Andrew Zahalski
Для улучшения работы сайта используются cookie.
Подробнее об этом в Политике cookie.
Принять Настроить