Plugin Directory

Changeset 2507761


Ignore:
Timestamp:
04/01/2021 10:30:49 PM (5 years ago)
Author:
Mofsy
Message:

New 4.1.0

Location:
wc-robokassa/trunk
Files:
23 added
1 deleted
11 edited

Legend:

Unmodified
Added
Removed
  • wc-robokassa/trunk/includes/class-wc-robokassa-api.php

    r2292827 r2507761  
    1010{
    1111    /**
    12      * Base Api url
     12     * Api url
    1313     *
    1414     * @var string
    1515     */
    16     private $base_api_url = 'https://auth.robokassa.ru/Merchant/WebService/Service.asmx';
     16    private $api_url = 'https://auth.robokassa.ru/Merchant/WebService/Service.asmx';
     17
     18    /**
     19     * Api endpoint
     20     *
     21     * @var string
     22     */
     23    private $api_endpoint = '';
    1724
    1825    /**
     
    3239    /**
    3340     * Wc_Robokassa_Api constructor
     41     *
     42     * @return void
     43     *
     44     * @throws Exception
    3445     */
    3546    public function __construct()
    3647    {
     48        if(!defined('LIBXML_VERSION'))
     49        {
     50            throw new Exception('LIBXML_VERSION not defined');
     51        }
     52
     53        if(!function_exists('libxml_use_internal_errors'))
     54        {
     55            throw new Exception('libxml_use_internal_errors');
     56        }
     57
     58        if(!function_exists('wp_remote_get') || !function_exists('wp_remote_retrieve_body'))
     59        {
     60            throw new Exception('wp_remote_get && wp_remote_retrieve_body is not available');
     61        }
     62
     63        if(!class_exists('SimpleXMLElement'))
     64        {
     65            throw new Exception('SimpleXMLElement is not exists');
     66        }
     67
     68        libxml_use_internal_errors(true);
    3769    }
    3870
     
    4072     * Get base api URL
    4173     *
     74     * @since 4.1.0
     75     *
    4276     * @return string
    4377     */
    44     public function get_base_api_url()
    45     {
    46         return $this->base_api_url;
     78    public function get_api_url()
     79    {
     80        return $this->api_url;
    4781    }
    4882
     
    5084     * Set base api URL
    5185     *
    52      * @param string $base_api_url
    53      */
    54     public function set_base_api_url($base_api_url)
    55     {
    56         $this->base_api_url = $base_api_url;
     86     * @since 4.1.0
     87     *
     88     * @param string $api_url
     89     */
     90    public function set_api_url($api_url)
     91    {
     92        $this->api_url = $api_url;
     93    }
     94
     95    /**
     96     * Get api endpoint
     97     *
     98     * @since 4.1.0
     99     *
     100     * @return string
     101     */
     102    public function get_api_endpoint()
     103    {
     104        return $this->api_endpoint;
     105    }
     106
     107    /**
     108     * Set api endpoint
     109     *
     110     * @since 4.1.0
     111     *
     112     * @param string $api_endpoint
     113     */
     114    public function set_api_endpoint($api_endpoint)
     115    {
     116        $this->api_endpoint = $api_endpoint;
    57117    }
    58118
     
    107167
    108168    /**
    109      * Available API
    110      *
    111      * @return int
    112      */
    113     public function is_available()
    114     {
    115         /**
    116          * Check WP
    117          */
    118         if(!function_exists('wp_remote_get') || !function_exists('wp_remote_retrieve_body'))
    119         {
    120             return 0;
    121         }
    122 
    123         /**
    124          * Check SimpleXMLElement installed
    125          */
    126         if(class_exists('SimpleXMLElement'))
    127         {
    128             return 1;
    129         }
    130 
    131         return 0;
     169     * Request execute
     170     *
     171     * @return mixed
     172     *
     173     * @throws Exception
     174     */
     175    private function execute()
     176    {
     177        $url = $this->get_api_url() . $this->get_api_endpoint();
     178
     179        $response = wp_remote_get($url);
     180        $this->set_last_response($response);
     181
     182        $response_body = wp_remote_retrieve_body($this->get_last_response());
     183        $this->set_last_response_body($response_body);
     184
     185        if($this->get_last_response_body() === '')
     186        {
     187            return false;
     188        }
     189
     190        $xml_data = simplexml_load_string($this->get_last_response_body());
     191
     192        if(!$xml_data)
     193        {
     194            throw new Exception('Wc_Robokassa_Api execute: xml errors');
     195        }
     196
     197        return $xml_data;
    132198    }
    133199
     
    144210     * @param $merchantLogin string Логин магазина.
    145211     *
    146      * @return mixed false - error, integer - success
     212     * @return false|string false - error, integer - success
    147213     */
    148214    public function xml_calc_out_sum($IncCurrLabel, $IncSum, $merchantLogin = 'demo')
    149215    {
    150         /**
    151          * Check available
    152          */
    153         $is_available = $this->is_available();
    154         if($is_available === 0) { return false; }
    155 
    156         /**
    157          * URL
    158          */
    159         $url = $this->get_base_api_url() . '/CalcOutSumm?MerchantLogin=' . $merchantLogin . '&IncCurrLabel=' . $IncCurrLabel . '&IncSum=' . $IncSum;
    160 
    161         /**
    162          * Request execute
    163          */
    164         $this->set_last_response(wp_remote_get($url));
    165 
    166         /**
    167          * Last response set body
    168          */
    169         $this->set_last_response_body(wp_remote_retrieve_body($this->get_last_response()));
    170 
    171         /**
    172          * Response is very good
    173          */
    174         if($this->get_last_response_body() != '')
    175         {
    176             /**
    177              * SimpleXMl
    178              */
    179             if($is_available === 1)
    180             {
    181                 /**
    182                  * Response normalize
    183                  */
    184                 try
    185                 {
    186                     $response_data = new SimpleXMLElement($this->get_last_response_body());
    187                 }
    188                 catch(Exception $e)
    189                 {
    190                     return false;
    191                 }
    192 
    193                 /**
    194                  * Check error
    195                  */
    196                 if(!isset($response_data->Result) || $response_data->Result->Code != 0)
    197                 {
    198                     return false;
    199                 }
    200 
    201                 /**
    202                  * OutSum
    203                  */
    204                 if(isset($response_data->OutSum))
    205                 {
    206                     return (string)$response_data->OutSum;
    207                 }
    208 
    209                 return false;
    210             }
     216        $endpoint = '/CalcOutSumm?MerchantLogin=' . $merchantLogin . '&IncCurrLabel=' . $IncCurrLabel . '&IncSum=' . $IncSum;
     217        $this->set_api_endpoint($endpoint);
     218
     219        try
     220        {
     221            $response_data = $this->execute();
     222        }
     223        catch(Exception $e)
     224        {
     225            wc_robokassa_logger()->error('xml_calc_out_sum', $e);
     226            return false;
     227        }
     228
     229        /**
     230         * Check error
     231         */
     232        if(!isset($response_data->Result) || $response_data->Result->Code != 0)
     233        {
     234            return false;
     235        }
     236
     237        /**
     238         * OutSum
     239         */
     240        if(isset($response_data->OutSum))
     241        {
     242            return (string)$response_data->OutSum;
    211243        }
    212244
     
    233265    public function xml_op_state($merchantLogin, $InvoiceID, $Signature)
    234266    {
    235         /**
    236          * Check available
    237          */
    238         $is_available = $this->is_available();
    239         if($is_available === 0) { return false; }
    240 
    241         /**
    242          * URL
    243          */
    244         $url = $this->get_base_api_url() . '/OpState?MerchantLogin=' . $merchantLogin . '&InvoiceID=' . $InvoiceID . '&Signature=' . $Signature;
    245 
    246         /**
    247          * Request execute
    248          */
    249         $this->set_last_response(wp_remote_get($url));
    250 
    251         /**
    252          * Last response set body
    253          */
    254         $this->set_last_response_body(wp_remote_retrieve_body($this->get_last_response()));
    255 
    256         /**
    257          * Response is very good
    258          */
    259         if($this->get_last_response_body() != '')
    260         {
    261             $op_state_data = array();
    262 
    263             /**
    264              * SimpleXML
    265              */
    266             if($is_available === 1)
    267             {
    268                 /**
    269                  * Response normalize
    270                  */
    271                 try
    272                 {
    273                     $response_data = new SimpleXMLElement($this->get_last_response_body());
    274                 }
    275                 catch(Exception $e)
    276                 {
    277                     return false;
    278                 }
    279 
    280                 /**
    281                  * Check error
    282                  */
    283                 if(!isset($response_data->Result) || $response_data->Result->Code != 0)
    284                 {
    285                     return false;
    286                 }
    287 
    288                 /**
    289                  * Current payment state
    290                  */
    291                 if(isset($response_data->State))
    292                 {
    293                     $op_state_data['state'] = array
    294                     (
    295                         'code' => (string)$response_data->State->Code,
    296                         'request_date' => (string)$response_data->State->RequestDate,
    297                         'state_date' => (string)$response_data->State->StateDate,
    298                     );
    299                 }
    300 
    301                 /**
    302                  * Информация об операции оплаты счета
    303                  */
    304                 if(isset($response_data->Info))
    305                 {
    306                     $op_state_data['info'] = array
    307                     (
    308                         'inc_curr_label' => (string)$response_data->Info->IncCurrLabel,
    309                         'inc_sum' => (string)$response_data->Info->IncSum,
    310                         'inc_account' => (string)$response_data->Info->IncAccount,
    311                         'payment_method_code' => (string)$response_data->Info->PaymentMethod->Code,
    312                         'payment_method_description' => (string)$response_data->Info->PaymentMethod->Description,
    313                         'out_curr_label' => (string)$response_data->Info->OutCurrLabel,
    314                         'out_sum' => (string)$response_data->Info->OutSum,
    315                     );
    316                 }
    317 
    318                 return $op_state_data;
    319             }
    320         }
    321 
    322         return false;
     267        $endpoint = '/OpState?MerchantLogin=' . $merchantLogin . '&InvoiceID=' . $InvoiceID . '&Signature=' . $Signature;
     268
     269        $this->set_api_endpoint($endpoint);
     270
     271        try
     272        {
     273            $response_data = $this->execute();
     274        }
     275        catch(Exception $e)
     276        {
     277            wc_robokassa_logger()->error('xml_op_state', $e);
     278            return false;
     279        }
     280
     281        $op_state_data = [];
     282
     283        /**
     284         * Check error
     285         */
     286        if(!isset($response_data->Result) || $response_data->Result->Code != 0)
     287        {
     288            return false;
     289        }
     290
     291        /**
     292         * Current payment state
     293         */
     294        if(isset($response_data->State))
     295        {
     296            $op_state_data['state'] = array
     297            (
     298                'code' => (string)$response_data->State->Code,
     299                'request_date' => (string)$response_data->State->RequestDate,
     300                'state_date' => (string)$response_data->State->StateDate,
     301            );
     302        }
     303
     304        /**
     305         * Информация об операции оплаты счета
     306         */
     307        if(isset($response_data->Info))
     308        {
     309            $op_state_data['info'] = array
     310            (
     311                'inc_curr_label' => (string)$response_data->Info->IncCurrLabel,
     312                'inc_sum' => (string)$response_data->Info->IncSum,
     313                'inc_account' => (string)$response_data->Info->IncAccount,
     314                'payment_method_code' => (string)$response_data->Info->PaymentMethod->Code,
     315                'payment_method_description' => (string)$response_data->Info->PaymentMethod->Description,
     316                'out_curr_label' => (string)$response_data->Info->OutCurrLabel,
     317                'out_sum' => (string)$response_data->Info->OutSum,
     318            );
     319        }
     320
     321        return $op_state_data;
    323322    }
    324323
     
    337336     * en – английский.
    338337     *
    339      * @return mixed false - error, array - success
     338     * @return array|false
    340339     */
    341340    public function xml_get_currencies($merchantLogin, $language)
    342341    {
    343         /**
    344          * Check available
    345          */
    346         $is_available = $this->is_available();
    347         if($is_available === 0) { return false; }
    348 
    349         /**
    350          * URL
    351          */
    352         $url = $this->get_base_api_url() . '/GetCurrencies?MerchantLogin=' . $merchantLogin . '&language=' . $language;
    353 
    354         /**
    355          * Request execute
    356          */
    357         $this->set_last_response(wp_remote_get($url));
    358 
    359         /**
    360          * Last response set body
    361          */
    362         $this->set_last_response_body(wp_remote_retrieve_body($this->get_last_response()));
    363 
    364         /**
    365          * Response is very good
    366          */
    367         if($this->get_last_response_body() != '')
    368         {
    369             /**
    370              * Данные валют
    371              */
    372             $currencies_data = array();
    373 
    374             /**
    375              * SimpleXML
    376              */
    377             if($is_available === 1)
     342        $endpoint = '/GetCurrencies?MerchantLogin=' . $merchantLogin . '&language=' . $language;
     343
     344        $this->set_api_endpoint($endpoint);
     345
     346        try
     347        {
     348            $response_data = $this->execute();
     349        }
     350        catch(Exception $e)
     351        {
     352            wc_robokassa_logger()->error('xml_get_currencies', $e);
     353            return false;
     354        }
     355
     356        /**
     357         * Available currencies
     358         */
     359        $currencies_data = [];
     360
     361        if(!isset($response_data->Result) || $response_data->Result->Code != 0 || !isset($response_data->Groups))
     362        {
     363            return false;
     364        }
     365
     366        foreach($response_data->Groups->Group as $xml_group)
     367        {
     368            $xml_group_attributes = $xml_group->attributes();
     369
     370            foreach($xml_group->Items->Currency as $xml_group_item)
    378371            {
    379                 /**
    380                  * Response normalize
    381                  */
    382                 try
     372                $xml_group_item_attributes = $xml_group_item->attributes();
     373
     374                $response_item = array
     375                (
     376                    'group_code' => (string)$xml_group_attributes['Code'],
     377                    'group_description' => (string)$xml_group_attributes['Description'],
     378                    'currency_label' => (string)$xml_group_item_attributes['Label'],
     379                    'currency_alias' => (string)$xml_group_item_attributes['Alias'],
     380                    'currency_name' => (string)$xml_group_item_attributes['Name'],
     381                    'language' => $language,
     382                );
     383
     384                if(isset($xml_group_item_attributes['MaxValue']))
    383385                {
    384                     $response_data = new SimpleXMLElement($this->get_last_response_body());
     386                    $response_item['sum_max'] = (string)$xml_group_item_attributes['MaxValue'];
    385387                }
    386                 catch (Exception $e)
     388
     389                if(isset($xml_group_item_attributes['MinValue']))
    387390                {
    388                     return false;
     391                    $response_item['sum_min'] = (string)$xml_group_item_attributes['MinValue'];
    389392                }
    390393
    391                 /**
    392                  * Check error
    393                  */
    394                 if(!isset($response_data->Result) || $response_data->Result->Code != 0 || !isset($response_data->Groups))
    395                 {
    396                     return false;
    397                 }
    398 
    399                 /**
    400                  * Перебираем данные
    401                  */
    402                 foreach($response_data->Groups->Group as $xml_group)
    403                 {
    404                     $xml_group_attributes = $xml_group->attributes();
    405 
    406                     foreach($xml_group->Items->Currency as $xml_group_item)
    407                     {
    408                         $xml_group_item_attributes = $xml_group_item->attributes();
    409 
    410                         $response_item = array
    411                         (
    412                             'group_code' => (string)$xml_group_attributes['Code'],
    413                             'group_description' => (string)$xml_group_attributes['Description'],
    414                             'currency_label' => (string)$xml_group_item_attributes['Label'],
    415                             'currency_alias' => (string)$xml_group_item_attributes['Alias'],
    416                             'currency_name' => (string)$xml_group_item_attributes['Name'],
    417                             'language' => $language,
    418                         );
    419 
    420                         if(isset($xml_group_item_attributes['MaxValue']))
    421                         {
    422                             $response_item['sum_max'] = (string)$xml_group_item_attributes['MaxValue'];
    423                         }
    424 
    425                         if(isset($xml_group_item_attributes['MinValue']))
    426                         {
    427                             $response_item['sum_min'] = (string)$xml_group_item_attributes['MinValue'];
    428                         }
    429 
    430                         $currencies_data[] = $response_item;
    431                     }
    432                 }
    433 
    434                 return $currencies_data;
     394                $currencies_data[] = $response_item;
    435395            }
    436396        }
    437397
    438         return false;
     398        return $currencies_data;
    439399    }
    440400
     
    454414     * en – английский.
    455415     *
    456      * @return mixed false - error, array - success
    457      */
    458     public function xml_get_payment_methods($merchantLogin, $language)
    459     {
    460         /**
    461          * Check available
    462          */
    463         $is_available = $this->is_available();
    464         if($is_available === 0) { return false; }
    465 
    466         /**
    467          * URL
    468          */
    469         $url = $this->get_base_api_url() . '/GetPaymentMethods?MerchantLogin=' . $merchantLogin . '&language=' . $language;
    470 
    471         /**
    472          * Request execute
    473          */
    474         $this->set_last_response(wp_remote_get($url));
    475 
    476         /**
    477          * Last response set body
    478          */
    479         $this->set_last_response_body(wp_remote_retrieve_body($this->get_last_response()));
    480 
    481         /**
    482          * Response is very good
    483          */
    484         if($this->get_last_response_body() != '')
    485         {
    486             /**
    487              * Данные валют
    488              */
    489             $methods_data = array();
    490 
    491             /**
    492              * SimpleXML
    493              */
    494             if($is_available === 1)
    495             {
    496                 /**
    497                  * Response normalize
    498                  */
    499                 try
    500                 {
    501                     $response_data = new SimpleXMLElement($this->get_last_response_body());
    502                 }
    503                 catch (Exception $e)
    504                 {
    505                     return false;
    506                 }
    507 
    508                 /**
    509                  * Check error
    510                  */
    511                 if (!isset($response_data->Result) || $response_data->Result->Code != 0)
    512                 {
    513                     return false;
    514                 }
    515 
    516                 /**
    517                  * Перебираем данные
    518                  */
    519                 foreach ( $response_data->Methods->Method as $xml_method )
    520                 {
    521                     $xml_method_attributes = $xml_method->attributes();
    522 
    523                     $methods_data[ (string) $xml_method_attributes['Code'] ] = array
    524                     (
    525                         'method_code' => (string) $xml_method_attributes['Code'],
    526                         'method_description' => (string) $xml_method_attributes['Description'],
    527                         'language' => $language
    528                     );
    529                 }
    530 
    531                 return $methods_data;
    532             }
    533         }
    534 
    535         return false;
     416     * @return array|false - error, array - success
     417     */
     418    public function xml_get_payment_methods($merchantLogin = 'demo', $language = 'ru')
     419    {
     420        $endpoint = '/GetPaymentMethods?MerchantLogin=' . $merchantLogin . '&language=' . $language;
     421
     422        $this->set_api_endpoint($endpoint);
     423
     424        try
     425        {
     426            $response_data = $this->execute();
     427        }
     428        catch(Exception $e)
     429        {
     430            wc_robokassa_logger()->error('xml_get_payment_methods', $e);
     431            return false;
     432        }
     433
     434        /**
     435         * Available methods
     436         */
     437        $methods_data = [];
     438
     439        /**
     440         * Check error
     441         */
     442        if(!isset($response_data->Result) || $response_data->Result->Code != 0)
     443        {
     444            return false;
     445        }
     446
     447        foreach($response_data->Methods->Method as $xml_method)
     448        {
     449            $xml_method_attributes = $xml_method->attributes();
     450
     451            $methods_data[ (string) $xml_method_attributes['Code'] ] = array
     452            (
     453                'method_code' => (string) $xml_method_attributes['Code'],
     454                'method_description' => (string) $xml_method_attributes['Description'],
     455                'language' => $language
     456            );
     457        }
     458
     459        return $methods_data;
    536460    }
    537461
     
    560484    public function xml_get_rates($merchantLogin, $OutSum, $IncCurrLabel = '', $language = 'ru')
    561485    {
    562         /**
    563          * Check available
    564          */
    565         $is_available = $this->is_available();
    566         if($is_available === 0) { return false; }
    567 
    568         /**
    569          * URL
    570          */
    571         $url = $this->get_base_api_url() . '/GetRates?MerchantLogin=' . $merchantLogin . '&IncCurrLabel=' . $IncCurrLabel . '&OutSum=' . $OutSum . '&Language=' . $language;
    572 
    573         /**
    574          * Request execute
    575          */
    576         $this->set_last_response(wp_remote_get($url));
    577 
    578         /**
    579          * Last response set body
    580          */
    581         $this->set_last_response_body(wp_remote_retrieve_body($this->get_last_response()));
    582 
    583         /**
    584          * Response is very good
    585          */
    586         if($this->get_last_response_body() != '')
    587         {
    588             /**
    589              * Данные валют
    590              */
    591             $rates_data = array();
    592 
    593             /**
    594              * SimpleXML
    595              */
    596             if($is_available === 1)
     486        $endpoint = '/GetRates?MerchantLogin=' . $merchantLogin . '&IncCurrLabel=' . $IncCurrLabel . '&OutSum=' . $OutSum . '&Language=' . $language;
     487
     488        $this->set_api_endpoint($endpoint);
     489
     490        try
     491        {
     492            $response_data = $this->execute();
     493        }
     494        catch(Exception $e)
     495        {
     496            wc_robokassa_logger()->error('xml_get_rates', $e);
     497            return false;
     498        }
     499
     500        /**
     501         * Rates
     502         */
     503        $rates_data = [];
     504
     505        /**
     506         * Check error
     507         */
     508        if(!isset($response_data->Result) || $response_data->Result->Code != 0)
     509        {
     510            return false;
     511        }
     512
     513        foreach($response_data->Groups->Group as $xml_group)
     514        {
     515            $xml_group_attributes = $xml_group->attributes();
     516
     517            foreach($xml_group->Items->Currency as $xml_group_item)
    597518            {
    598                 /**
    599                  * Response normalize
    600                  */
    601                 try
     519                $xml_group_item_attributes = $xml_group_item->attributes();
     520                $xml_group_item_rate_attributes = $xml_group_item->Rate->attributes();
     521
     522                $rates_item =  array
     523                (
     524                    'group_code' => (string)$xml_group_attributes['Code'],
     525                    'group_description' => (string)$xml_group_attributes['Description'],
     526                    'currency_label' => (string)$xml_group_item_attributes['Label'],
     527                    'currency_alias' => (string)$xml_group_item_attributes['Alias'],
     528                    'currency_name' => (string)$xml_group_item_attributes['Name'],
     529                    'rate_inc_sum' => (string)$xml_group_item_rate_attributes['IncSum'],
     530                    'language' => $language,
     531                );
     532
     533                if(isset($xml_group_item_attributes['MaxValue']))
    602534                {
    603                     $response_data = new SimpleXMLElement($this->get_last_response_body());
     535                    $rates_item['currency_sum_max'] = (string)$xml_group_item_attributes['MaxValue'];
    604536                }
    605                 catch(Exception $e)
     537
     538                if(isset($xml_group_item_attributes['MinValue']))
    606539                {
    607                     return false;
     540                    $rates_item['currency_sum_min'] = (string)$xml_group_item_attributes['MinValue'];
    608541                }
    609542
    610                 /**
    611                  * Check error
    612                  */
    613                 if(!isset($response_data->Result) || $response_data->Result->Code != 0)
    614                 {
    615                     return false;
    616                 }
    617 
    618                 /**
    619                  * Перебираем данные
    620                  */
    621                 foreach($response_data->Groups->Group as $xml_group)
    622                 {
    623                     $xml_group_attributes = $xml_group->attributes();
    624 
    625                     foreach($xml_group->Items->Currency as $xml_group_item)
    626                     {
    627                         $xml_group_item_attributes = $xml_group_item->attributes();
    628                         $xml_group_item_rate_attributes = $xml_group_item->Rate->attributes();
    629 
    630                         $rates_item =  array
    631                         (
    632                             'group_code' => (string)$xml_group_attributes['Code'],
    633                             'group_description' => (string)$xml_group_attributes['Description'],
    634                             'currency_label' => (string)$xml_group_item_attributes['Label'],
    635                             'currency_alias' => (string)$xml_group_item_attributes['Alias'],
    636                             'currency_name' => (string)$xml_group_item_attributes['Name'],
    637                             'rate_inc_sum' => (string)$xml_group_item_rate_attributes['IncSum'],
    638                             'language' => $language,
    639                         );
    640 
    641                         if(isset($xml_group_item_attributes['MaxValue']))
    642                         {
    643                             $rates_item['currency_sum_max'] = (string)$xml_group_item_attributes['MaxValue'];
    644                         }
    645 
    646                         if(isset($xml_group_item_attributes['MinValue']))
    647                         {
    648                             $rates_item['currency_sum_min'] = (string)$xml_group_item_attributes['MinValue'];
    649                         }
    650 
    651                         $rates_data[] = $rates_item;
    652                     }
    653                 }
    654 
    655                 return $rates_data;
     543                $rates_data[] = $rates_item;
    656544            }
    657545        }
    658546
     547        return $rates_data;
     548    }
     549
     550    /**
     551     * Получение информации о доступном лимите платежей
     552     *
     553     * @param string $merchantLogin
     554     *
     555     * @return string|false
     556     */
     557    public function xml_get_limit($merchantLogin = 'demo')
     558    {
     559        $endpoint = '/GetLimit?MerchantLogin=' . $merchantLogin;
     560
     561        $this->set_api_endpoint($endpoint);
     562
     563        try
     564        {
     565            $response_data = $this->execute();
     566        }
     567        catch(Exception $e)
     568        {
     569            wc_robokassa_logger()->error('xml_get_limit', $e);
     570            return false;
     571        }
     572
     573        /**
     574         * Check error
     575         */
     576        if(!isset($response_data->Result) || $response_data->Result->Code != 0)
     577        {
     578            return false;
     579        }
     580
     581        /**
     582         * Limit exists
     583         */
     584        if(isset($response_data->Limit))
     585        {
     586            return (string)$response_data->Limit;
     587        }
     588
    659589        return false;
    660590    }
    661 
    662     /**
    663      * Получение информации о доступном лимите платежей
    664      *
    665      * @param string $merchantLogin
    666      *
    667      * @return mixed
    668      */
    669     public function xml_get_limit($merchantLogin)
    670     {
    671         /**
    672          * Check available
    673          */
    674         $is_available = $this->is_available();
    675         if($is_available === 0) { return false; }
    676 
    677         /**
    678          * URL
    679          */
    680         $url = $this->get_base_api_url() . '/GetLimit?MerchantLogin=' . $merchantLogin;
    681 
    682         /**
    683          * Request execute
    684          */
    685         $this->set_last_response(wp_remote_get($url));
    686 
    687         /**
    688          * Last response set body
    689          */
    690         $this->set_last_response_body(wp_remote_retrieve_body($this->get_last_response()));
    691 
    692         /**
    693          * Response is very good
    694          */
    695         if($this->get_last_response_body() != '')
    696         {
    697             /**
    698              * SimpleXMl
    699              */
    700             if($is_available === 1)
    701             {
    702                 /**
    703                  * Response normalize
    704                  */
    705                 try
    706                 {
    707                     $response_data = new SimpleXMLElement($this->get_last_response_body());
    708                 }
    709                 catch(Exception $e)
    710                 {
    711                     return false;
    712                 }
    713 
    714                 /**
    715                  * Check error
    716                  */
    717                 if(!isset($response_data->Result) || $response_data->Result->Code != 0)
    718                 {
    719                     return false;
    720                 }
    721 
    722                 /**
    723                  * Limit exists
    724                  */
    725                 if(isset($response_data->Limit))
    726                 {
    727                     return (string)$response_data->Limit;
    728                 }
    729 
    730                 return false;
    731             }
    732         }
    733 
    734         return false;
    735     }
    736591}
  • wc-robokassa/trunk/includes/class-wc-robokassa-logger.php

    r2334486 r2507761  
    6060     *
    6161     * @throws Exception
     62     *
     63     * @return void
    6264     */
    6365    public function __construct($path = '', $level = 400, $name = '')
  • wc-robokassa/trunk/includes/class-wc-robokassa-method.php

    r2334486 r2507761  
    283283        add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_tecodes'), 5);
    284284        add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_main'), 10);
     285        add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_payments'), 15);
    285286        add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_test_payments'), 20);
    286287        add_filter('wc_robokassa_init_form_fields', array($this, 'init_form_fields_interface'), 30);
     
    965966        $fields['tecodes'] = array
    966967        (
    967             'title' => __('Activation', 'wc-robokassa'),
     968            'title' => __('Support activation', 'wc-robokassa'),
    968969            'type' => 'title',
    969970            'class' => WC_Robokassa()->tecodes()->is_valid() ? '' : 'bg-warning p-2 mt-1',
     
    10041005            'desc_tip' => false,
    10051006            'description' => '',
    1006             'custom_attributes' => array(),
     1007            'custom_attributes' => [],
    10071008        );
    10081009
     
    10151016                <fieldset>
    10161017                    <div class="row">
     1018                        <div class="col-4 p-0">
     1019                            <button style="margin: 0;height: 90%; width: 90%;" name="save" class="button-primary woocommerce-save-button" type="submit" value="<?php _e('Activate', 'wc-robokassa') ?>"><?php _e('Activate', 'wc-robokassa') ?></button>
     1020                        </div>
    10171021                        <div class="col-20 p-0">
    10181022                            <legend class="screen-reader-text"><span><?php echo wp_kses_post($data['title']); ?></span></legend>
     
    10251029                            <?php echo $this->get_description_html($data); // WPCS: XSS ok.?>
    10261030                        </div>
    1027                         <div class="col-4 p-0">
    1028                             <button style="float: right;margin: 0px;height: 90%; width: 90%;" name="save" class="button-primary woocommerce-save-button" type="submit" value="<?php _e('Activate', 'wc-robokassa') ?>"><?php _e('Activate', 'wc-robokassa') ?></button>
    1029                         </div>
    10301031                    </div>
    10311032                </fieldset>
     
    10551056        $fields['enabled'] = array
    10561057        (
    1057             'title'       => __('Online / Offline', 'wc-robokassa'),
     1058            'title'       => __('Main method', 'wc-robokassa'),
    10581059            'type'        => 'checkbox',
    1059             'label'       => __('Tick the checkbox if you need to activate the payment gateway.', 'wc-robokassa'),
    1060             'description' => __('On disconnection, the payment gateway will not be available for selection on the site. It is useful for payments through subsidiaries, or just in case of temporary disconnection.', 'wc-robokassa'),
     1060            'label'       => __('Tick the checkbox if you need to show the payment gateway.', 'wc-robokassa'),
     1061            'description' => __('On disabled, the payment gateway will not be available for selection on the site. Feature useful for payments through subsidiaries, or just in case of temporary disconnection.', 'wc-robokassa'),
    10611062            'default'     => 'off'
     1063        );
     1064
     1065        $fields['sub_methods'] = array
     1066        (
     1067            'title' => __('Sub methods', 'wc-robokassa'),
     1068            'type' => 'checkbox',
     1069            'label' => __('Tick the checkbox to enable sub methods feature. Default is disabled.', 'wc-robokassa'),
     1070            'description' => __('Use of all mechanisms of child payment methods. The main method can be turned off. The cart will show the child payment methods.', 'wc-robokassa'),
     1071            'default' => 'no'
    10621072        );
    10631073
     
    10681078            'description' => __('Unique identifier for shop from Robokassa.', 'wc-robokassa'),
    10691079            'default'     => ''
     1080        );
     1081
     1082        $fields['test'] = array
     1083        (
     1084            'title'       => __('Test mode', 'wc-robokassa'),
     1085            'type'        => 'checkbox',
     1086            'label'   => __('Tick the checkbox to enable test mode. Default is enabled.', 'wc-robokassa'),
     1087            'description' => __('When you activate the test mode, no funds will be debited. In this case, the payment gateway will only be displayed when you log in with an administrator account. This is done in order to protect you from false orders.', 'wc-robokassa'),
     1088            'default'     => 'yes'
     1089        );
     1090
     1091        $result_url_description = '<p class="input-text regular-input robokassa_urls">' . WC_Robokassa()->get_result_url() . '</p>' . __('Address to notify the site of the results of operations in the background. Copy the address and enter it in your personal account ROBOKASSA in the technical settings. Notification method: POST.', 'wc-robokassa');
     1092
     1093        $fields['result_url'] = array
     1094        (
     1095            'title'       => __('Result Url', 'wc-robokassa'),
     1096            'type'        => 'text',
     1097            'disabled'    => true,
     1098            'description' => $result_url_description,
     1099            'default'     => ''
     1100        );
     1101
     1102        $success_url_description = '<p class="input-text regular-input robokassa_urls">' . WC_Robokassa()->get_success_url() . '</p>' . __('The address for the user to go to the site after successful payment. Copy the address and enter it in your personal account ROBOKASSA in the technical settings. Notification method: POST. You can specify other addresses of your choice.', 'wc-robokassa');
     1103
     1104        $fields['success_url'] = array
     1105        (
     1106            'title'       => __('Success Url', 'wc-robokassa'),
     1107            'type'        => 'text',
     1108            'disabled'    => true,
     1109            'description' => $success_url_description,
     1110            'default'     => ''
     1111        );
     1112
     1113        $fail_url_description = '<p class="input-text regular-input robokassa_urls">' . WC_Robokassa()->get_fail_url() . '</p>' . __('The address for the user to go to the site, after payment with an error. Copy the address and enter it in your personal account ROBOKASSA in the technical settings. Notification method: POST. You can specify other addresses of your choice.', 'wc-robokassa');
     1114
     1115        $fields['fail_url'] = array
     1116        (
     1117            'title'       => __('Fail Url', 'wc-robokassa'),
     1118            'type'        => 'text',
     1119            'disabled'    => true,
     1120            'description' => $fail_url_description,
     1121            'default'     => ''
     1122        );
     1123
     1124        return $fields;
     1125    }
     1126
     1127    /**
     1128     * Add settings for payments
     1129     *
     1130     * @param $fields
     1131     *
     1132     * @return array
     1133     */
     1134    public function init_form_fields_payments($fields)
     1135    {
     1136        $fields['payments'] = array
     1137        (
     1138            'title'       => __('Parameters for real payments', 'wc-robokassa'),
     1139            'type'        => 'title',
     1140            'description' => __('Passwords and hashing algorithms for real payments differ from those specified for test payments.', 'wc-robokassa'),
    10701141        );
    10711142
     
    11031174        );
    11041175
    1105         $result_url_description = '<p class="input-text regular-input robokassa_urls">' . WC_Robokassa()->get_result_url() . '</p>' . __('Address to notify the site of the results of operations in the background. Copy the address and enter it in your personal account ROBOKASSA in the technical settings. Notification method: POST.', 'wc-robokassa');
    1106 
    1107         $fields['result_url'] = array
    1108         (
    1109             'title'       => __('Result Url', 'wc-robokassa'),
    1110             'type'        => 'text',
    1111             'disabled'    => true,
    1112             'description' => $result_url_description,
    1113             'default'     => ''
    1114         );
    1115 
    1116         $success_url_description = '<p class="input-text regular-input robokassa_urls">' . WC_Robokassa()->get_success_url() . '</p>' . __('The address for the user to go to the site after successful payment. Copy the address and enter it in your personal account ROBOKASSA in the technical settings. Notification method: POST. You can specify other addresses of your choice.', 'wc-robokassa');
    1117 
    1118         $fields['success_url'] = array
    1119         (
    1120             'title'       => __('Success Url', 'wc-robokassa'),
    1121             'type'        => 'text',
    1122             'disabled'    => true,
    1123             'description' => $success_url_description,
    1124             'default'     => ''
    1125         );
    1126 
    1127         $fail_url_description = '<p class="input-text regular-input robokassa_urls">' . WC_Robokassa()->get_fail_url() . '</p>' . __('The address for the user to go to the site, after payment with an error. Copy the address and enter it in your personal account ROBOKASSA in the technical settings. Notification method: POST. You can specify other addresses of your choice.', 'wc-robokassa');
    1128 
    1129         $fields['fail_url'] = array
    1130         (
    1131             'title'       => __('Fail Url', 'wc-robokassa'),
    1132             'type'        => 'text',
    1133             'disabled'    => true,
    1134             'description' => $fail_url_description,
    1135             'default'     => ''
    1136         );
    1137 
    11381176        return $fields;
    11391177    }
     
    11531191            'type'        => 'title',
    11541192            'description' => __('Passwords and hashing algorithms for test payments differ from those specified for real payments.', 'wc-robokassa'),
    1155         );
    1156 
    1157         $fields['test'] = array
    1158         (
    1159             'title'       => __('Test mode', 'wc-robokassa'),
    1160             'type'        => 'checkbox',
    1161             'label'   => __('Select the checkbox to enable this feature. Default is enabled.', 'wc-robokassa'),
    1162             'description' => __('When you activate the test mode, no funds will be debited. In this case, the payment gateway will only be displayed when you log in with an administrator account. This is done in order to protect you from false orders.', 'wc-robokassa'),
    1163             'default'     => 'yes'
    11641193        );
    11651194
     
    11971226        );
    11981227
    1199         $fields['test_mode_checkout_notice'] = array
    1200         (
    1201             'title'   => __('Test notification display on the test mode', 'wc-robokassa'),
    1202             'type'    => 'checkbox',
    1203             'label'   => __('Select the checkbox to enable this feature. Default is enabled.', 'wc-robokassa'),
    1204             'description' => __('A notification about the activated test mode will be displayed when the payment.', 'wc-robokassa'),
    1205             'default' => 'yes'
    1206         );
    1207 
    12081228        return $fields;
    12091229    }
     
    12251245        );
    12261246
    1227         $fields['sub_methods'] = array
    1228         (
    1229             'title' => __('Enable sub methods', 'wc-robokassa'),
    1230             'type' => 'checkbox',
    1231             'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    1232             'description' => __('Use of all mechanisms add a child of payment methods.', 'wc-robokassa'),
    1233             'default' => 'no'
    1234         );
    1235 
    12361247        $fields['sub_methods_check_available'] = array
    12371248        (
    12381249            'title' => __('Check available via the API', 'wc-robokassa'),
    12391250            'type' => 'checkbox',
    1240             'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1251            'label' => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    12411252            'description' => __('Check whether child methods are currently available for payment.', 'wc-robokassa'),
    12421253            'default' => 'no'
     
    12471258            'title' => __('Show the total amount including the fee', 'wc-robokassa'),
    12481259            'type' => 'checkbox',
    1249             'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1260            'label' => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    12501261            'description' => __('If you enable this option, the exact amount payable, including fees, will be added to the payment method headers.', 'wc-robokassa'),
    12511262            'default' => 'no'
     
    12751286            'title'   => __('Show icon?', 'wc-robokassa'),
    12761287            'type'    => 'checkbox',
    1277             'label'   => __('Select the checkbox to enable this feature. Default is enabled.', 'wc-robokassa'),
     1288            'label'   => __('Tick the checkbox to enable this feature. Default is enabled.', 'wc-robokassa'),
    12781289            'default' => 'yes',
    12791290            'description' => __('Next to the name of the payment method will display the logo Robokassa.', 'wc-robokassa'),
     1291        );
     1292
     1293        $fields['test_mode_checkout_notice'] = array
     1294        (
     1295            'title'   => __('Test notification display on the test mode', 'wc-robokassa'),
     1296            'type'    => 'checkbox',
     1297            'label'   => __('Tick the checkbox to enable this feature. Default is enabled.', 'wc-robokassa'),
     1298            'description' => __('A notification about the activated test mode will be displayed when the payment.', 'wc-robokassa'),
     1299            'default' => 'yes'
    12801300        );
    12811301
     
    13061326            'title'       => __('Skip the received order page?', 'wc-robokassa'),
    13071327            'type'        => 'checkbox',
    1308             'label'   => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1328            'label'   => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    13091329            'description' => __('This setting is used to reduce actions when users switch to payment.', 'wc-robokassa'),
    13101330            'default'     => 'no'
     
    13581378            'title'       => __('The transfer of goods', 'wc-robokassa'),
    13591379            'type'        => 'checkbox',
    1360             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1380            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    13611381            'description' => __('When you select the option, a check will be generated and sent to the tax and customer. When used, you must set up the VAT of the items sold. VAT is calculated according to the legislation of the Russian Federation. There may be differences in the amount of VAT with the amount calculated by the store.', 'wc-robokassa'),
    13621382            'default'     => 'no'
     
    14671487            'title'       => __('Errors when verifying the signature of requests', 'wc-robokassa'),
    14681488            'type'        => 'checkbox',
    1469             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1489            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    14701490            'description' => __('Recording a errors when verifying the signature of requests from Robokassa.', 'wc-robokassa'),
    14711491            'default'     => 'no'
     
    14761496            'title'       => __('Process payments', 'wc-robokassa'),
    14771497            'type'        => 'checkbox',
    1478             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1498            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    14791499            'description' => __('Recording information about the beginning of the payment process by the user.', 'wc-robokassa'),
    14801500            'default'     => 'no'
     
    14851505            'title'       => __('Successful payments', 'wc-robokassa'),
    14861506            'type'        => 'checkbox',
    1487             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1507            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    14881508            'description' => __('Recording information about received requests with successful payment.', 'wc-robokassa'),
    14891509            'default'     => 'no'
     
    14941514            'title'       => __('Background requests', 'wc-robokassa'),
    14951515            'type'        => 'checkbox',
    1496             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1516            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    14971517            'description' => __('Recording information about the background queries about transactions from Robokassa.', 'wc-robokassa'),
    14981518            'default'     => 'no'
     
    15031523            'title'       => __('Failed requests', 'wc-robokassa'),
    15041524            'type'        => 'checkbox',
    1505             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1525            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    15061526            'description' => __('Recording information about the clients return to the canceled payment page.', 'wc-robokassa'),
    15071527            'default'     => 'no'
     
    15121532            'title'       => __('Success requests', 'wc-robokassa'),
    15131533            'type'        => 'checkbox',
    1514             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1534            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    15151535            'description' => __('Recording information about the clients return to the success payment page.', 'wc-robokassa'),
    15161536            'default'     => 'no'
     
    15581578        );
    15591579
     1580        $fields['commission_merchant'] = array
     1581        (
     1582            'title' => __('Payment of the commission for the buyer', 'wc-robokassa'),
     1583            'type' => 'checkbox',
     1584            'label' => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1585            'description' => __('When you enable this feature, the store will pay all customer Commission costs. Works only when you select a payment method on the site and for stores individuals.', 'wc-robokassa'),
     1586            'default' => 'no'
     1587        );
     1588
     1589        $fields['commission_merchant_by_cbr'] = array
     1590        (
     1591            'title' => __('Preliminary conversion of order currency into roubles for commission calculation', 'wc-robokassa'),
     1592            'type' => 'checkbox',
     1593            'label' => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1594            'description' => __('If the calculation of the customer commission is included and the order is not in roubles, the order will be converted to roubles based on data from the Central Bank of Russia.
     1595            This is required due to poor Robokassa API.', 'wc-robokassa'),
     1596            'default' => 'no'
     1597        );
     1598
    15601599        $fields['cart_clearing'] = array
    15611600        (
    15621601            'title'       => __('Cart clearing', 'wc-robokassa'),
    15631602            'type'        => 'checkbox',
    1564             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1603            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    15651604            'description' => __('Clean the customers cart if payment is successful? If so, the shopping cart will be cleaned. If not, the goods already purchased will most likely remain in the shopping cart.', 'wc-robokassa'),
    15661605            'default'     => 'no',
     
    15711610            'title'       => __('Mark order as cancelled?', 'wc-robokassa'),
    15721611            'type'        => 'checkbox',
    1573             'label'       => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
     1612            'label'       => __('Tick the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    15741613            'description' => __('Change the status of the order to canceled when the user cancels the payment. The status changes when the user returns to the cancelled payment page.', 'wc-robokassa'),
    15751614            'default'     => 'no',
     
    16451684        }
    16461685
    1647         $fields['commission_merchant'] = array
    1648         (
    1649             'title' => __('Payment of the commission for the buyer', 'wc-robokassa'),
    1650             'type' => 'checkbox',
    1651             'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    1652             'description' => __('When you enable this feature, the store will pay all customer Commission costs. Works only when you select a payment method on the site and for stores individuals.', 'wc-robokassa'),
    1653             'default' => 'no'
    1654         );
    1655 
    1656         $fields['commission_merchant_by_cbr'] = array
    1657         (
    1658             'title' => __('Preliminary conversion of order currency into roubles for commission calculation', 'wc-robokassa'),
    1659             'type' => 'checkbox',
    1660             'label' => __('Select the checkbox to enable this feature. Default is disabled.', 'wc-robokassa'),
    1661             'description' => __('If the calculation of the customer commission is included and the order is not in roubles, the order will be converted to roubles based on data from the Central Bank of Russia.
    1662             This is required due to poor Robokassa API.', 'wc-robokassa'),
    1663             'default' => 'no'
    1664         );
    1665 
    16661686        return $fields;
    16671687    }
     
    20672087         */
    20682088        $receipt_signature = '';
    2069         if($receipt_json != '')
     2089        if($receipt_json !== '')
    20702090        {
    20712091            $receipt_signature = ':' . $receipt_json;
     
    21672187                 *  дробная часть не более 2 знаков.
    21682188                 */
    2169                 'sum' => intval($item_total),
     2189                'sum' => (int) $item_total,
    21702190
    21712191                /**
     
    21742194                 * максимальная длина 128 символов
    21752195                 */
    2176                 'quantity' => intval($item_quantity),
     2196                'quantity' => (int) $item_quantity,
    21772197
    21782198                /**
     
    22172237                 *  дробная часть не более 2 знаков.
    22182238                 */
    2219                 'sum' => intval($order->get_shipping_total()),
     2239                'sum' => (int) $order->get_shipping_total(),
    22202240
    22212241                /**
     
    23062326    public function input_payment_notifications_redirect_by_form()
    23072327    {
    2308         if(false == isset($_GET['action']))
     2328        if(false === isset($_GET['action']))
    23092329        {
    23102330            return;
    23112331        }
    23122332
    2313         if(false == isset($_GET['order_id']))
     2333        if(false === isset($_GET['order_id']))
    23142334        {
    23152335            return;
     
    28742894        }
    28752895
    2876         if(!WC_Robokassa()->tecodes()->is_valid())
     2896        if(false === WC_Robokassa()->tecodes()->is_valid())
    28772897        {
    28782898            $color = 'bg-warning';
  • wc-robokassa/trunk/includes/class-wc-robokassa.php

    r2334486 r2507761  
    7070     * @var array
    7171     */
    72     private $robokassa_available_currencies = array();
     72    private $robokassa_available_currencies = [];
    7373
    7474    /**
     
    7777     * @var array
    7878     */
    79     private $robokassa_rates_merchant = array();
     79    private $robokassa_rates_merchant = [];
    8080
    8181    /**
     
    8383     * @var array
    8484     */
    85     private $currency_rates_by_cbr = array();
     85    private $currency_rates_by_cbr = [];
    8686
    8787    /**
     
    9494    /**
    9595     * WC_Robokassa constructor
     96     *
     97     * @return void
    9698     */
    9799    public function __construct()
     
    135137
    136138        include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-api.php';
    137         require_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-method.php';
    138         include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-sub-method.php';
    139         include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/tecodes-local/bootstrap.php';
     139
     140        include_once WC_ROBOKASSA_PLUGIN_DIR . 'vendors/tecodes/tecodes-local/bootstrap.php';
    140141        include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-tecodes.php';
    141142        include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-tecodes-instance.php';
    142143        include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-tecodes-storage-code.php';
     144
     145        /**
     146         * @since 3.0.0
     147         */
     148        do_action('wc_robokassa_after_includes');
     149    }
     150
     151    /**
     152     * Get current currency
     153     *
     154     * @return string
     155     */
     156    public function get_wc_currency()
     157    {
     158        return $this->wc_currency;
     159    }
     160
     161    /**
     162     * Set current currency
     163     *
     164     * @param $wc_currency
     165     */
     166    public function set_wc_currency($wc_currency)
     167    {
     168        $this->wc_currency = $wc_currency;
     169    }
     170
     171    /**
     172     * Get current WooCommerce version installed
     173     *
     174     * @return string
     175     */
     176    public function get_wc_version()
     177    {
     178        return $this->wc_version;
     179    }
     180
     181    /**
     182     * Set current WooCommerce version installed
     183     *
     184     * @param mixed $wc_version
     185     */
     186    public function set_wc_version($wc_version)
     187    {
     188        $this->wc_version = $wc_version;
     189    }
     190
     191    /**
     192     * Get Tecodes
     193     *
     194     * @return Tecodes_Local|null
     195     */
     196    public function tecodes()
     197    {
     198        return $this->tecodes;
     199    }
     200
     201    /**
     202     * Set Tecodes
     203     *
     204     * @param Tecodes_Local|null $tecodes
     205     */
     206    public function set_tecodes($tecodes)
     207    {
     208        $this->tecodes = $tecodes;
     209    }
     210
     211    /**
     212     * Hooks (actions & filters)
     213     *
     214     * @return void
     215     */
     216    private function init_hooks()
     217    {
     218        add_action('init', array($this, 'init'), 0);
     219        add_action('init', array($this, 'wc_robokassa_gateway_init'), 5);
     220
     221        if(is_admin())
     222        {
     223            add_action('init', array($this, 'init_admin'), 0);
     224            add_action('admin_notices', array($this, 'wc_robokassa_admin_notices'), 10);
     225
     226            add_filter('plugin_action_links_' . WC_ROBOKASSA_PLUGIN_NAME, array($this, 'links_left'), 10);
     227            add_filter('plugin_row_meta', array($this, 'links_right'), 10, 2);
     228
     229            $this->page_explode();
     230        }
     231    }
     232
     233    /**
     234     * Init plugin gateway
     235     *
     236     * @return void
     237     */
     238    public function wc_robokassa_gateway_init()
     239    {
     240        // hook
     241        do_action('wc_robokassa_gateway_init_before');
     242
     243        add_filter('woocommerce_payment_gateways', array($this, 'add_gateway_method'), 10);
     244
     245        $robokassa_settings = $this->get_method_settings_by_method_id('robokassa');
     246
     247        if(isset($robokassa_settings['sub_methods']) && $robokassa_settings['sub_methods'] === 'yes')
     248        {
     249            add_filter('woocommerce_payment_gateways', array($this, 'add_gateway_submethods'), 10);
     250        }
     251
     252        // hook
     253        do_action('wc_robokassa_gateway_init_after');
     254    }
     255
     256    /**
     257     * Initialization
     258     *
     259     * @return boolean
     260     */
     261    public function init()
     262    {
     263        if(false === $this->load_logger())
     264        {
     265            return false;
     266        }
     267
     268        $this->load_tecodes();
     269
     270        return true;
     271    }
     272
     273    /**
     274     * Admin initialization
     275     *
     276     * @return void
     277     */
     278    public function init_admin()
     279    {
     280        /**
     281         * Load URLs for settings
     282         */
     283        $this->load_urls();
     284    }
     285
     286    /**
     287     * Load robokassa api
     288     *
     289     * @param $reload boolean
     290     *
     291     * @return Wc_Robokassa_Api|false
     292     */
     293    public function load_robokassa_api($reload = true)
     294    {
     295        if(true === $reload)
     296        {
     297            $robokassa_api = $this->get_robokassa_api();
     298
     299            if(false !== $robokassa_api)
     300            {
     301                return $robokassa_api;
     302            }
     303        }
     304
     305        $default_class_name = 'Wc_Robokassa_Api';
     306
     307        /**
     308         * Load API class name from external code
     309         */
     310        $robokassa_api_class_name = apply_filters('wc_robokassa_api_class_name_load', $default_class_name);
     311
     312        /**
     313         * Fallback
     314         */
     315        if(false === class_exists($robokassa_api_class_name))
     316        {
     317            $robokassa_api_class_name = $default_class_name;
     318        }
     319
     320        try
     321        {
     322            $robokassa_api = new $robokassa_api_class_name();
     323
     324            $this->set_robokassa_api($robokassa_api);
     325        }
     326        catch(Exception $e)
     327        {
     328            wc_robokassa_logger()->error('load_robokassa_api exception', $e);
     329            return false;
     330        }
     331
     332        return $this->get_robokassa_api();
     333    }
     334
     335    /**
     336     * Load Tecodes
     337     *
     338     * @return void
     339     */
     340    public function load_tecodes()
     341    {
     342        $options =
     343        [
     344            'timeout' => 2,
     345            'verify_ssl' => false,
     346            'version' => 'tecodes/v1'
     347        ];
     348
     349        $tecodes_local = new Wc_Robokassa_Tecodes('https://mofsy.ru/', $options);
     350
     351        /**
     352         * Languages
     353         */
     354        $tecodes_local->status_messages = array
     355        (
     356            'status_1' => __('This activation code is active.', 'wc-robokassa'),
     357            'status_2' => __('Error: This activation code has expired.', 'wc-robokassa'),
     358            'status_3' => __('Activation code republished. Awaiting reactivation.', 'wc-robokassa'),
     359            'status_4' => __('Error: This activation code has been suspended.', 'wc-robokassa'),
     360            'code_not_found' => __('This activation code is not found.', 'wc-robokassa'),
     361            'localhost' => __('This activation code is active (localhost).', 'wc-robokassa'),
     362            'pending' => __('Error: This activation code is pending review.', 'wc-robokassa'),
     363            'download_access_expired' => __('Error: This version of the software was released after your download access expired. Please downgrade software or contact support for more information.', 'wc-robokassa'),
     364            'missing_activation_key' => __('Error: The activation code variable is empty.', 'wc-robokassa'),
     365            'could_not_obtain_local_code' => __('Error: I could not obtain a new local code.', 'wc-robokassa'),
     366            'maximum_delay_period_expired' => __('Error: The maximum local code delay period has expired.', 'wc-robokassa'),
     367            'local_code_tampering' => __('Error: The local key has been tampered with or is invalid.', 'wc-robokassa'),
     368            'local_code_invalid_for_location' => __('Error: The local code is invalid for this location.', 'wc-robokassa'),
     369            'missing_license_file' => __('Error: Please create the following file (and directories if they dont exist already): ', 'wc-robokassa'),
     370            'license_file_not_writable' => __('Error: Please make the following path writable: ', 'wc-robokassa'),
     371            'invalid_local_key_storage' => __('Error: I could not determine the local key storage on clear.', 'wc-robokassa'),
     372            'could_not_save_local_key' => __('Error: I could not save the local key.', 'wc-robokassa'),
     373            'code_string_mismatch' => __('Error: The local code is invalid for this activation code.', 'wc-robokassa'),
     374            'code_status_delete' => __('Error: This activation code has been deleted.', 'wc-robokassa'),
     375            'code_status_draft' => __('Error: This activation code has draft.', 'wc-robokassa'),
     376            'code_status_available' => __('Error: This activation code has available.', 'wc-robokassa'),
     377            'code_status_blocked' => __('Error: This activation code has been blocked.', 'wc-robokassa'),
     378        );
     379
     380        $tecodes_local->set_local_code_storage(new Wc_Robokassa_Tecodes_Code_Storage());
     381        $tecodes_local->set_instance(new Wc_Robokassa_Tecodes_Instance());
     382
     383        $tecodes_local->validate();
     384
     385        $this->set_tecodes($tecodes_local);
     386    }
     387
     388    /**
     389     * Load available currencies from Robokassa
     390     *
     391     * @param $merchant_login
     392     * @param string $language
     393     *
     394     * @return void
     395     */
     396    public function load_robokassa_available_currencies($merchant_login, $language = 'ru')
     397    {
     398        if(is_array($this->get_robokassa_available_currencies()) && count($this->get_robokassa_available_currencies()) === 0)
     399        {
     400            $api = $this->load_robokassa_api();
     401
     402            $robokassa_available_currencies_result = $api->xml_get_currencies($merchant_login, $language);
     403
     404            if(is_array($robokassa_available_currencies_result))
     405            {
     406                $this->set_robokassa_available_currencies($robokassa_available_currencies_result);
     407            }
     408        }
     409    }
     410
     411    /**
     412     * Load merchant rates
     413     *
     414     * @param $merchant_login
     415     * @param int $out_sum
     416     * @param string $language
     417     *
     418     * @return void
     419     */
     420    public function load_merchant_rates($merchant_login, $out_sum = 0, $language = 'ru')
     421    {
     422        if(is_array($this->get_robokassa_rates_merchant()) && count($this->get_robokassa_rates_merchant()) == 0)
     423        {
     424            $api = $this->load_robokassa_api();
     425
     426            $robokassa_rates_merchant_result = $api->xml_get_rates($merchant_login, $out_sum, '', $language);
     427
     428            if(is_array($robokassa_rates_merchant_result))
     429            {
     430                $this->set_robokassa_rates_merchant($robokassa_rates_merchant_result);
     431            }
     432        }
     433    }
     434
     435    /**
     436     * Get settings by method id for submethods
     437     *
     438     * @param string $method_id
     439     *
     440     * @return mixed
     441     */
     442    public function get_method_settings_by_method_id($method_id = 'robokassa')
     443    {
     444        return get_option('woocommerce_' . $method_id . '_settings');
     445    }
     446
     447    /**
     448     * Load currency rates by cbr
     449     *
     450     * @return mixed
     451     */
     452    public function load_currency_rates_by_cbr()
     453    {
     454        $transient_name = 'wc_robokassa_currency_rates_cbr';
     455        $current_rates = get_transient($transient_name);
     456
     457        if($current_rates)
     458        {
     459            $this->set_currency_rates_by_cbr($current_rates);
     460            return $current_rates;
     461        }
     462
     463        $url = 'https://www.cbr-xml-daily.ru/daily_json.js';
     464
     465        $result = wp_remote_get($url);
     466        $result_body = wp_remote_retrieve_body($result);
     467
     468        if($result_body !== '')
     469        {
     470            $rates = json_decode($result_body, true);
     471            set_transient($transient_name, $rates, 60 * 15);
     472            $this->set_currency_rates_by_cbr($rates);
     473
     474            return $rates;
     475        }
     476
     477        return false;
     478    }
     479
     480    /**
     481     * Get merchant rates from Robokassa
     482     *
     483     * @return array
     484     */
     485    public function get_robokassa_rates_merchant()
     486    {
     487        return $this->robokassa_rates_merchant;
     488    }
     489
     490    /**
     491     * Set merchant rates from Robokassa
     492     *
     493     * @param array $robokassa_rates_merchant
     494     */
     495    public function set_robokassa_rates_merchant($robokassa_rates_merchant)
     496    {
     497        $this->robokassa_rates_merchant = $robokassa_rates_merchant;
     498    }
     499
     500    /**
     501     * Get merchant currencies available from Robokassa
     502     *
     503     * @return array
     504     */
     505    public function get_robokassa_available_currencies()
     506    {
     507        return $this->robokassa_available_currencies;
     508    }
     509
     510    /**
     511     * Set merchant currencies available from Robokassa
     512     *
     513     * @param array $robokassa_available_currencies
     514     */
     515    public function set_robokassa_available_currencies($robokassa_available_currencies)
     516    {
     517        $this->robokassa_available_currencies = $robokassa_available_currencies;
     518    }
     519
     520    /**
     521     * @return array
     522     */
     523    public function get_currency_rates_by_cbr()
     524    {
     525        return $this->currency_rates_by_cbr;
     526    }
     527
     528    /**
     529     * @param array $currency_rates_by_cbr
     530     */
     531    public function set_currency_rates_by_cbr($currency_rates_by_cbr)
     532    {
     533        $this->currency_rates_by_cbr = $currency_rates_by_cbr;
     534    }
     535
     536    /**
     537     * Get Robokassa api
     538     *
     539     * @return Wc_Robokassa_Api|false
     540     */
     541    public function get_robokassa_api()
     542    {
     543        return $this->robokassa_api;
     544    }
     545
     546    /**
     547     * Set Robokassa api
     548     *
     549     * @param Wc_Robokassa_Api $robokassa_api
     550     */
     551    public function set_robokassa_api($robokassa_api)
     552    {
     553        $this->robokassa_api = $robokassa_api;
     554    }
     555
     556    /**
     557     * Load WooCommerce current currency
     558     *
     559     * @return string
     560     */
     561    public function load_currency()
     562    {
     563        $wc_currency = wc_robokassa_get_wc_currency();
     564
     565        /**
     566         * WooCommerce Currency Switcher
     567         */
     568        if(class_exists('WOOCS'))
     569        {
     570            global $WOOCS;
     571
     572            wc_robokassa_logger()->alert('load_currency WooCommerce Currency Switcher detect');
     573
     574            $wc_currency = strtoupper($WOOCS->storage->get_val('woocs_current_currency'));
     575        }
     576
     577        wc_robokassa_logger()->debug('load_currency $wc_version', $wc_currency);
     578
     579        $this->set_wc_currency($wc_currency);
     580
     581        return $wc_currency;
     582    }
     583
     584    /**
     585     * Load current WC version
     586     *
     587     * @return string
     588     */
     589    public function load_wc_version()
     590    {
     591        $wc_version = wc_robokassa_get_wc_version();
     592
     593        wc_robokassa_logger()->info('load_wc_version: $wc_version' . $wc_version);
     594
     595        $this->set_wc_version($wc_version);
     596       
     597        return $wc_version;
     598    }
     599
     600    /**
     601     * Add the gateway to WooCommerce
     602     *
     603     * @param $methods - all WooCommerce initialized gateways
     604     *
     605     * @return array - new WooCommerce initialized gateways
     606     */
     607    public function add_gateway_method($methods)
     608    {
     609        $this->load_wc_version();
     610        $this->load_currency();
     611
     612        include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-method.php';
     613
     614        $default_class_name = 'Wc_Robokassa_Method';
     615
     616        $robokassa_method_class_name = apply_filters('wc_robokassa_method_class_name_add', $default_class_name);
     617
     618        if(false === class_exists($robokassa_method_class_name))
     619        {
     620            $robokassa_method_class_name = $default_class_name;
     621        }
     622
     623        $methods[] = $robokassa_method_class_name;
     624
     625        return $methods;
     626    }
     627
     628    /**
     629     * Add the submethods gateway to WooCommerce
     630     *
     631     * @param $methods - all WooCommerce initialized gateways
     632     *
     633     * @return array - new WooCommerce initialized gateways
     634     */
     635    public function add_gateway_submethods($methods)
     636    {
     637        include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/class-wc-robokassa-sub-method.php';
    143638
    144639        /**
     
    174669        include_once WC_ROBOKASSA_PLUGIN_DIR . 'includes/submethods/class-wc-robokassa-terminals-terminals-elecsnet-method.php';
    175670
    176         /**
    177          * @since 3.0.0
    178          */
    179         do_action('wc_robokassa_after_includes');
    180     }
    181 
    182     /**
    183      * Get current currency
    184      *
    185      * @return string
    186      */
    187     public function get_wc_currency()
    188     {
    189         return $this->wc_currency;
    190     }
    191 
    192     /**
    193      * Set current currency
    194      *
    195      * @param $wc_currency
    196      */
    197     public function set_wc_currency($wc_currency)
    198     {
    199         $this->wc_currency = $wc_currency;
    200     }
    201 
    202     /**
    203      * Get current WooCommerce version installed
    204      *
    205      * @return mixed
    206      */
    207     public function get_wc_version()
    208     {
    209         return $this->wc_version;
    210     }
    211 
    212     /**
    213      * Set current WooCommerce version installed
    214      *
    215      * @param mixed $wc_version
    216      */
    217     public function set_wc_version($wc_version)
    218     {
    219         $this->wc_version = $wc_version;
    220     }
    221 
    222     /**
    223      * Get Tecodes
    224      *
    225      * @return Tecodes_Local|null
    226      */
    227     public function tecodes()
    228     {
    229         return $this->tecodes;
    230     }
    231 
    232     /**
    233      * Set Tecodes
    234      *
    235      * @param Tecodes_Local|null $tecodes
    236      */
    237     public function set_tecodes($tecodes)
    238     {
    239         $this->tecodes = $tecodes;
    240     }
    241 
    242     /**
    243      * Hooks (actions & filters)
    244      */
    245     private function init_hooks()
    246     {
    247         add_action('init', array($this, 'init'), 0);
    248         add_action('init', array($this, 'wc_robokassa_gateway_init'), 5);
    249 
    250         if(is_admin())
    251         {
    252             add_action('init', array($this, 'init_admin'), 0);
    253             add_action('admin_notices', array($this, 'wc_robokassa_admin_notices'), 10);
    254 
    255             add_filter('plugin_action_links_' . WC_ROBOKASSA_PLUGIN_NAME, array($this, 'links_left'), 10);
    256             add_filter('plugin_row_meta', array($this, 'links_right'), 10, 2);
    257 
    258             $this->page_explode();
    259         }
    260     }
    261 
    262     /**
    263      * Init plugin gateway
    264      *
    265      * @return mixed|void
    266      */
    267     public function wc_robokassa_gateway_init()
    268     {
    269         // hook
    270         do_action('wc_robokassa_gateway_init_before');
    271 
    272         if(class_exists('WC_Payment_Gateway') !== true)
    273         {
    274             wc_robokassa_logger()->emergency('WC_Payment_Gateway not found');
    275             return false;
    276         }
    277 
    278         add_filter('woocommerce_payment_gateways', array($this, 'add_gateway_method'), 10);
    279 
    280         $robokassa_settings = $this->get_method_settings_by_method_id('robokassa');
    281 
    282         if(isset($robokassa_settings['sub_methods']) && $robokassa_settings['sub_methods'] === 'yes')
    283         {
    284             add_filter('woocommerce_payment_gateways', array($this, 'add_gateway_submethods'), 10);
    285         }
    286 
    287         // hook
    288         do_action('wc_robokassa_gateway_init_after');
    289     }
    290 
    291     /**
    292      * Initialization
    293      */
    294     public function init()
    295     {
    296         if($this->load_logger() === false)
    297         {
    298             return false;
    299         }
    300 
    301         $this->load_wc_version();
    302         $this->load_currency();
    303         $this->load_tecodes();
    304 
    305         return true;
    306     }
    307 
    308     /**
    309      * Admin initialization
    310      */
    311     public function init_admin()
    312     {
    313         /**
    314          * Load URLs for settings
    315          */
    316         $this->load_urls();
    317     }
    318 
    319     /**
    320      * Load robokassa api
    321      *
    322      * @param $reload boolean
    323      *
    324      * @return Wc_Robokassa_Api
    325      */
    326     public function load_robokassa_api($reload = true)
    327     {
    328         if(true === $reload)
    329         {
    330             $robokassa_api = $this->get_robokassa_api();
    331 
    332             if(false !== $robokassa_api)
    333             {
    334                 return $robokassa_api;
    335             }
    336         }
    337 
    338         $default_class_name = 'Wc_Robokassa_Api';
    339 
    340         /**
    341          * Load API class name from external code
    342          */
    343         $robokassa_api_class_name = apply_filters('wc_robokassa_api_class_name_load', $default_class_name);
    344 
    345         /**
    346          * Fallback
    347          */
    348         if(class_exists($robokassa_api_class_name) !== true)
    349         {
    350             $robokassa_api_class_name = $default_class_name;
    351         }
    352 
    353         $robokassa_api = new $robokassa_api_class_name();
    354 
    355         $this->set_robokassa_api($robokassa_api);
    356 
    357         return $this->get_robokassa_api();
    358     }
    359 
    360     /**
    361      * Load Tecodes
    362      */
    363     public function load_tecodes()
    364     {
    365         $options =
    366         [
    367             'timeout' => 15,
    368             'verify_ssl' => false,
    369             'version' => 'tecodes/v1'
    370         ];
    371 
    372         $tecodes_local = new Wc_Robokassa_Tecodes('https://mofsy.ru/', $options);
    373 
    374         /**
    375          * Languages
    376          */
    377         $tecodes_local->status_messages = array
    378         (
    379             'status_1' => __('This activation code is active.', 'wc-robokassa'),
    380             'status_2' => __('Error: This activation code has expired.', 'wc-robokassa'),
    381             'status_3' => __('Activation code republished. Awaiting reactivation.', 'wc-robokassa'),
    382             'status_4' => __('Error: This activation code has been suspended.', 'wc-robokassa'),
    383             'code_not_found' => __('This activation code is not found.', 'wc-robokassa'),
    384             'localhost' => __('This activation code is active (localhost).', 'wc-robokassa'),
    385             'pending' => __('Error: This activation code is pending review.', 'wc-robokassa'),
    386             'download_access_expired' => __('Error: This version of the software was released after your download access expired. Please downgrade software or contact support for more information.', 'wc-robokassa'),
    387             'missing_activation_key' => __('Error: The activation code variable is empty.', 'wc-robokassa'),
    388             'could_not_obtain_local_code' => __('Error: I could not obtain a new local code.', 'wc-robokassa'),
    389             'maximum_delay_period_expired' => __('Error: The maximum local code delay period has expired.', 'wc-robokassa'),
    390             'local_code_tampering' => __('Error: The local key has been tampered with or is invalid.', 'wc-robokassa'),
    391             'local_code_invalid_for_location' => __('Error: The local code is invalid for this location.', 'wc-robokassa'),
    392             'missing_license_file' => __('Error: Please create the following file (and directories if they dont exist already): ', 'wc-robokassa'),
    393             'license_file_not_writable' => __('Error: Please make the following path writable: ', 'wc-robokassa'),
    394             'invalid_local_key_storage' => __('Error: I could not determine the local key storage on clear.', 'wc-robokassa'),
    395             'could_not_save_local_key' => __('Error: I could not save the local key.', 'wc-robokassa'),
    396             'code_string_mismatch' => __('Error: The local code is invalid for this activation code.', 'wc-robokassa'),
    397             'code_status_delete' => __('Error: This activation code has been deleted.', 'wc-robokassa'),
    398             'code_status_draft' => __('Error: This activation code has draft.', 'wc-robokassa'),
    399             'code_status_available' => __('Error: This activation code has available.', 'wc-robokassa'),
    400             'code_status_blocked' => __('Error: This activation code has been blocked.', 'wc-robokassa'),
    401         );
    402 
    403         $tecodes_local->set_local_code_storage(new Wc_Robokassa_Tecodes_Code_Storage());
    404         $tecodes_local->set_instance(new Wc_Robokassa_Tecodes_Instance());
    405 
    406         $tecodes_local->validate();
    407 
    408         $this->set_tecodes($tecodes_local);
    409     }
    410 
    411     /**
    412      * Load available currencies from Robokassa
    413      *
    414      * @param $merchant_login
    415      * @param string $language
    416      */
    417     public function load_robokassa_available_currencies($merchant_login, $language = 'ru')
    418     {
    419         if(is_array($this->get_robokassa_available_currencies()) && count($this->get_robokassa_available_currencies()) === 0)
    420         {
    421             $api = $this->load_robokassa_api();
    422 
    423             $robokassa_available_currencies_result = $api->xml_get_currencies($merchant_login, $language);
    424 
    425             if(is_array($robokassa_available_currencies_result))
    426             {
    427                 $this->set_robokassa_available_currencies($robokassa_available_currencies_result);
    428             }
    429         }
    430     }
    431 
    432     /**
    433      * Load merchant rates
    434      *
    435      * @param $merchant_login
    436      * @param int $out_sum
    437      * @param string $language
    438      */
    439     public function load_merchant_rates($merchant_login, $out_sum = 0, $language = 'ru')
    440     {
    441         if(is_array($this->get_robokassa_rates_merchant()) && count($this->get_robokassa_rates_merchant()) == 0)
    442         {
    443             $api = $this->load_robokassa_api();
    444 
    445             $robokassa_rates_merchant_result = $api->xml_get_rates($merchant_login, $out_sum, '', $language);
    446 
    447             if(is_array($robokassa_rates_merchant_result))
    448             {
    449                 $this->set_robokassa_rates_merchant($robokassa_rates_merchant_result);
    450             }
    451         }
    452     }
    453 
    454     /**
    455      * Get settings by method id for submethods
    456      *
    457      * @param string $method_id
    458      *
    459      * @return mixed
    460      */
    461     public function get_method_settings_by_method_id($method_id = 'robokassa')
    462     {
    463         return get_option('woocommerce_' . $method_id . '_settings');
    464     }
    465 
    466     /**
    467      * Load currency rates by cbr
    468      *
    469      * @return mixed
    470      */
    471     public function load_currency_rates_by_cbr()
    472     {
    473         $transient_name = 'wc_robokassa_currency_rates_cbr';
    474         $current_rates = get_transient($transient_name);
    475 
    476         if($current_rates)
    477         {
    478             $this->set_currency_rates_by_cbr($current_rates);
    479             return $current_rates;
    480         }
    481 
    482         $url = 'https://www.cbr-xml-daily.ru/daily_json.js';
    483 
    484         $result = wp_remote_get($url);
    485         $result_body = wp_remote_retrieve_body($result);
    486 
    487         if($result_body !== '')
    488         {
    489             $rates = json_decode($result_body, true);
    490             set_transient($transient_name, $rates, 60 * 15);
    491             $this->set_currency_rates_by_cbr($rates);
    492 
    493             return $rates;
    494         }
    495 
    496         return false;
    497     }
    498 
    499     /**
    500      * Get merchant rates from Robokassa
    501      *
    502      * @return array
    503      */
    504     public function get_robokassa_rates_merchant()
    505     {
    506         return $this->robokassa_rates_merchant;
    507     }
    508 
    509     /**
    510      * Set merchant rates from Robokassa
    511      *
    512      * @param array $robokassa_rates_merchant
    513      */
    514     public function set_robokassa_rates_merchant($robokassa_rates_merchant)
    515     {
    516         $this->robokassa_rates_merchant = $robokassa_rates_merchant;
    517     }
    518 
    519     /**
    520      * Get merchant currencies available from Robokassa
    521      *
    522      * @return array
    523      */
    524     public function get_robokassa_available_currencies()
    525     {
    526         return $this->robokassa_available_currencies;
    527     }
    528 
    529     /**
    530      * Set merchant currencies available from Robokassa
    531      *
    532      * @param array $robokassa_available_currencies
    533      */
    534     public function set_robokassa_available_currencies($robokassa_available_currencies)
    535     {
    536         $this->robokassa_available_currencies = $robokassa_available_currencies;
    537     }
    538 
    539     /**
    540      * @return array
    541      */
    542     public function get_currency_rates_by_cbr()
    543     {
    544         return $this->currency_rates_by_cbr;
    545     }
    546 
    547     /**
    548      * @param array $currency_rates_by_cbr
    549      */
    550     public function set_currency_rates_by_cbr($currency_rates_by_cbr)
    551     {
    552         $this->currency_rates_by_cbr = $currency_rates_by_cbr;
    553     }
    554 
    555     /**
    556      * Get Robokassa api
    557      *
    558      * @return Wc_Robokassa_Api
    559      */
    560     public function get_robokassa_api()
    561     {
    562         return $this->robokassa_api;
    563     }
    564 
    565     /**
    566      * Set Robokassa api
    567      *
    568      * @param Wc_Robokassa_Api $robokassa_api
    569      */
    570     public function set_robokassa_api($robokassa_api)
    571     {
    572         $this->robokassa_api = $robokassa_api;
    573     }
    574 
    575     /**
    576      * Load WooCommerce current currency
    577      *
    578      * @return string
    579      */
    580     public function load_currency()
    581     {
    582         $wc_currency = wc_robokassa_get_wc_currency();
    583 
    584         /**
    585          * WooCommerce Currency Switcher
    586          */
    587         if(class_exists('WOOCS'))
    588         {
    589             global $WOOCS;
    590 
    591             wc_robokassa_logger()->alert('load_currency WooCommerce Currency Switcher detect');
    592 
    593             $wc_currency = strtoupper($WOOCS->storage->get_val('woocs_current_currency'));
    594         }
    595 
    596         wc_robokassa_logger()->debug('load_currency $wc_version', $wc_currency);
    597 
    598         $this->set_wc_currency($wc_currency);
    599 
    600         return $wc_currency;
    601     }
    602 
    603     /**
    604      * Load current WC version
    605      *
    606      * @return string
    607      */
    608     public function load_wc_version()
    609     {
    610         $wc_version = wc_robokassa_get_wc_version();
    611 
    612         wc_robokassa_logger()->info('load_wc_version: $wc_version' . $wc_version);
    613 
    614         $this->set_wc_version($wc_version);
    615        
    616         return $wc_version;
    617     }
    618 
    619     /**
    620      * Add the gateway to WooCommerce
    621      *
    622      * @param $methods - all WooCommerce initialized gateways
    623      *
    624      * @return array - new WooCommerce initialized gateways
    625      */
    626     public function add_gateway_method($methods)
    627     {
    628         $default_class_name = 'Wc_Robokassa_Method';
    629 
    630         $robokassa_method_class_name = apply_filters('wc_robokassa_method_class_name_add', $default_class_name);
    631 
    632         if(!class_exists($robokassa_method_class_name))
    633         {
    634             $robokassa_method_class_name = $default_class_name;
    635         }
    636 
    637         $methods[] = $robokassa_method_class_name;
    638 
    639         return $methods;
    640     }
    641 
    642     /**
    643      * Add the submethods gateway to WooCommerce
    644      *
    645      * @param $methods - all WooCommerce initialized gateways
    646      *
    647      * @return array - new WooCommerce initialized gateways
    648      */
    649     public function add_gateway_submethods($methods)
    650     {
    651671        $methods[] = 'Wc_Robokassa_Bank_Alfabank_Method';
    652672        $methods[] = 'Wc_Robokassa_Bank_Bank_Avb_Method';
     
    815835
    816836    /**
    817      *  Add page explode actions
     837     * Add page explode actions
     838     *
     839     * @return void
    818840     */
    819841    public function page_explode()
  • wc-robokassa/trunk/includes/functions-wc-robokassa.php

    r2334486 r2507761  
    2121 *
    2222 * @since 3.0.2
     23 *
     24 * @return null|string
    2325 */
    2426function wc_robokassa_get_wc_version()
     
    7476}
    7577
    76 
    7778/**
    7879 * Load localisation files
  • wc-robokassa/trunk/languages/wc-robokassa-ru_RU.po

    r2334486 r2507761  
    22msgstr ""
    33"Project-Id-Version: Payment gateway - Robokassa for WooCommerce\n"
    4 "POT-Creation-Date: 2020-07-02 22:42+0300\n"
    5 "PO-Revision-Date: 2020-07-02 22:43+0300\n"
     4"POT-Creation-Date: 2021-04-02 01:20+0300\n"
     5"PO-Revision-Date: 2021-04-02 01:22+0300\n"
    66"Last-Translator: Mofsy <support@mofsy.ru>\n"
    77"Language-Team: Mofsy <support@mofsy.ru>\n"
     
    2323
    2424#: includes/class-wc-robokassa-method.php:187
    25 #: includes/class-wc-robokassa-method.php:1318
     25#: includes/class-wc-robokassa-method.php:1338
    2626#: includes/class-wc-robokassa-sub-method.php:50
    2727msgid "Robokassa"
     
    3232msgstr "Оплата через Робокассу."
    3333
    34 #: includes/class-wc-robokassa-method.php:967
    35 msgid "Activation"
    36 msgstr "Активация"
    37 
    38 #: includes/class-wc-robokassa-method.php:970
     34#: includes/class-wc-robokassa-method.php:968
     35msgid "Support activation"
     36msgstr "Активация поддержки"
     37
     38#: includes/class-wc-robokassa-method.php:971
    3939msgid "The code can be obtained from the plugin website:"
    4040msgstr "Код можно получить на сайте плагина:"
    4141
    42 #: includes/class-wc-robokassa-method.php:970
     42#: includes/class-wc-robokassa-method.php:971
    4343msgid ""
    4444"This section will disappear after enter a valid code before the expiration "
     
    4848"действия введенного кода или его аннулирования."
    4949
    50 #: includes/class-wc-robokassa-method.php:975
     50#: includes/class-wc-robokassa-method.php:976
    5151msgid "Input code"
    5252msgstr "Ввод кода"
    5353
    54 #: includes/class-wc-robokassa-method.php:978
     54#: includes/class-wc-robokassa-method.php:979
    5555msgid ""
    5656"If enter the correct code, the current environment will be activated. Enter "
     
    6060"только на реальной рабочей станции."
    6161
    62 #: includes/class-wc-robokassa-method.php:1028
     62#: includes/class-wc-robokassa-method.php:1019
    6363msgid "Activate"
    6464msgstr "Активация"
    6565
    66 #: includes/class-wc-robokassa-method.php:1050
     66#: includes/class-wc-robokassa-method.php:1051
    6767#: includes/class-wc-robokassa-sub-method.php:547
    6868msgid "Main settings"
    6969msgstr "Основные настройки"
    7070
    71 #: includes/class-wc-robokassa-method.php:1052
     71#: includes/class-wc-robokassa-method.php:1053
    7272msgid ""
    7373"Without these settings, the payment gateway will not work. Be sure to make "
     
    7777"настройки в этом блоке."
    7878
    79 #: includes/class-wc-robokassa-method.php:1057
    80 #: includes/class-wc-robokassa-sub-method.php:554
    81 msgid "Online / Offline"
    82 msgstr "Включено / Отключено"
    83 
    84 #: includes/class-wc-robokassa-method.php:1059
    85 msgid "Tick the checkbox if you need to activate the payment gateway."
    86 msgstr "Поставьте галочку, если вам нужно активировать платежный шлюз."
     79#: includes/class-wc-robokassa-method.php:1058
     80msgid "Main method"
     81msgstr "Основной метод"
    8782
    8883#: includes/class-wc-robokassa-method.php:1060
    89 msgid ""
    90 "On disconnection, the payment gateway will not be available for selection on "
    91 "the site. It is useful for payments through subsidiaries, or just in case of "
     84msgid "Tick the checkbox if you need to show the payment gateway."
     85msgstr "Поставьте галочку, если нужно активировать платежный шлюз."
     86
     87#: includes/class-wc-robokassa-method.php:1061
     88msgid ""
     89"On disabled, the payment gateway will not be available for selection on the "
     90"site. Feature useful for payments through subsidiaries, or just in case of "
    9291"temporary disconnection."
    9392msgstr ""
    9493"При отключении, платежный шлюз не будет доступен для выбора на сайте. "
    95 "Настройка полезна для платежей через дочерние методы, или просто в случае "
     94"Настройка полезна для платежей через дочерние методы или просто в случае "
    9695"временного отключения."
    9796
    98 #: includes/class-wc-robokassa-method.php:1066
     97#: includes/class-wc-robokassa-method.php:1067
     98#: includes/class-wc-robokassa-method.php:1242
     99msgid "Sub methods"
     100msgstr "Дочерние методы"
     101
     102#: includes/class-wc-robokassa-method.php:1069
     103msgid "Tick the checkbox to enable sub methods feature. Default is disabled."
     104msgstr ""
     105"Установите флажок, чтобы включить дочерние методы. По умолчанию - отключены."
     106
     107#: includes/class-wc-robokassa-method.php:1070
     108msgid ""
     109"Use of all mechanisms of child payment methods. The main method can be "
     110"turned off. The cart will show the child payment methods."
     111msgstr ""
     112"Использование всех механизмов дочерних методов оплаты. Основной метод можно "
     113"отключить. В корзине будут указаны дочерние способы оплаты."
     114
     115#: includes/class-wc-robokassa-method.php:1076
    99116msgid "Shop identifier"
    100117msgstr "Идентификатор магазина"
    101118
    102 #: includes/class-wc-robokassa-method.php:1068
     119#: includes/class-wc-robokassa-method.php:1078
    103120msgid "Unique identifier for shop from Robokassa."
    104121msgstr "Уникальный идентификатор магазина из личного кабинета Робокассы."
    105122
    106 #: includes/class-wc-robokassa-method.php:1074
    107 #: includes/class-wc-robokassa-method.php:1168
    108 msgid "Hash calculation algorithm"
    109 msgstr "Алгоритм вычисления хэша"
    110 
    111 #: includes/class-wc-robokassa-method.php:1075
    112 msgid ""
    113 "The algorithm must match the one specified in the personal account of "
    114 "Robokassa."
    115 msgstr ""
    116 "Алгоритм должен соответствовать тому, который указан в личном кабинете "
    117 "Робокассы."
     123#: includes/class-wc-robokassa-method.php:1084
     124msgid "Test mode"
     125msgstr "Тестовый режим"
     126
     127#: includes/class-wc-robokassa-method.php:1086
     128msgid "Tick the checkbox to enable test mode. Default is enabled."
     129msgstr ""
     130"Установите флажок, чтобы включить тестовый режим. По умолчанию включено."
     131
     132#: includes/class-wc-robokassa-method.php:1087
     133msgid ""
     134"When you activate the test mode, no funds will be debited. In this case, the "
     135"payment gateway will only be displayed when you log in with an administrator "
     136"account. This is done in order to protect you from false orders."
     137msgstr ""
     138"При активации тестового режима денежные средства списываться не будут. В "
     139"этом случае платежный шлюз будет отображаться только при входе в систему с "
     140"учетной записью администратора. Это делается для того, чтобы защитить вас от "
     141"ложных заказов."
    118142
    119143#: includes/class-wc-robokassa-method.php:1091
    120 #: includes/class-wc-robokassa-method.php:1185
    121 msgid "Password #1"
    122 msgstr "Пароль #1"
    123 
    124 #: includes/class-wc-robokassa-method.php:1093
    125 msgid ""
    126 "Shop pass #1 must match the one specified in the personal account of "
    127 "Robokassa."
    128 msgstr ""
    129 "Пароль #1 должен соответствовать тому, который указан в личном кабинете "
    130 "Робокассы."
    131 
    132 #: includes/class-wc-robokassa-method.php:1099
    133 #: includes/class-wc-robokassa-method.php:1193
    134 msgid "Password #2"
    135 msgstr "Пароль #2"
    136 
    137 #: includes/class-wc-robokassa-method.php:1101
    138 msgid ""
    139 "Shop pass #2 must match the one specified in the personal account of "
    140 "Robokassa."
    141 msgstr ""
    142 "Пароль #2 должен соответствовать тому, который указан в личном кабинете "
    143 "Робокассы."
    144 
    145 #: includes/class-wc-robokassa-method.php:1105
    146144msgid ""
    147145"Address to notify the site of the results of operations in the background. "
     
    153151"настройках. Способ уведомления: POST."
    154152
    155 #: includes/class-wc-robokassa-method.php:1109
     153#: includes/class-wc-robokassa-method.php:1095
    156154msgid "Result Url"
    157155msgstr "Result Url"
    158156
    159 #: includes/class-wc-robokassa-method.php:1116
     157#: includes/class-wc-robokassa-method.php:1102
    160158msgid ""
    161159"The address for the user to go to the site after successful payment. Copy "
     
    168166"Способ уведомления: POST. Вы можете указать другие адреса по вашему выбору."
    169167
    170 #: includes/class-wc-robokassa-method.php:1120
     168#: includes/class-wc-robokassa-method.php:1106
    171169msgid "Success Url"
    172170msgstr "Success Url"
    173171
    174 #: includes/class-wc-robokassa-method.php:1127
     172#: includes/class-wc-robokassa-method.php:1113
    175173msgid ""
    176174"The address for the user to go to the site, after payment with an error. "
     
    183181"Способ уведомления: POST. Вы можете указать другие адреса по вашему выбору."
    184182
    185 #: includes/class-wc-robokassa-method.php:1131
     183#: includes/class-wc-robokassa-method.php:1117
    186184msgid "Fail Url"
    187185msgstr "Fail Url"
    188186
    189 #: includes/class-wc-robokassa-method.php:1152
     187#: includes/class-wc-robokassa-method.php:1138
     188msgid "Parameters for real payments"
     189msgstr "Параметры для реальных платежей"
     190
     191#: includes/class-wc-robokassa-method.php:1140
     192msgid ""
     193"Passwords and hashing algorithms for real payments differ from those "
     194"specified for test payments."
     195msgstr ""
     196"Пароли и алгоритмы хэширования для реальных платежей отличаются от тех, что "
     197"указаны для тестовых платежей."
     198
     199#: includes/class-wc-robokassa-method.php:1145
     200#: includes/class-wc-robokassa-method.php:1197
     201msgid "Hash calculation algorithm"
     202msgstr "Алгоритм вычисления хэша"
     203
     204#: includes/class-wc-robokassa-method.php:1146
     205msgid ""
     206"The algorithm must match the one specified in the personal account of "
     207"Robokassa."
     208msgstr ""
     209"Алгоритм должен соответствовать тому, который указан в личном кабинете "
     210"Робокассы."
     211
     212#: includes/class-wc-robokassa-method.php:1162
     213#: includes/class-wc-robokassa-method.php:1214
     214msgid "Password #1"
     215msgstr "Пароль #1"
     216
     217#: includes/class-wc-robokassa-method.php:1164
     218msgid ""
     219"Shop pass #1 must match the one specified in the personal account of "
     220"Robokassa."
     221msgstr ""
     222"Пароль #1 должен соответствовать тому, который указан в личном кабинете "
     223"Робокассы."
     224
     225#: includes/class-wc-robokassa-method.php:1170
     226#: includes/class-wc-robokassa-method.php:1222
     227msgid "Password #2"
     228msgstr "Пароль #2"
     229
     230#: includes/class-wc-robokassa-method.php:1172
     231msgid ""
     232"Shop pass #2 must match the one specified in the personal account of "
     233"Robokassa."
     234msgstr ""
     235"Пароль #2 должен соответствовать тому, который указан в личном кабинете "
     236"Робокассы."
     237
     238#: includes/class-wc-robokassa-method.php:1190
    190239msgid "Parameters for test payments"
    191240msgstr "Параметры для тестовых платежей"
    192241
    193 #: includes/class-wc-robokassa-method.php:1154
     242#: includes/class-wc-robokassa-method.php:1192
    194243msgid ""
    195244"Passwords and hashing algorithms for test payments differ from those "
     
    199248"указаны для реальных платежей."
    200249
    201 #: includes/class-wc-robokassa-method.php:1159
    202 msgid "Test mode"
    203 msgstr "Тестовый режим"
    204 
    205 #: includes/class-wc-robokassa-method.php:1161
    206 #: includes/class-wc-robokassa-method.php:1203
    207 #: includes/class-wc-robokassa-method.php:1277
    208 msgid "Select the checkbox to enable this feature. Default is enabled."
    209 msgstr ""
    210 "Установите флажок, чтобы включить эту функцию. Значение по умолчанию "
    211 "включено."
    212 
    213 #: includes/class-wc-robokassa-method.php:1162
    214 msgid ""
    215 "When you activate the test mode, no funds will be debited. In this case, the "
    216 "payment gateway will only be displayed when you log in with an administrator "
    217 "account. This is done in order to protect you from false orders."
    218 msgstr ""
    219 "При активации тестового режима денежные средства списываться не будут. В "
    220 "этом случае платежный шлюз будет отображаться только при входе в систему с "
    221 "учетной записью администратора. Это делается для того, чтобы защитить вас от "
    222 "ложных заказов."
    223 
    224 #: includes/class-wc-robokassa-method.php:1169
     250#: includes/class-wc-robokassa-method.php:1198
    225251msgid ""
    226252"The algorithm must match the one specified in the personal account of "
     
    230256"Робокассы."
    231257
    232 #: includes/class-wc-robokassa-method.php:1187
     258#: includes/class-wc-robokassa-method.php:1216
    233259msgid ""
    234260"Shop pass #1 for testing payments. The pass must match the one specified in "
     
    238264"указан в личном кабинете Робокассы."
    239265
    240 #: includes/class-wc-robokassa-method.php:1195
     266#: includes/class-wc-robokassa-method.php:1224
    241267msgid ""
    242268"Shop pass #2 for testing payments. The pass must match the one specified in "
     
    246272"указан в личном кабинете Робокассы."
    247273
    248 #: includes/class-wc-robokassa-method.php:1201
    249 msgid "Test notification display on the test mode"
    250 msgstr "Отображение уведомлений о тестировании в тестовом режиме"
    251 
    252 #: includes/class-wc-robokassa-method.php:1204
    253 msgid ""
    254 "A notification about the activated test mode will be displayed when the "
    255 "payment."
    256 msgstr ""
    257 "При оплате будет выведено уведомление об активированном тестовом режиме."
    258 
    259 #: includes/class-wc-robokassa-method.php:1222
    260 msgid "Sub methods"
    261 msgstr "Дочерние методы"
    262 
    263 #: includes/class-wc-robokassa-method.php:1224
     274#: includes/class-wc-robokassa-method.php:1244
    264275msgid "General settings for the sub methods of payment."
    265276msgstr "Основные настройки для дочерних методов платежа."
    266277
    267 #: includes/class-wc-robokassa-method.php:1229
    268 msgid "Enable sub methods"
    269 msgstr "Включить дочерние методы"
    270 
    271 #: includes/class-wc-robokassa-method.php:1231
    272 #: includes/class-wc-robokassa-method.php:1240
    273278#: includes/class-wc-robokassa-method.php:1249
    274 #: includes/class-wc-robokassa-method.php:1308
    275 #: includes/class-wc-robokassa-method.php:1360
    276 #: includes/class-wc-robokassa-method.php:1469
    277 #: includes/class-wc-robokassa-method.php:1478
    278 #: includes/class-wc-robokassa-method.php:1487
    279 #: includes/class-wc-robokassa-method.php:1496
    280 #: includes/class-wc-robokassa-method.php:1505
    281 #: includes/class-wc-robokassa-method.php:1514
    282 #: includes/class-wc-robokassa-method.php:1564
    283 #: includes/class-wc-robokassa-method.php:1573
    284 #: includes/class-wc-robokassa-method.php:1651
    285 #: includes/class-wc-robokassa-method.php:1660
    286 #: includes/class-wc-robokassa-sub-method.php:584
    287 msgid "Select the checkbox to enable this feature. Default is disabled."
    288 msgstr ""
    289 "Установите флажок, чтобы включить эту функцию. Значение по умолчанию "
    290 "отключено."
    291 
    292 #: includes/class-wc-robokassa-method.php:1232
    293 msgid "Use of all mechanisms add a child of payment methods."
    294 msgstr "Использование всех механизмов добавления дочерних способов оплаты."
    295 
    296 #: includes/class-wc-robokassa-method.php:1238
    297279msgid "Check available via the API"
    298280msgstr "Проверка доступности через API"
    299281
    300 #: includes/class-wc-robokassa-method.php:1241
     282#: includes/class-wc-robokassa-method.php:1251
     283#: includes/class-wc-robokassa-method.php:1260
     284#: includes/class-wc-robokassa-method.php:1328
     285#: includes/class-wc-robokassa-method.php:1380
     286#: includes/class-wc-robokassa-method.php:1489
     287#: includes/class-wc-robokassa-method.php:1498
     288#: includes/class-wc-robokassa-method.php:1507
     289#: includes/class-wc-robokassa-method.php:1516
     290#: includes/class-wc-robokassa-method.php:1525
     291#: includes/class-wc-robokassa-method.php:1534
     292#: includes/class-wc-robokassa-method.php:1584
     293#: includes/class-wc-robokassa-method.php:1593
     294#: includes/class-wc-robokassa-method.php:1603
     295#: includes/class-wc-robokassa-method.php:1612
     296msgid "Tick the checkbox to enable this feature. Default is disabled."
     297msgstr ""
     298"Установите флажок, чтобы включить эту возможность. По умолчанию отключена."
     299
     300#: includes/class-wc-robokassa-method.php:1252
    301301msgid "Check whether child methods are currently available for payment."
    302302msgstr "Проверять, доступны ли в настоящее время для оплаты дочерние методы."
    303303
    304 #: includes/class-wc-robokassa-method.php:1247
     304#: includes/class-wc-robokassa-method.php:1258
    305305msgid "Show the total amount including the fee"
    306306msgstr "Показывать общую сумму включая комиссию"
    307307
    308 #: includes/class-wc-robokassa-method.php:1250
     308#: includes/class-wc-robokassa-method.php:1261
    309309msgid ""
    310310"If you enable this option, the exact amount payable, including fees, will be "
     
    314314"сборы, будет добавлена в заголовки способов оплаты."
    315315
    316 #: includes/class-wc-robokassa-method.php:1268
     316#: includes/class-wc-robokassa-method.php:1279
    317317#: includes/class-wc-robokassa-sub-method.php:575
    318318msgid "Interface"
    319319msgstr "Интерфейс"
    320320
    321 #: includes/class-wc-robokassa-method.php:1270
     321#: includes/class-wc-robokassa-method.php:1281
    322322#: includes/class-wc-robokassa-sub-method.php:577
    323323msgid "Customize the appearance. Can leave it at that."
    324324msgstr "Настройка внешнего вида. Можете оставить все как есть."
    325325
    326 #: includes/class-wc-robokassa-method.php:1275
     326#: includes/class-wc-robokassa-method.php:1286
    327327#: includes/class-wc-robokassa-sub-method.php:582
    328328msgid "Show icon?"
    329329msgstr "Показать иконку?"
    330330
    331 #: includes/class-wc-robokassa-method.php:1279
     331#: includes/class-wc-robokassa-method.php:1288
     332#: includes/class-wc-robokassa-method.php:1297
     333msgid "Tick the checkbox to enable this feature. Default is enabled."
     334msgstr ""
     335"Установите флажок, чтобы включить эту возможность. По умолчанию включена."
     336
     337#: includes/class-wc-robokassa-method.php:1290
    332338msgid "Next to the name of the payment method will display the logo Robokassa."
    333339msgstr "Рядом с названием способа оплаты будет отображаться логотип Робокассы."
    334340
    335 #: includes/class-wc-robokassa-method.php:1284
     341#: includes/class-wc-robokassa-method.php:1295
     342msgid "Test notification display on the test mode"
     343msgstr "Отображение уведомлений о тестировании в тестовом режиме"
     344
     345#: includes/class-wc-robokassa-method.php:1298
     346msgid ""
     347"A notification about the activated test mode will be displayed when the "
     348"payment."
     349msgstr ""
     350"При оплате будет выведено уведомление об активированном тестовом режиме."
     351
     352#: includes/class-wc-robokassa-method.php:1304
    336353msgid "Language interface"
    337354msgstr "Язык интерфейса"
    338355
    339 #: includes/class-wc-robokassa-method.php:1288
     356#: includes/class-wc-robokassa-method.php:1308
    340357msgid "Russian"
    341358msgstr "Русский"
    342359
    343 #: includes/class-wc-robokassa-method.php:1289
     360#: includes/class-wc-robokassa-method.php:1309
    344361msgid "English"
    345362msgstr "Английский"
    346363
    347 #: includes/class-wc-robokassa-method.php:1291
     364#: includes/class-wc-robokassa-method.php:1311
    348365msgid "What language interface displayed for the customer on Robokassa?"
    349366msgstr "Какой язык показывать клиентам на стороне сервиса Робокасса?"
    350367
    351 #: includes/class-wc-robokassa-method.php:1297
     368#: includes/class-wc-robokassa-method.php:1317
    352369msgid "Language based on the locale?"
    353370msgstr "Язык интерфейса на основе локали?"
    354371
    355 #: includes/class-wc-robokassa-method.php:1299
     372#: includes/class-wc-robokassa-method.php:1319
    356373msgid "Enable user language automatic detection?"
    357374msgstr "Включить автоматическое определение языка?"
    358375
    359 #: includes/class-wc-robokassa-method.php:1300
     376#: includes/class-wc-robokassa-method.php:1320
    360377msgid ""
    361378"Automatic detection of the users language from the WordPress environment."
    362379msgstr "Автоматическое определение языка пользователей из среды WordPress."
    363380
    364 #: includes/class-wc-robokassa-method.php:1306
     381#: includes/class-wc-robokassa-method.php:1326
    365382msgid "Skip the received order page?"
    366383msgstr "Пропустить страницу полученного заказа?"
    367384
    368 #: includes/class-wc-robokassa-method.php:1309
     385#: includes/class-wc-robokassa-method.php:1329
    369386msgid "This setting is used to reduce actions when users switch to payment."
    370387msgstr ""
     
    372389"пользователей на оплату."
    373390
    374 #: includes/class-wc-robokassa-method.php:1315
     391#: includes/class-wc-robokassa-method.php:1335
    375392#: includes/class-wc-robokassa-sub-method.php:590
    376393msgid "Title"
    377394msgstr "Название"
    378395
    379 #: includes/class-wc-robokassa-method.php:1317
     396#: includes/class-wc-robokassa-method.php:1337
    380397#: includes/class-wc-robokassa-sub-method.php:592
    381398msgid "This is the name that the user sees during the payment."
    382399msgstr "Заголовок, который видит пользователь в процессе оформления заказа."
    383400
    384 #: includes/class-wc-robokassa-method.php:1323
     401#: includes/class-wc-robokassa-method.php:1343
    385402#: includes/class-wc-robokassa-sub-method.php:598
    386403msgid "Order button text"
    387404msgstr "Название кнопки оплаты"
    388405
    389 #: includes/class-wc-robokassa-method.php:1325
     406#: includes/class-wc-robokassa-method.php:1345
    390407#: includes/class-wc-robokassa-sub-method.php:600
    391408msgid "This is the button text that the user sees during the payment."
     
    394411"заказа."
    395412
    396 #: includes/class-wc-robokassa-method.php:1326
     413#: includes/class-wc-robokassa-method.php:1346
    397414#: includes/class-wc-robokassa-sub-method.php:601
    398415msgid "Goto pay"
    399416msgstr "Перейти к оплате"
    400417
    401 #: includes/class-wc-robokassa-method.php:1331
     418#: includes/class-wc-robokassa-method.php:1351
    402419#: includes/class-wc-robokassa-sub-method.php:606
    403420msgid "Description"
    404421msgstr "Описание"
    405422
    406 #: includes/class-wc-robokassa-method.php:1333
     423#: includes/class-wc-robokassa-method.php:1353
    407424#: includes/class-wc-robokassa-sub-method.php:608
    408425msgid ""
     
    411428msgstr "Описанием метода оплаты которое клиент будет видеть на вашем сайте."
    412429
    413 #: includes/class-wc-robokassa-method.php:1334
     430#: includes/class-wc-robokassa-method.php:1354
    414431#: includes/class-wc-robokassa-sub-method.php:609
    415432msgid "Payment via Robokassa."
    416433msgstr "Оплата через Робокассу."
    417434
    418 #: includes/class-wc-robokassa-method.php:1351
     435#: includes/class-wc-robokassa-method.php:1371
    419436msgid "Cart content sending (54fz)"
    420437msgstr "Отправка данных корзины (54 федеральный закон)"
    421438
    422 #: includes/class-wc-robokassa-method.php:1353
     439#: includes/class-wc-robokassa-method.php:1373
    423440msgid ""
    424441"These settings are required only for legal entities in the absence of its "
     
    428445"кассового аппарата."
    429446
    430 #: includes/class-wc-robokassa-method.php:1358
     447#: includes/class-wc-robokassa-method.php:1378
    431448msgid "The transfer of goods"
    432449msgstr "Передача товаров"
    433450
    434 #: includes/class-wc-robokassa-method.php:1361
     451#: includes/class-wc-robokassa-method.php:1381
    435452msgid ""
    436453"When you select the option, a check will be generated and sent to the tax "
     
    444461"Федерации. Возможны расхождения в сумме НДС с суммой, рассчитанной магазином."
    445462
    446 #: includes/class-wc-robokassa-method.php:1367
     463#: includes/class-wc-robokassa-method.php:1387
    447464msgid "Taxation system"
    448465msgstr "Система налогообложения"
    449466
    450 #: includes/class-wc-robokassa-method.php:1372
     467#: includes/class-wc-robokassa-method.php:1392
    451468msgid "General"
    452469msgstr "Общая"
    453470
    454 #: includes/class-wc-robokassa-method.php:1373
     471#: includes/class-wc-robokassa-method.php:1393
    455472msgid "Simplified, income"
    456473msgstr "Упрощенная, доход"
    457474
    458 #: includes/class-wc-robokassa-method.php:1374
     475#: includes/class-wc-robokassa-method.php:1394
    459476msgid "Simplified, income minus consumption"
    460477msgstr "Упрощенная, доход минус расход"
    461478
    462 #: includes/class-wc-robokassa-method.php:1375
     479#: includes/class-wc-robokassa-method.php:1395
    463480msgid "Single tax on imputed income"
    464481msgstr "Единый налог на вмененный доход"
    465482
    466 #: includes/class-wc-robokassa-method.php:1376
     483#: includes/class-wc-robokassa-method.php:1396
    467484msgid "Single agricultural tax"
    468485msgstr "Единый сельскохозяйственный налог"
    469486
    470 #: includes/class-wc-robokassa-method.php:1377
     487#: includes/class-wc-robokassa-method.php:1397
    471488msgid "Patent system of taxation"
    472489msgstr "Патентная система налогообложения"
    473490
    474 #: includes/class-wc-robokassa-method.php:1383
     491#: includes/class-wc-robokassa-method.php:1403
    475492msgid "Default VAT rate"
    476493msgstr "НДС по умолчанию"
    477494
    478 #: includes/class-wc-robokassa-method.php:1388
     495#: includes/class-wc-robokassa-method.php:1408
    479496msgid "Without the vat"
    480497msgstr "Без НДС"
    481498
    482 #: includes/class-wc-robokassa-method.php:1389
     499#: includes/class-wc-robokassa-method.php:1409
    483500msgid "VAT 0%"
    484501msgstr "НДС 0%"
    485502
    486 #: includes/class-wc-robokassa-method.php:1390
     503#: includes/class-wc-robokassa-method.php:1410
    487504msgid "VAT 10%"
    488505msgstr "НДС 10%"
    489506
    490 #: includes/class-wc-robokassa-method.php:1391
     507#: includes/class-wc-robokassa-method.php:1411
    491508msgid "VAT 20%"
    492509msgstr "НДС 20%"
    493510
    494 #: includes/class-wc-robokassa-method.php:1392
     511#: includes/class-wc-robokassa-method.php:1412
    495512msgid "VAT receipt settlement rate 10/110"
    496513msgstr "НДС рассчитанный по ставке 10/110"
    497514
    498 #: includes/class-wc-robokassa-method.php:1393
     515#: includes/class-wc-robokassa-method.php:1413
    499516msgid "VAT receipt settlement rate 20/120"
    500517msgstr "НДС рассчитанный по ставке 20/120"
    501518
    502 #: includes/class-wc-robokassa-method.php:1399
     519#: includes/class-wc-robokassa-method.php:1419
    503520msgid "Indication of the calculation method"
    504521msgstr "Указание метода расчета"
    505522
    506 #: includes/class-wc-robokassa-method.php:1400
    507 #: includes/class-wc-robokassa-method.php:1419
     523#: includes/class-wc-robokassa-method.php:1420
     524#: includes/class-wc-robokassa-method.php:1439
    508525msgid ""
    509526"The parameter is optional. If this parameter is not configured, the check "
     
    513530"будет указано значение параметра по умолчанию из личного кабинета."
    514531
    515 #: includes/class-wc-robokassa-method.php:1405
    516 #: includes/class-wc-robokassa-method.php:1424
     532#: includes/class-wc-robokassa-method.php:1425
     533#: includes/class-wc-robokassa-method.php:1444
    517534msgid "Default in Robokassa"
    518535msgstr "По умолчанию в Робокассе"
    519536
    520 #: includes/class-wc-robokassa-method.php:1406
     537#: includes/class-wc-robokassa-method.php:1426
    521538msgid "Prepayment 100%"
    522539msgstr "Предоплата 100%"
    523540
    524 #: includes/class-wc-robokassa-method.php:1407
     541#: includes/class-wc-robokassa-method.php:1427
    525542msgid "Partial prepayment"
    526543msgstr "Частичная предоплата"
    527544
    528 #: includes/class-wc-robokassa-method.php:1408
     545#: includes/class-wc-robokassa-method.php:1428
    529546msgid "Advance"
    530547msgstr "Аванс"
    531548
    532 #: includes/class-wc-robokassa-method.php:1409
     549#: includes/class-wc-robokassa-method.php:1429
    533550msgid "Full settlement"
    534551msgstr "Полная предоплата"
    535552
    536 #: includes/class-wc-robokassa-method.php:1410
     553#: includes/class-wc-robokassa-method.php:1430
    537554msgid "Partial settlement and credit"
    538555msgstr "Частичный расчет и кредит"
    539556
    540 #: includes/class-wc-robokassa-method.php:1411
     557#: includes/class-wc-robokassa-method.php:1431
    541558msgid "Transfer on credit"
    542559msgstr "Передача в кредит"
    543560
    544 #: includes/class-wc-robokassa-method.php:1412
     561#: includes/class-wc-robokassa-method.php:1432
    545562msgid "Credit payment"
    546563msgstr "Платеж по кредиту"
    547564
    548 #: includes/class-wc-robokassa-method.php:1418
     565#: includes/class-wc-robokassa-method.php:1438
    549566msgid "Sign of the subject of calculation"
    550567msgstr "Признак предмета расчета"
    551568
    552 #: includes/class-wc-robokassa-method.php:1425
     569#: includes/class-wc-robokassa-method.php:1445
    553570msgid "Product"
    554571msgstr "Товар"
    555572
    556 #: includes/class-wc-robokassa-method.php:1426
     573#: includes/class-wc-robokassa-method.php:1446
    557574msgid "Excisable goods"
    558575msgstr "Подакцизные товары"
    559576
    560 #: includes/class-wc-robokassa-method.php:1427
     577#: includes/class-wc-robokassa-method.php:1447
    561578msgid "Work"
    562579msgstr "Работа"
    563580
    564 #: includes/class-wc-robokassa-method.php:1428
     581#: includes/class-wc-robokassa-method.php:1448
    565582msgid "Service"
    566583msgstr "Услуга"
    567584
    568 #: includes/class-wc-robokassa-method.php:1429
     585#: includes/class-wc-robokassa-method.php:1449
    569586msgid "Gambling rate"
    570587msgstr "Ставка на азартные игры"
    571588
    572 #: includes/class-wc-robokassa-method.php:1430
     589#: includes/class-wc-robokassa-method.php:1450
    573590msgid "Gambling win"
    574591msgstr "Выигрыш в азартных играх"
    575592
    576 #: includes/class-wc-robokassa-method.php:1431
     593#: includes/class-wc-robokassa-method.php:1451
    577594msgid "Lottery ticket"
    578595msgstr "Лотерейный билет"
    579596
    580 #: includes/class-wc-robokassa-method.php:1432
     597#: includes/class-wc-robokassa-method.php:1452
    581598msgid "Winning the lottery"
    582599msgstr "Выигрыш в лотерею"
    583600
    584 #: includes/class-wc-robokassa-method.php:1433
     601#: includes/class-wc-robokassa-method.php:1453
    585602msgid "Results of intellectual activity"
    586603msgstr "Результаты интеллектуальной деятельности"
    587604
    588 #: includes/class-wc-robokassa-method.php:1434
     605#: includes/class-wc-robokassa-method.php:1454
    589606msgid "Payment"
    590607msgstr "Платеж"
    591608
    592 #: includes/class-wc-robokassa-method.php:1435
     609#: includes/class-wc-robokassa-method.php:1455
    593610msgid "Agency fee"
    594611msgstr "Агентское вознаграждение"
    595612
    596 #: includes/class-wc-robokassa-method.php:1436
     613#: includes/class-wc-robokassa-method.php:1456
    597614msgid "Compound subject of calculation"
    598615msgstr "Соединение при подсчете"
    599616
    600 #: includes/class-wc-robokassa-method.php:1437
     617#: includes/class-wc-robokassa-method.php:1457
    601618msgid "Another object of the calculation"
    602619msgstr "Иной предмет расчета"
    603620
    604 #: includes/class-wc-robokassa-method.php:1438
     621#: includes/class-wc-robokassa-method.php:1458
    605622msgid "Property right"
    606623msgstr "Имущественное право собственности"
    607624
    608 #: includes/class-wc-robokassa-method.php:1439
     625#: includes/class-wc-robokassa-method.php:1459
    609626msgid "Extraordinary income"
    610627msgstr "Внереализационный доход"
    611628
    612 #: includes/class-wc-robokassa-method.php:1440
     629#: includes/class-wc-robokassa-method.php:1460
    613630msgid "Insurance premium"
    614631msgstr "Страховая премия"
    615632
    616 #: includes/class-wc-robokassa-method.php:1441
     633#: includes/class-wc-robokassa-method.php:1461
    617634msgid "Sales tax"
    618635msgstr "Налог с продаж"
    619636
    620 #: includes/class-wc-robokassa-method.php:1442
     637#: includes/class-wc-robokassa-method.php:1462
    621638msgid "Resort fee"
    622639msgstr "Курортный сбор"
    623640
    624 #: includes/class-wc-robokassa-method.php:1460
     641#: includes/class-wc-robokassa-method.php:1480
    625642msgid "Orders notes"
    626643msgstr "Заметки для заказов"
    627644
    628 #: includes/class-wc-robokassa-method.php:1462
     645#: includes/class-wc-robokassa-method.php:1482
    629646msgid "Settings for adding notes to orders. All are off by default."
    630647msgstr ""
    631648"Настройки для добавления примечаний к заказам. По умолчанию все выключены."
    632649
    633 #: includes/class-wc-robokassa-method.php:1467
     650#: includes/class-wc-robokassa-method.php:1487
    634651msgid "Errors when verifying the signature of requests"
    635652msgstr "Ошибки при проверке подписи запросов"
    636653
    637 #: includes/class-wc-robokassa-method.php:1470
     654#: includes/class-wc-robokassa-method.php:1490
    638655msgid ""
    639656"Recording a errors when verifying the signature of requests from Robokassa."
    640657msgstr "Запись ошибок при проверке подписи запросов от Робокассы."
    641658
    642 #: includes/class-wc-robokassa-method.php:1476
     659#: includes/class-wc-robokassa-method.php:1496
    643660msgid "Process payments"
    644661msgstr "Процесс платежей"
    645662
    646 #: includes/class-wc-robokassa-method.php:1479
     663#: includes/class-wc-robokassa-method.php:1499
    647664msgid ""
    648665"Recording information about the beginning of the payment process by the user."
    649666msgstr "Запись информации о начале процесса оплаты пользователем."
    650667
    651 #: includes/class-wc-robokassa-method.php:1485
     668#: includes/class-wc-robokassa-method.php:1505
    652669msgid "Successful payments"
    653670msgstr "Успешные оплаты"
    654671
    655 #: includes/class-wc-robokassa-method.php:1488
     672#: includes/class-wc-robokassa-method.php:1508
    656673msgid "Recording information about received requests with successful payment."
    657674msgstr "Запись информации о полученных запросах с успешной оплатой."
    658675
    659 #: includes/class-wc-robokassa-method.php:1494
     676#: includes/class-wc-robokassa-method.php:1514
    660677msgid "Background requests"
    661678msgstr "Фоновые запросы"
    662679
    663 #: includes/class-wc-robokassa-method.php:1497
     680#: includes/class-wc-robokassa-method.php:1517
    664681msgid ""
    665682"Recording information about the background queries about transactions from "
     
    667684msgstr "Запись информации о фоновых запросах по транзакциям от Робокассы."
    668685
    669 #: includes/class-wc-robokassa-method.php:1503
     686#: includes/class-wc-robokassa-method.php:1523
    670687msgid "Failed requests"
    671688msgstr "Неудачные запросы"
    672689
    673 #: includes/class-wc-robokassa-method.php:1506
     690#: includes/class-wc-robokassa-method.php:1526
    674691msgid ""
    675692"Recording information about the clients return to the canceled payment page."
    676693msgstr "Запись информации о возврате клиентов на страницу отмененного платежа."
    677694
    678 #: includes/class-wc-robokassa-method.php:1512
     695#: includes/class-wc-robokassa-method.php:1532
    679696msgid "Success requests"
    680697msgstr "Успешные запросы"
    681698
    682 #: includes/class-wc-robokassa-method.php:1515
     699#: includes/class-wc-robokassa-method.php:1535
    683700msgid ""
    684701"Recording information about the clients return to the success payment page."
    685702msgstr "Запись информации о возврате клиентов на страницу успешного платежа."
    686703
    687 #: includes/class-wc-robokassa-method.php:1533
     704#: includes/class-wc-robokassa-method.php:1553
    688705msgid "Technical details"
    689706msgstr "Технические детали"
    690707
    691 #: includes/class-wc-robokassa-method.php:1535
     708#: includes/class-wc-robokassa-method.php:1555
    692709msgid ""
    693710"Setting technical parameters. Used by technical specialists. Can leave it at "
     
    697714"Можете оставить все как есть."
    698715
    699 #: includes/class-wc-robokassa-method.php:1542
     716#: includes/class-wc-robokassa-method.php:1562
    700717msgid "Logging"
    701718msgstr "Ведение журнала"
    702719
    703 #: includes/class-wc-robokassa-method.php:1544
     720#: includes/class-wc-robokassa-method.php:1564
    704721msgid ""
    705722"You can enable gateway logging, specify the level of error that you want to "
     
    711728"удаляются. По умолчанию частота ошибок не должна быть меньше, чем ошибка."
    712729
    713 #: includes/class-wc-robokassa-method.php:1544
     730#: includes/class-wc-robokassa-method.php:1564
    714731msgid "Current file: "
    715732msgstr "Текущий файл: "
    716733
    717 #: includes/class-wc-robokassa-method.php:1548
     734#: includes/class-wc-robokassa-method.php:1568
    718735msgid "Off"
    719736msgstr "Отключить"
    720737
    721 #: includes/class-wc-robokassa-method.php:1562
    722 msgid "Cart clearing"
    723 msgstr "Очистка корзины"
    724 
    725 #: includes/class-wc-robokassa-method.php:1565
    726 msgid ""
    727 "Clean the customers cart if payment is successful? If so, the shopping cart "
    728 "will be cleaned. If not, the goods already purchased will most likely remain "
    729 "in the shopping cart."
    730 msgstr ""
    731 "Очистить корзину клиентов, если оплата прошла успешно? Если да, корзина "
    732 "будет очищена. Если нет, то уже приобретенные товары скорее всего останутся "
    733 "в корзине."
    734 
    735 #: includes/class-wc-robokassa-method.php:1571
    736 msgid "Mark order as cancelled?"
    737 msgstr "Отметить заказ как отмененный?"
    738 
    739 #: includes/class-wc-robokassa-method.php:1574
    740 msgid ""
    741 "Change the status of the order to canceled when the user cancels the "
    742 "payment. The status changes when the user returns to the cancelled payment "
    743 "page."
    744 msgstr ""
    745 "Измените статус заказа на отмененный, когда пользователь отменяет платеж. "
    746 "Статус меняется при возврате пользователя на страницу отмененного платежа."
    747 
    748 #: includes/class-wc-robokassa-method.php:1605
    749 #, php-format
    750 msgid "Any &quot;%1$s&quot; method"
    751 msgstr ""
    752 
    753 #: includes/class-wc-robokassa-method.php:1621
    754 #, php-format
    755 msgid "%1$s (#%2$s)"
    756 msgstr ""
    757 
    758 #: includes/class-wc-robokassa-method.php:1624
    759 #, php-format
    760 msgid "%1$s &ndash; %2$s"
    761 msgstr ""
    762 
    763 #: includes/class-wc-robokassa-method.php:1624
    764 msgid "Other locations"
    765 msgstr "Другие пункты"
    766 
    767 #: includes/class-wc-robokassa-method.php:1633
    768 msgid "Enable for shipping methods"
    769 msgstr "Включить для способов доставки"
    770 
    771 #: includes/class-wc-robokassa-method.php:1638
    772 msgid ""
    773 "If only available for certain methods, set it up here. Leave blank to enable "
    774 "for all methods."
    775 msgstr ""
    776 "Если платежный метод доступен только для определенных методов доставки, "
    777 "установите их здесь. Оставьте пустым, чтобы включить все методы."
    778 
    779 #: includes/class-wc-robokassa-method.php:1642
    780 msgid "Select shipping methods"
    781 msgstr "Выберите способы доставки"
    782 
    783 #: includes/class-wc-robokassa-method.php:1649
     738#: includes/class-wc-robokassa-method.php:1582
    784739msgid "Payment of the commission for the buyer"
    785740msgstr "Оплата комиссии за покупателя"
    786741
    787 #: includes/class-wc-robokassa-method.php:1652
     742#: includes/class-wc-robokassa-method.php:1585
    788743msgid ""
    789744"When you enable this feature, the store will pay all customer Commission "
     
    795750"физических лиц."
    796751
    797 #: includes/class-wc-robokassa-method.php:1658
     752#: includes/class-wc-robokassa-method.php:1591
    798753msgid ""
    799754"Preliminary conversion of order currency into roubles for commission "
     
    801756msgstr "Предварительная конвертация валюты заказа в рубли для расчета комиссии"
    802757
    803 #: includes/class-wc-robokassa-method.php:1661
     758#: includes/class-wc-robokassa-method.php:1594
    804759msgid ""
    805760"If the calculation of the customer commission is included and the order is "
     
    812767"Это необходимо из-за плохого API Робокассы."
    813768
    814 #: includes/class-wc-robokassa-method.php:1780
     769#: includes/class-wc-robokassa-method.php:1601
     770msgid "Cart clearing"
     771msgstr "Очистка корзины"
     772
     773#: includes/class-wc-robokassa-method.php:1604
     774msgid ""
     775"Clean the customers cart if payment is successful? If so, the shopping cart "
     776"will be cleaned. If not, the goods already purchased will most likely remain "
     777"in the shopping cart."
     778msgstr ""
     779"Очистить корзину клиентов, если оплата прошла успешно? Если да, корзина "
     780"будет очищена. Если нет, то уже приобретенные товары скорее всего останутся "
     781"в корзине."
     782
     783#: includes/class-wc-robokassa-method.php:1610
     784msgid "Mark order as cancelled?"
     785msgstr "Отметить заказ как отмененный?"
     786
     787#: includes/class-wc-robokassa-method.php:1613
     788msgid ""
     789"Change the status of the order to canceled when the user cancels the "
     790"payment. The status changes when the user returns to the cancelled payment "
     791"page."
     792msgstr ""
     793"Измените статус заказа на отмененный, когда пользователь отменяет платеж. "
     794"Статус меняется при возврате пользователя на страницу отмененного платежа."
     795
     796#: includes/class-wc-robokassa-method.php:1644
     797#, php-format
     798msgid "Any &quot;%1$s&quot; method"
     799msgstr ""
     800
     801#: includes/class-wc-robokassa-method.php:1660
     802#, php-format
     803msgid "%1$s (#%2$s)"
     804msgstr ""
     805
     806#: includes/class-wc-robokassa-method.php:1663
     807#, php-format
     808msgid "%1$s &ndash; %2$s"
     809msgstr ""
     810
     811#: includes/class-wc-robokassa-method.php:1663
     812msgid "Other locations"
     813msgstr "Другие пункты"
     814
     815#: includes/class-wc-robokassa-method.php:1672
     816msgid "Enable for shipping methods"
     817msgstr "Включить для способов доставки"
     818
     819#: includes/class-wc-robokassa-method.php:1677
     820msgid ""
     821"If only available for certain methods, set it up here. Leave blank to enable "
     822"for all methods."
     823msgstr ""
     824"Если платежный метод доступен только для определенных методов доставки, "
     825"установите их здесь. Оставьте пустым, чтобы включить все методы."
     826
     827#: includes/class-wc-robokassa-method.php:1681
     828msgid "Select shipping methods"
     829msgstr "Выберите способы доставки"
     830
     831#: includes/class-wc-robokassa-method.php:1800
    815832msgid "Return to payment gateways"
    816833msgstr "Вернутся к платежным шлюзам"
    817834
    818 #: includes/class-wc-robokassa-method.php:1837
     835#: includes/class-wc-robokassa-method.php:1857
    819836msgid ""
    820837"TEST mode is active. Payment will not be charged. After checking, disable "
     
    824841"режим."
    825842
    826 #: includes/class-wc-robokassa-method.php:1860
     843#: includes/class-wc-robokassa-method.php:1880
    827844msgid ""
    828845"The customer clicked the payment button, but an error occurred while getting "
     
    831848"Клиент нажал кнопку оплаты, но при получении объекта заказа произошла ошибка."
    832849
    833 #: includes/class-wc-robokassa-method.php:1881
     850#: includes/class-wc-robokassa-method.php:1901
    834851msgid ""
    835852"The customer clicked the payment button and was sent to the side of the "
     
    837854msgstr "Клиент нажал на кнопку оплаты и был отправлен в сторону Робокассы."
    838855
    839 #: includes/class-wc-robokassa-method.php:1895
     856#: includes/class-wc-robokassa-method.php:1915
    840857msgid ""
    841858"The customer clicked the payment button and was sent to the page of the "
     
    844861"Клиент нажал кнопку оплаты и был отправлен на страницу полученного заказа."
    845862
    846 #: includes/class-wc-robokassa-method.php:1996
     863#: includes/class-wc-robokassa-method.php:2016
    847864#: includes/class-wc-robokassa-sub-method.php:250
    848865msgid "Order number: "
    849866msgstr "Номер заказа: "
    850867
    851 #: includes/class-wc-robokassa-method.php:2115
     868#: includes/class-wc-robokassa-method.php:2135
    852869#: includes/class-wc-robokassa-sub-method.php:396
    853870msgid "Pay"
    854871msgstr "Оплатить"
    855872
    856 #: includes/class-wc-robokassa-method.php:2116
     873#: includes/class-wc-robokassa-method.php:2136
    857874#: includes/class-wc-robokassa-sub-method.php:397
    858875msgid "Cancel & return to cart"
    859876msgstr "Отменить и вернутся в корзину"
    860877
    861 #: includes/class-wc-robokassa-method.php:2210
     878#: includes/class-wc-robokassa-method.php:2230
    862879msgid "Delivery"
    863880msgstr "Доставка"
    864881
    865 #: includes/class-wc-robokassa-method.php:2434
     882#: includes/class-wc-robokassa-method.php:2454
    866883msgid "Order not found."
    867884msgstr "Заказ не найден."
    868885
    869 #: includes/class-wc-robokassa-method.php:2450
     886#: includes/class-wc-robokassa-method.php:2470
    870887#, php-format
    871888msgid "Robokassa request. Sum: %1$s. Signature: %2$s. Remote signature: %3$s"
     
    873890"Запрос от Робокассы. Сумма: %1$s. Подпись: %2$s. Удаленная подпись: %3$s"
    874891
    875 #: includes/class-wc-robokassa-method.php:2469
     892#: includes/class-wc-robokassa-method.php:2489
    876893#, php-format
    877894msgid "Validate hash error. Local: %1$s Remote: %2$s"
    878895msgstr "Ошибка валидации хеша. Локальный: %1$s Удаленный: %2$s"
    879896
    880 #: includes/class-wc-robokassa-method.php:2484
     897#: includes/class-wc-robokassa-method.php:2504
    881898msgid "Order successfully paid (TEST MODE)."
    882899msgstr "Счет успешно оплачен (ТЕСТОВЫЙ ПЛАТЕЖ)"
    883900
    884 #: includes/class-wc-robokassa-method.php:2493
     901#: includes/class-wc-robokassa-method.php:2513
    885902msgid "Order successfully paid."
    886903msgstr "Счет успешно оплачен."
    887904
    888 #: includes/class-wc-robokassa-method.php:2503
     905#: includes/class-wc-robokassa-method.php:2523
    889906msgid "Payment error, please pay other time."
    890907msgstr "Ошибка платежа, пожалуйста повторите попытку позже."
    891908
    892 #: includes/class-wc-robokassa-method.php:2511
     909#: includes/class-wc-robokassa-method.php:2531
    893910msgid "The client returned to the payment success page."
    894911msgstr "Клиент вернулся на страницу успешной оплаты."
    895912
    896 #: includes/class-wc-robokassa-method.php:2532
     913#: includes/class-wc-robokassa-method.php:2552
    897914msgid ""
    898915"Order cancellation. The client returned to the payment cancellation page."
    899916msgstr "Отмена заказа. Клиент вернулся на страницу отмены платежа."
    900917
    901 #: includes/class-wc-robokassa-method.php:2550
     918#: includes/class-wc-robokassa-method.php:2570
    902919msgid "Api request error. Action not found."
    903920msgstr "Ошибка запроса к API. Действие не найдено."
    904921
    905 #: includes/class-wc-robokassa-method.php:2737
     922#: includes/class-wc-robokassa-method.php:2757
    906923msgid ""
    907924"The activation was not success. It may be difficult to release new updates."
    908925msgstr ""
    909 "Активация не была выполнена. Возможно, будет сложно выпустить новые "
     926"Активация поддержки не выполнена. Возможно будет сложно выпустить новые "
    910927"обновления."
    911928
    912 #: includes/class-wc-robokassa-method.php:2754
     929#: includes/class-wc-robokassa-method.php:2774
    913930msgid "disconnected"
    914931msgstr "отключено"
    915932
    916 #: includes/class-wc-robokassa-method.php:2760
     933#: includes/class-wc-robokassa-method.php:2780
    917934msgid "connected"
    918935msgstr "подключено"
    919936
    920 #: includes/class-wc-robokassa-method.php:2764
     937#: includes/class-wc-robokassa-method.php:2784
    921938msgid "API Robokassa: "
    922939msgstr "API Робокассы: "
    923940
    924 #: includes/class-wc-robokassa-method.php:2779
     941#: includes/class-wc-robokassa-method.php:2799
    925942msgid "active"
    926 msgstr "активно"
    927 
    928 #: includes/class-wc-robokassa-method.php:2785
     943msgstr "активен"
     944
     945#: includes/class-wc-robokassa-method.php:2805
    929946msgid "inactive"
    930 msgstr "неактивно"
    931 
    932 #: includes/class-wc-robokassa-method.php:2789
     947msgstr "неактивен"
     948
     949#: includes/class-wc-robokassa-method.php:2809
    933950msgid "Test mode: "
    934951msgstr "Тестовый режим: "
    935952
    936 #: includes/class-wc-robokassa-method.php:2812
     953#: includes/class-wc-robokassa-method.php:2832
    937954msgid "Currency: "
    938955msgstr "Валюта: "
    939956
    940 #: includes/class-wc-robokassa-method.php:2830
     957#: includes/class-wc-robokassa-method.php:2850
    941958msgid ""
    942959"The logging level is too low. Need to increase the level after debugging."
     
    954971msgstr "Работа невозможна без этих настроек."
    955972
     973#: includes/class-wc-robokassa-sub-method.php:554
     974msgid "Online / Offline"
     975msgstr "Включено / Отключено"
     976
    956977#: includes/class-wc-robokassa-sub-method.php:556
    957978msgid "Enable display of the payment method on the website"
    958979msgstr "Включить отображение платежного метода на сайте"
    959980
    960 #: includes/class-wc-robokassa.php:379
     981#: includes/class-wc-robokassa-sub-method.php:584
     982msgid "Select the checkbox to enable this feature. Default is disabled."
     983msgstr ""
     984"Установите флажок, чтобы включить эту возможность. Значение по умолчанию - "
     985"отключено."
     986
     987#: includes/class-wc-robokassa.php:356
    961988msgid "This activation code is active."
    962989msgstr "Этот код активации активен."
    963990
    964 #: includes/class-wc-robokassa.php:380
     991#: includes/class-wc-robokassa.php:357
    965992msgid "Error: This activation code has expired."
    966993msgstr "Ошибка: Этот код активации истек."
    967994
    968 #: includes/class-wc-robokassa.php:381
     995#: includes/class-wc-robokassa.php:358
    969996msgid "Activation code republished. Awaiting reactivation."
    970997msgstr "Код активации переиздан. Ожидание повторной активации."
    971998
    972 #: includes/class-wc-robokassa.php:382
     999#: includes/class-wc-robokassa.php:359
    9731000msgid "Error: This activation code has been suspended."
    9741001msgstr "Ошибка: Этот код активации приостановлен."
    9751002
    976 #: includes/class-wc-robokassa.php:383
     1003#: includes/class-wc-robokassa.php:360
    9771004msgid "This activation code is not found."
    9781005msgstr "Указанный код активации не найден."
    9791006
    980 #: includes/class-wc-robokassa.php:384
     1007#: includes/class-wc-robokassa.php:361
    9811008msgid "This activation code is active (localhost)."
    9821009msgstr "Этот код активации активен (localhost)."
    9831010
    984 #: includes/class-wc-robokassa.php:385
     1011#: includes/class-wc-robokassa.php:362
    9851012msgid "Error: This activation code is pending review."
    9861013msgstr "Ошибка: Этот код активации находится на рассмотрении."
    9871014
    988 #: includes/class-wc-robokassa.php:386
     1015#: includes/class-wc-robokassa.php:363
    9891016msgid ""
    9901017"Error: This version of the software was released after your download access "
     
    9951022"свяжитесь со службой поддержки для получения более подробной информации."
    9961023
    997 #: includes/class-wc-robokassa.php:387
     1024#: includes/class-wc-robokassa.php:364
    9981025msgid "Error: The activation code variable is empty."
    9991026msgstr "Ошибка: Переменная кода активации пуста."
    10001027
    1001 #: includes/class-wc-robokassa.php:388
     1028#: includes/class-wc-robokassa.php:365
    10021029msgid "Error: I could not obtain a new local code."
    10031030msgstr "Ошибка: Я не смог получить новый локальный код."
    10041031
    1005 #: includes/class-wc-robokassa.php:389
     1032#: includes/class-wc-robokassa.php:366
    10061033msgid "Error: The maximum local code delay period has expired."
    10071034msgstr "Ошибка: Максимальный период задержки локального кода истек."
    10081035
    1009 #: includes/class-wc-robokassa.php:390
     1036#: includes/class-wc-robokassa.php:367
    10101037msgid "Error: The local key has been tampered with or is invalid."
    10111038msgstr "Ошибка: Локальный ключ был подделан или недействителен."
    10121039
    1013 #: includes/class-wc-robokassa.php:391
     1040#: includes/class-wc-robokassa.php:368
    10141041msgid "Error: The local code is invalid for this location."
    10151042msgstr "Ошибка: локальный код недействителен для этого места."
    10161043
    1017 #: includes/class-wc-robokassa.php:392
     1044#: includes/class-wc-robokassa.php:369
    10181045msgid ""
    10191046"Error: Please create the following file (and directories if they dont exist "
     
    10231050"существуют): "
    10241051
    1025 #: includes/class-wc-robokassa.php:393
     1052#: includes/class-wc-robokassa.php:370
    10261053msgid "Error: Please make the following path writable: "
    10271054msgstr "Ошибка: Пожалуйста, сделайте следующий путь доступным для записи: "
    10281055
    1029 #: includes/class-wc-robokassa.php:394
     1056#: includes/class-wc-robokassa.php:371
    10301057msgid "Error: I could not determine the local key storage on clear."
    10311058msgstr "Ошибка: Я не смог определить локальное хранилище ключей на чистоте."
    10321059
    1033 #: includes/class-wc-robokassa.php:395
     1060#: includes/class-wc-robokassa.php:372
    10341061msgid "Error: I could not save the local key."
    10351062msgstr "Ошибка: Я не смог сохранить локальный ключ."
    10361063
    1037 #: includes/class-wc-robokassa.php:396
     1064#: includes/class-wc-robokassa.php:373
    10381065msgid "Error: The local code is invalid for this activation code."
    10391066msgstr "Ошибка: Локальный код недействителен для указанного кода активации."
    10401067
    1041 #: includes/class-wc-robokassa.php:397
     1068#: includes/class-wc-robokassa.php:374
    10421069msgid "Error: This activation code has been deleted."
    10431070msgstr "Ошибка: Этот код активации был удален."
    10441071
    1045 #: includes/class-wc-robokassa.php:398
     1072#: includes/class-wc-robokassa.php:375
    10461073msgid "Error: This activation code has draft."
    10471074msgstr "Ошибка: Этот код активации имеет черновик."
    10481075
    1049 #: includes/class-wc-robokassa.php:399
     1076#: includes/class-wc-robokassa.php:376
    10501077msgid "Error: This activation code has available."
    10511078msgstr "Ошибка: Этот код активации доступен."
    10521079
    1053 #: includes/class-wc-robokassa.php:400
     1080#: includes/class-wc-robokassa.php:377
    10541081msgid "Error: This activation code has been blocked."
    10551082msgstr "Ошибка: Этот код активации заблокирован."
    10561083
    1057 #: includes/class-wc-robokassa.php:763
     1084#: includes/class-wc-robokassa.php:783
    10581085msgid "Official site"
    10591086msgstr "Официальная страница"
    10601087
    1061 #: includes/class-wc-robokassa.php:778
     1088#: includes/class-wc-robokassa.php:798
    10621089msgid "Settings"
    10631090msgstr "Настройки"
    10641091
    1065 #: includes/class-wc-robokassa.php:807
     1092#: includes/class-wc-robokassa.php:827
    10661093msgid ""
    10671094"The plugin for accepting payments through ROBOKASSA for WooCommerce has been "
     
    10711098"версии, требующей дополнительной настройки."
    10721099
    1073 #: includes/class-wc-robokassa.php:809
     1100#: includes/class-wc-robokassa.php:829
    10741101msgid "here"
    10751102msgstr "сюда"
    10761103
    1077 #: includes/class-wc-robokassa.php:810
     1104#: includes/class-wc-robokassa.php:830
    10781105#, php-format
    10791106msgid "Press %s (go to payment gateway settings)."
    10801107msgstr "Нажмите %s (для перехода к настройкам платежного шлюза)."
    10811108
    1082 #: includes/class-wc-robokassa.php:927
     1109#: includes/class-wc-robokassa.php:949
    10831110msgid "Useful information"
    10841111msgstr "Полезная информация"
    10851112
    1086 #: includes/class-wc-robokassa.php:931
     1113#: includes/class-wc-robokassa.php:953
    10871114msgid "Official plugin page"
    10881115msgstr "Официальная страница"
    10891116
    1090 #: includes/class-wc-robokassa.php:932
     1117#: includes/class-wc-robokassa.php:954
    10911118msgid "Related news: ROBOKASSA"
    10921119msgstr "Новости по теме Робокасса"
    10931120
    1094 #: includes/class-wc-robokassa.php:933
     1121#: includes/class-wc-robokassa.php:955
    10951122msgid "Plugins for WooCommerce"
    10961123msgstr "Плагины для WooCommerce"
    10971124
    1098 #: includes/class-wc-robokassa.php:953
     1125#: includes/class-wc-robokassa.php:975
    10991126msgid "Errors not found. Payment acceptance is active."
    11001127msgstr "Ошибки не найдены. Прием платежей активен."
    11011128
    1102 #: includes/class-wc-robokassa.php:957
     1129#: includes/class-wc-robokassa.php:979
    11031130msgid ""
    11041131"Warnings found. They are highlighted in yellow. You should attention to them."
    11051132msgstr ""
    1106 "Предупреждения найдены. Они выделены желтым цветом. Вы должны обратить на "
    1107 "них внимание."
    1108 
    1109 #: includes/class-wc-robokassa.php:961
     1133"Найдены предупреждения. Они выделены желтым цветом. Нужно обратить на них "
     1134"внимание."
     1135
     1136#: includes/class-wc-robokassa.php:983
    11101137msgid ""
    11111138"Critical errors were detected. They are highlighted in red. Payment "
     
    11151142"платежей не активен."
    11161143
    1117 #: includes/class-wc-robokassa.php:965
     1144#: includes/class-wc-robokassa.php:987
    11181145msgid "Status"
    11191146msgstr "Состояние"
     
    12471274msgstr "https://mofsy.ru"
    12481275
     1276#~ msgid "Use of all mechanisms add a child of payment methods."
     1277#~ msgstr "Использование всех механизмов добавления дочерних способов оплаты."
     1278
     1279#~ msgid "Enable sub methods"
     1280#~ msgstr "Включить дочерние методы"
     1281
    12491282#~ msgid "Technical key"
    12501283#~ msgstr "Технический ключ"
     
    13981431#~ msgstr "Скидка составляет 400 рублей."
    13991432
    1400 #, php-format
    14011433#~ msgid ""
    14021434#~ "Press %s (to go to payment gateway settings). Examine the new settings "
  • wc-robokassa/trunk/languages/wc-robokassa.pot

    r2334486 r2507761  
    44"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
    55"Project-Id-Version: Payment gateway - Robokassa for WooCommerce\n"
    6 "POT-Creation-Date: 2020-07-02 22:42+0300\n"
     6"POT-Creation-Date: 2021-04-02 01:20+0300\n"
    77"PO-Revision-Date: 2016-01-10 16:41+0300\n"
    88"Last-Translator: Mofsy <support@mofsy.ru>\n"
     
    2222
    2323#: includes/class-wc-robokassa-method.php:187
    24 #: includes/class-wc-robokassa-method.php:1318
     24#: includes/class-wc-robokassa-method.php:1338
    2525#: includes/class-wc-robokassa-sub-method.php:50
    2626msgid "Robokassa"
     
    3131msgstr ""
    3232
    33 #: includes/class-wc-robokassa-method.php:967
    34 msgid "Activation"
    35 msgstr ""
    36 
    37 #: includes/class-wc-robokassa-method.php:970
     33#: includes/class-wc-robokassa-method.php:968
     34msgid "Support activation"
     35msgstr ""
     36
     37#: includes/class-wc-robokassa-method.php:971
    3838msgid "The code can be obtained from the plugin website:"
    3939msgstr ""
    4040
    41 #: includes/class-wc-robokassa-method.php:970
     41#: includes/class-wc-robokassa-method.php:971
    4242msgid ""
    4343"This section will disappear after enter a valid code before the expiration "
     
    4545msgstr ""
    4646
    47 #: includes/class-wc-robokassa-method.php:975
     47#: includes/class-wc-robokassa-method.php:976
    4848msgid "Input code"
    4949msgstr ""
    5050
    51 #: includes/class-wc-robokassa-method.php:978
     51#: includes/class-wc-robokassa-method.php:979
    5252msgid ""
    5353"If enter the correct code, the current environment will be activated. "
     
    5555msgstr ""
    5656
    57 #: includes/class-wc-robokassa-method.php:1028
     57#: includes/class-wc-robokassa-method.php:1019
    5858msgid "Activate"
    5959msgstr ""
    6060
    61 #: includes/class-wc-robokassa-method.php:1050
     61#: includes/class-wc-robokassa-method.php:1051
    6262#: includes/class-wc-robokassa-sub-method.php:547
    6363msgid "Main settings"
    6464msgstr ""
    6565
    66 #: includes/class-wc-robokassa-method.php:1052
     66#: includes/class-wc-robokassa-method.php:1053
    6767msgid ""
    6868"Without these settings, the payment gateway will not work. Be sure to make "
     
    7070msgstr ""
    7171
    72 #: includes/class-wc-robokassa-method.php:1057
    73 #: includes/class-wc-robokassa-sub-method.php:554
    74 msgid "Online / Offline"
    75 msgstr ""
    76 
    77 #: includes/class-wc-robokassa-method.php:1059
    78 msgid "Tick the checkbox if you need to activate the payment gateway."
     72#: includes/class-wc-robokassa-method.php:1058
     73msgid "Main method"
    7974msgstr ""
    8075
    8176#: includes/class-wc-robokassa-method.php:1060
    82 msgid ""
    83 "On disconnection, the payment gateway will not be available for selection "
    84 "on the site. It is useful for payments through subsidiaries, or just in "
     77msgid "Tick the checkbox if you need to show the payment gateway."
     78msgstr ""
     79
     80#: includes/class-wc-robokassa-method.php:1061
     81msgid ""
     82"On disabled, the payment gateway will not be available for selection on "
     83"the site. Feature useful for payments through subsidiaries, or just in "
    8584"case of temporary disconnection."
    8685msgstr ""
    8786
    88 #: includes/class-wc-robokassa-method.php:1066
     87#: includes/class-wc-robokassa-method.php:1067
     88#: includes/class-wc-robokassa-method.php:1242
     89msgid "Sub methods"
     90msgstr ""
     91
     92#: includes/class-wc-robokassa-method.php:1069
     93msgid "Tick the checkbox to enable sub methods feature. Default is disabled."
     94msgstr ""
     95
     96#: includes/class-wc-robokassa-method.php:1070
     97msgid ""
     98"Use of all mechanisms of child payment methods. The main method can be "
     99"turned off. The cart will show the child payment methods."
     100msgstr ""
     101
     102#: includes/class-wc-robokassa-method.php:1076
    89103msgid "Shop identifier"
    90104msgstr ""
    91105
    92 #: includes/class-wc-robokassa-method.php:1068
     106#: includes/class-wc-robokassa-method.php:1078
    93107msgid "Unique identifier for shop from Robokassa."
    94108msgstr ""
    95109
    96 #: includes/class-wc-robokassa-method.php:1074
    97 #: includes/class-wc-robokassa-method.php:1168
    98 msgid "Hash calculation algorithm"
    99 msgstr ""
    100 
    101 #: includes/class-wc-robokassa-method.php:1075
    102 msgid ""
    103 "The algorithm must match the one specified in the personal account of "
    104 "Robokassa."
     110#: includes/class-wc-robokassa-method.php:1084
     111msgid "Test mode"
     112msgstr ""
     113
     114#: includes/class-wc-robokassa-method.php:1086
     115msgid "Tick the checkbox to enable test mode. Default is enabled."
     116msgstr ""
     117
     118#: includes/class-wc-robokassa-method.php:1087
     119msgid ""
     120"When you activate the test mode, no funds will be debited. In this case, "
     121"the payment gateway will only be displayed when you log in with an "
     122"administrator account. This is done in order to protect you from false "
     123"orders."
    105124msgstr ""
    106125
    107126#: includes/class-wc-robokassa-method.php:1091
    108 #: includes/class-wc-robokassa-method.php:1185
    109 msgid "Password #1"
    110 msgstr ""
    111 
    112 #: includes/class-wc-robokassa-method.php:1093
    113 msgid ""
    114 "Shop pass #1 must match the one specified in the personal account of "
    115 "Robokassa."
    116 msgstr ""
    117 
    118 #: includes/class-wc-robokassa-method.php:1099
    119 #: includes/class-wc-robokassa-method.php:1193
    120 msgid "Password #2"
    121 msgstr ""
    122 
    123 #: includes/class-wc-robokassa-method.php:1101
    124 msgid ""
    125 "Shop pass #2 must match the one specified in the personal account of "
    126 "Robokassa."
    127 msgstr ""
    128 
    129 #: includes/class-wc-robokassa-method.php:1105
    130127msgid ""
    131128"Address to notify the site of the results of operations in the background. "
     
    134131msgstr ""
    135132
    136 #: includes/class-wc-robokassa-method.php:1109
     133#: includes/class-wc-robokassa-method.php:1095
    137134msgid "Result Url"
    138135msgstr ""
    139136
    140 #: includes/class-wc-robokassa-method.php:1116
     137#: includes/class-wc-robokassa-method.php:1102
    141138msgid ""
    142139"The address for the user to go to the site after successful payment. Copy "
     
    146143msgstr ""
    147144
    148 #: includes/class-wc-robokassa-method.php:1120
     145#: includes/class-wc-robokassa-method.php:1106
    149146msgid "Success Url"
    150147msgstr ""
    151148
    152 #: includes/class-wc-robokassa-method.php:1127
     149#: includes/class-wc-robokassa-method.php:1113
    153150msgid ""
    154151"The address for the user to go to the site, after payment with an error. "
     
    158155msgstr ""
    159156
    160 #: includes/class-wc-robokassa-method.php:1131
     157#: includes/class-wc-robokassa-method.php:1117
    161158msgid "Fail Url"
    162159msgstr ""
    163160
    164 #: includes/class-wc-robokassa-method.php:1152
     161#: includes/class-wc-robokassa-method.php:1138
     162msgid "Parameters for real payments"
     163msgstr ""
     164
     165#: includes/class-wc-robokassa-method.php:1140
     166msgid ""
     167"Passwords and hashing algorithms for real payments differ from those "
     168"specified for test payments."
     169msgstr ""
     170
     171#: includes/class-wc-robokassa-method.php:1145
     172#: includes/class-wc-robokassa-method.php:1197
     173msgid "Hash calculation algorithm"
     174msgstr ""
     175
     176#: includes/class-wc-robokassa-method.php:1146
     177msgid ""
     178"The algorithm must match the one specified in the personal account of "
     179"Robokassa."
     180msgstr ""
     181
     182#: includes/class-wc-robokassa-method.php:1162
     183#: includes/class-wc-robokassa-method.php:1214
     184msgid "Password #1"
     185msgstr ""
     186
     187#: includes/class-wc-robokassa-method.php:1164
     188msgid ""
     189"Shop pass #1 must match the one specified in the personal account of "
     190"Robokassa."
     191msgstr ""
     192
     193#: includes/class-wc-robokassa-method.php:1170
     194#: includes/class-wc-robokassa-method.php:1222
     195msgid "Password #2"
     196msgstr ""
     197
     198#: includes/class-wc-robokassa-method.php:1172
     199msgid ""
     200"Shop pass #2 must match the one specified in the personal account of "
     201"Robokassa."
     202msgstr ""
     203
     204#: includes/class-wc-robokassa-method.php:1190
    165205msgid "Parameters for test payments"
    166206msgstr ""
    167207
    168 #: includes/class-wc-robokassa-method.php:1154
     208#: includes/class-wc-robokassa-method.php:1192
    169209msgid ""
    170210"Passwords and hashing algorithms for test payments differ from those "
     
    172212msgstr ""
    173213
    174 #: includes/class-wc-robokassa-method.php:1159
    175 msgid "Test mode"
    176 msgstr ""
    177 
    178 #: includes/class-wc-robokassa-method.php:1161
    179 #: includes/class-wc-robokassa-method.php:1203
    180 #: includes/class-wc-robokassa-method.php:1277
    181 msgid "Select the checkbox to enable this feature. Default is enabled."
    182 msgstr ""
    183 
    184 #: includes/class-wc-robokassa-method.php:1162
    185 msgid ""
    186 "When you activate the test mode, no funds will be debited. In this case, "
    187 "the payment gateway will only be displayed when you log in with an "
    188 "administrator account. This is done in order to protect you from false "
    189 "orders."
    190 msgstr ""
    191 
    192 #: includes/class-wc-robokassa-method.php:1169
     214#: includes/class-wc-robokassa-method.php:1198
    193215msgid ""
    194216"The algorithm must match the one specified in the personal account of "
     
    196218msgstr ""
    197219
    198 #: includes/class-wc-robokassa-method.php:1187
     220#: includes/class-wc-robokassa-method.php:1216
    199221msgid ""
    200222"Shop pass #1 for testing payments. The pass must match the one specified "
     
    202224msgstr ""
    203225
    204 #: includes/class-wc-robokassa-method.php:1195
     226#: includes/class-wc-robokassa-method.php:1224
    205227msgid ""
    206228"Shop pass #2 for testing payments. The pass must match the one specified "
     
    208230msgstr ""
    209231
    210 #: includes/class-wc-robokassa-method.php:1201
     232#: includes/class-wc-robokassa-method.php:1244
     233msgid "General settings for the sub methods of payment."
     234msgstr ""
     235
     236#: includes/class-wc-robokassa-method.php:1249
     237msgid "Check available via the API"
     238msgstr ""
     239
     240#: includes/class-wc-robokassa-method.php:1251
     241#: includes/class-wc-robokassa-method.php:1260
     242#: includes/class-wc-robokassa-method.php:1328
     243#: includes/class-wc-robokassa-method.php:1380
     244#: includes/class-wc-robokassa-method.php:1489
     245#: includes/class-wc-robokassa-method.php:1498
     246#: includes/class-wc-robokassa-method.php:1507
     247#: includes/class-wc-robokassa-method.php:1516
     248#: includes/class-wc-robokassa-method.php:1525
     249#: includes/class-wc-robokassa-method.php:1534
     250#: includes/class-wc-robokassa-method.php:1584
     251#: includes/class-wc-robokassa-method.php:1593
     252#: includes/class-wc-robokassa-method.php:1603
     253#: includes/class-wc-robokassa-method.php:1612
     254msgid "Tick the checkbox to enable this feature. Default is disabled."
     255msgstr ""
     256
     257#: includes/class-wc-robokassa-method.php:1252
     258msgid "Check whether child methods are currently available for payment."
     259msgstr ""
     260
     261#: includes/class-wc-robokassa-method.php:1258
     262msgid "Show the total amount including the fee"
     263msgstr ""
     264
     265#: includes/class-wc-robokassa-method.php:1261
     266msgid ""
     267"If you enable this option, the exact amount payable, including fees, will "
     268"be added to the payment method headers."
     269msgstr ""
     270
     271#: includes/class-wc-robokassa-method.php:1279
     272#: includes/class-wc-robokassa-sub-method.php:575
     273msgid "Interface"
     274msgstr ""
     275
     276#: includes/class-wc-robokassa-method.php:1281
     277#: includes/class-wc-robokassa-sub-method.php:577
     278msgid "Customize the appearance. Can leave it at that."
     279msgstr ""
     280
     281#: includes/class-wc-robokassa-method.php:1286
     282#: includes/class-wc-robokassa-sub-method.php:582
     283msgid "Show icon?"
     284msgstr ""
     285
     286#: includes/class-wc-robokassa-method.php:1288
     287#: includes/class-wc-robokassa-method.php:1297
     288msgid "Tick the checkbox to enable this feature. Default is enabled."
     289msgstr ""
     290
     291#: includes/class-wc-robokassa-method.php:1290
     292msgid ""
     293"Next to the name of the payment method will display the logo Robokassa."
     294msgstr ""
     295
     296#: includes/class-wc-robokassa-method.php:1295
    211297msgid "Test notification display on the test mode"
    212298msgstr ""
    213299
    214 #: includes/class-wc-robokassa-method.php:1204
     300#: includes/class-wc-robokassa-method.php:1298
    215301msgid ""
    216302"A notification about the activated test mode will be displayed when the "
     
    218304msgstr ""
    219305
    220 #: includes/class-wc-robokassa-method.php:1222
    221 msgid "Sub methods"
    222 msgstr ""
    223 
    224 #: includes/class-wc-robokassa-method.php:1224
    225 msgid "General settings for the sub methods of payment."
    226 msgstr ""
    227 
    228 #: includes/class-wc-robokassa-method.php:1229
    229 msgid "Enable sub methods"
    230 msgstr ""
    231 
    232 #: includes/class-wc-robokassa-method.php:1231
    233 #: includes/class-wc-robokassa-method.php:1240
    234 #: includes/class-wc-robokassa-method.php:1249
     306#: includes/class-wc-robokassa-method.php:1304
     307msgid "Language interface"
     308msgstr ""
     309
    235310#: includes/class-wc-robokassa-method.php:1308
    236 #: includes/class-wc-robokassa-method.php:1360
    237 #: includes/class-wc-robokassa-method.php:1469
    238 #: includes/class-wc-robokassa-method.php:1478
    239 #: includes/class-wc-robokassa-method.php:1487
    240 #: includes/class-wc-robokassa-method.php:1496
    241 #: includes/class-wc-robokassa-method.php:1505
    242 #: includes/class-wc-robokassa-method.php:1514
    243 #: includes/class-wc-robokassa-method.php:1564
    244 #: includes/class-wc-robokassa-method.php:1573
    245 #: includes/class-wc-robokassa-method.php:1651
    246 #: includes/class-wc-robokassa-method.php:1660
    247 #: includes/class-wc-robokassa-sub-method.php:584
    248 msgid "Select the checkbox to enable this feature. Default is disabled."
    249 msgstr ""
    250 
    251 #: includes/class-wc-robokassa-method.php:1232
    252 msgid "Use of all mechanisms add a child of payment methods."
    253 msgstr ""
    254 
    255 #: includes/class-wc-robokassa-method.php:1238
    256 msgid "Check available via the API"
    257 msgstr ""
    258 
    259 #: includes/class-wc-robokassa-method.php:1241
    260 msgid "Check whether child methods are currently available for payment."
    261 msgstr ""
    262 
    263 #: includes/class-wc-robokassa-method.php:1247
    264 msgid "Show the total amount including the fee"
    265 msgstr ""
    266 
    267 #: includes/class-wc-robokassa-method.php:1250
    268 msgid ""
    269 "If you enable this option, the exact amount payable, including fees, will "
    270 "be added to the payment method headers."
    271 msgstr ""
    272 
    273 #: includes/class-wc-robokassa-method.php:1268
    274 #: includes/class-wc-robokassa-sub-method.php:575
    275 msgid "Interface"
    276 msgstr ""
    277 
    278 #: includes/class-wc-robokassa-method.php:1270
    279 #: includes/class-wc-robokassa-sub-method.php:577
    280 msgid "Customize the appearance. Can leave it at that."
    281 msgstr ""
    282 
    283 #: includes/class-wc-robokassa-method.php:1275
    284 #: includes/class-wc-robokassa-sub-method.php:582
    285 msgid "Show icon?"
    286 msgstr ""
    287 
    288 #: includes/class-wc-robokassa-method.php:1279
    289 msgid ""
    290 "Next to the name of the payment method will display the logo Robokassa."
    291 msgstr ""
    292 
    293 #: includes/class-wc-robokassa-method.php:1284
    294 msgid "Language interface"
    295 msgstr ""
    296 
    297 #: includes/class-wc-robokassa-method.php:1288
    298311msgid "Russian"
    299312msgstr ""
    300313
    301 #: includes/class-wc-robokassa-method.php:1289
     314#: includes/class-wc-robokassa-method.php:1309
    302315msgid "English"
    303316msgstr ""
    304317
    305 #: includes/class-wc-robokassa-method.php:1291
     318#: includes/class-wc-robokassa-method.php:1311
    306319msgid "What language interface displayed for the customer on Robokassa?"
    307320msgstr ""
    308321
    309 #: includes/class-wc-robokassa-method.php:1297
     322#: includes/class-wc-robokassa-method.php:1317
    310323msgid "Language based on the locale?"
    311324msgstr ""
    312325
    313 #: includes/class-wc-robokassa-method.php:1299
     326#: includes/class-wc-robokassa-method.php:1319
    314327msgid "Enable user language automatic detection?"
    315328msgstr ""
    316329
    317 #: includes/class-wc-robokassa-method.php:1300
     330#: includes/class-wc-robokassa-method.php:1320
    318331msgid ""
    319332"Automatic detection of the users language from the WordPress environment."
    320333msgstr ""
    321334
    322 #: includes/class-wc-robokassa-method.php:1306
     335#: includes/class-wc-robokassa-method.php:1326
    323336msgid "Skip the received order page?"
    324337msgstr ""
    325338
    326 #: includes/class-wc-robokassa-method.php:1309
     339#: includes/class-wc-robokassa-method.php:1329
    327340msgid "This setting is used to reduce actions when users switch to payment."
    328341msgstr ""
    329342
    330 #: includes/class-wc-robokassa-method.php:1315
     343#: includes/class-wc-robokassa-method.php:1335
    331344#: includes/class-wc-robokassa-sub-method.php:590
    332345msgid "Title"
    333346msgstr ""
    334347
    335 #: includes/class-wc-robokassa-method.php:1317
     348#: includes/class-wc-robokassa-method.php:1337
    336349#: includes/class-wc-robokassa-sub-method.php:592
    337350msgid "This is the name that the user sees during the payment."
    338351msgstr ""
    339352
    340 #: includes/class-wc-robokassa-method.php:1323
     353#: includes/class-wc-robokassa-method.php:1343
    341354#: includes/class-wc-robokassa-sub-method.php:598
    342355msgid "Order button text"
    343356msgstr ""
    344357
    345 #: includes/class-wc-robokassa-method.php:1325
     358#: includes/class-wc-robokassa-method.php:1345
    346359#: includes/class-wc-robokassa-sub-method.php:600
    347360msgid "This is the button text that the user sees during the payment."
    348361msgstr ""
    349362
    350 #: includes/class-wc-robokassa-method.php:1326
     363#: includes/class-wc-robokassa-method.php:1346
    351364#: includes/class-wc-robokassa-sub-method.php:601
    352365msgid "Goto pay"
    353366msgstr ""
    354367
    355 #: includes/class-wc-robokassa-method.php:1331
     368#: includes/class-wc-robokassa-method.php:1351
    356369#: includes/class-wc-robokassa-sub-method.php:606
    357370msgid "Description"
    358371msgstr ""
    359372
    360 #: includes/class-wc-robokassa-method.php:1333
     373#: includes/class-wc-robokassa-method.php:1353
    361374#: includes/class-wc-robokassa-sub-method.php:608
    362375msgid ""
     
    365378msgstr ""
    366379
    367 #: includes/class-wc-robokassa-method.php:1334
     380#: includes/class-wc-robokassa-method.php:1354
    368381#: includes/class-wc-robokassa-sub-method.php:609
    369382msgid "Payment via Robokassa."
    370383msgstr ""
    371384
    372 #: includes/class-wc-robokassa-method.php:1351
     385#: includes/class-wc-robokassa-method.php:1371
    373386msgid "Cart content sending (54fz)"
    374387msgstr ""
    375388
    376 #: includes/class-wc-robokassa-method.php:1353
     389#: includes/class-wc-robokassa-method.php:1373
    377390msgid ""
    378391"These settings are required only for legal entities in the absence of its "
     
    380393msgstr ""
    381394
    382 #: includes/class-wc-robokassa-method.php:1358
     395#: includes/class-wc-robokassa-method.php:1378
    383396msgid "The transfer of goods"
    384397msgstr ""
    385398
    386 #: includes/class-wc-robokassa-method.php:1361
     399#: includes/class-wc-robokassa-method.php:1381
    387400msgid ""
    388401"When you select the option, a check will be generated and sent to the tax "
     
    393406msgstr ""
    394407
    395 #: includes/class-wc-robokassa-method.php:1367
     408#: includes/class-wc-robokassa-method.php:1387
    396409msgid "Taxation system"
    397410msgstr ""
    398411
    399 #: includes/class-wc-robokassa-method.php:1372
     412#: includes/class-wc-robokassa-method.php:1392
    400413msgid "General"
    401414msgstr ""
    402415
    403 #: includes/class-wc-robokassa-method.php:1373
     416#: includes/class-wc-robokassa-method.php:1393
    404417msgid "Simplified, income"
    405418msgstr ""
    406419
    407 #: includes/class-wc-robokassa-method.php:1374
     420#: includes/class-wc-robokassa-method.php:1394
    408421msgid "Simplified, income minus consumption"
    409422msgstr ""
    410423
    411 #: includes/class-wc-robokassa-method.php:1375
     424#: includes/class-wc-robokassa-method.php:1395
    412425msgid "Single tax on imputed income"
    413426msgstr ""
    414427
    415 #: includes/class-wc-robokassa-method.php:1376
     428#: includes/class-wc-robokassa-method.php:1396
    416429msgid "Single agricultural tax"
    417430msgstr ""
    418431
    419 #: includes/class-wc-robokassa-method.php:1377
     432#: includes/class-wc-robokassa-method.php:1397
    420433msgid "Patent system of taxation"
    421434msgstr ""
    422435
    423 #: includes/class-wc-robokassa-method.php:1383
     436#: includes/class-wc-robokassa-method.php:1403
    424437msgid "Default VAT rate"
    425438msgstr ""
    426439
    427 #: includes/class-wc-robokassa-method.php:1388
     440#: includes/class-wc-robokassa-method.php:1408
    428441msgid "Without the vat"
    429442msgstr ""
    430443
    431 #: includes/class-wc-robokassa-method.php:1389
     444#: includes/class-wc-robokassa-method.php:1409
    432445msgid "VAT 0%"
    433446msgstr ""
    434447
    435 #: includes/class-wc-robokassa-method.php:1390
     448#: includes/class-wc-robokassa-method.php:1410
    436449msgid "VAT 10%"
    437450msgstr ""
    438451
    439 #: includes/class-wc-robokassa-method.php:1391
     452#: includes/class-wc-robokassa-method.php:1411
    440453msgid "VAT 20%"
    441454msgstr ""
    442455
    443 #: includes/class-wc-robokassa-method.php:1392
     456#: includes/class-wc-robokassa-method.php:1412
    444457msgid "VAT receipt settlement rate 10/110"
    445458msgstr ""
    446459
    447 #: includes/class-wc-robokassa-method.php:1393
     460#: includes/class-wc-robokassa-method.php:1413
    448461msgid "VAT receipt settlement rate 20/120"
    449462msgstr ""
    450463
    451 #: includes/class-wc-robokassa-method.php:1399
     464#: includes/class-wc-robokassa-method.php:1419
    452465msgid "Indication of the calculation method"
    453466msgstr ""
    454467
    455 #: includes/class-wc-robokassa-method.php:1400
    456 #: includes/class-wc-robokassa-method.php:1419
     468#: includes/class-wc-robokassa-method.php:1420
     469#: includes/class-wc-robokassa-method.php:1439
    457470msgid ""
    458471"The parameter is optional. If this parameter is not configured, the check "
     
    460473msgstr ""
    461474
    462 #: includes/class-wc-robokassa-method.php:1405
    463 #: includes/class-wc-robokassa-method.php:1424
     475#: includes/class-wc-robokassa-method.php:1425
     476#: includes/class-wc-robokassa-method.php:1444
    464477msgid "Default in Robokassa"
    465478msgstr ""
    466479
    467 #: includes/class-wc-robokassa-method.php:1406
     480#: includes/class-wc-robokassa-method.php:1426
    468481msgid "Prepayment 100%"
    469482msgstr ""
    470483
    471 #: includes/class-wc-robokassa-method.php:1407
     484#: includes/class-wc-robokassa-method.php:1427
    472485msgid "Partial prepayment"
    473486msgstr ""
    474487
    475 #: includes/class-wc-robokassa-method.php:1408
     488#: includes/class-wc-robokassa-method.php:1428
    476489msgid "Advance"
    477490msgstr ""
    478491
    479 #: includes/class-wc-robokassa-method.php:1409
     492#: includes/class-wc-robokassa-method.php:1429
    480493msgid "Full settlement"
    481494msgstr ""
    482495
    483 #: includes/class-wc-robokassa-method.php:1410
     496#: includes/class-wc-robokassa-method.php:1430
    484497msgid "Partial settlement and credit"
    485498msgstr ""
    486499
    487 #: includes/class-wc-robokassa-method.php:1411
     500#: includes/class-wc-robokassa-method.php:1431
    488501msgid "Transfer on credit"
    489502msgstr ""
    490503
    491 #: includes/class-wc-robokassa-method.php:1412
     504#: includes/class-wc-robokassa-method.php:1432
    492505msgid "Credit payment"
    493506msgstr ""
    494507
    495 #: includes/class-wc-robokassa-method.php:1418
     508#: includes/class-wc-robokassa-method.php:1438
    496509msgid "Sign of the subject of calculation"
    497510msgstr ""
    498511
    499 #: includes/class-wc-robokassa-method.php:1425
     512#: includes/class-wc-robokassa-method.php:1445
    500513msgid "Product"
    501514msgstr ""
    502515
    503 #: includes/class-wc-robokassa-method.php:1426
     516#: includes/class-wc-robokassa-method.php:1446
    504517msgid "Excisable goods"
    505518msgstr ""
    506519
    507 #: includes/class-wc-robokassa-method.php:1427
     520#: includes/class-wc-robokassa-method.php:1447
    508521msgid "Work"
    509522msgstr ""
    510523
    511 #: includes/class-wc-robokassa-method.php:1428
     524#: includes/class-wc-robokassa-method.php:1448
    512525msgid "Service"
    513526msgstr ""
    514527
    515 #: includes/class-wc-robokassa-method.php:1429
     528#: includes/class-wc-robokassa-method.php:1449
    516529msgid "Gambling rate"
    517530msgstr ""
    518531
    519 #: includes/class-wc-robokassa-method.php:1430
     532#: includes/class-wc-robokassa-method.php:1450
    520533msgid "Gambling win"
    521534msgstr ""
    522535
    523 #: includes/class-wc-robokassa-method.php:1431
     536#: includes/class-wc-robokassa-method.php:1451
    524537msgid "Lottery ticket"
    525538msgstr ""
    526539
    527 #: includes/class-wc-robokassa-method.php:1432
     540#: includes/class-wc-robokassa-method.php:1452
    528541msgid "Winning the lottery"
    529542msgstr ""
    530543
    531 #: includes/class-wc-robokassa-method.php:1433
     544#: includes/class-wc-robokassa-method.php:1453
    532545msgid "Results of intellectual activity"
    533546msgstr ""
    534547
    535 #: includes/class-wc-robokassa-method.php:1434
     548#: includes/class-wc-robokassa-method.php:1454
    536549msgid "Payment"
    537550msgstr ""
    538551
    539 #: includes/class-wc-robokassa-method.php:1435
     552#: includes/class-wc-robokassa-method.php:1455
    540553msgid "Agency fee"
    541554msgstr ""
    542555
    543 #: includes/class-wc-robokassa-method.php:1436
     556#: includes/class-wc-robokassa-method.php:1456
    544557msgid "Compound subject of calculation"
    545558msgstr ""
    546559
    547 #: includes/class-wc-robokassa-method.php:1437
     560#: includes/class-wc-robokassa-method.php:1457
    548561msgid "Another object of the calculation"
    549562msgstr ""
    550563
    551 #: includes/class-wc-robokassa-method.php:1438
     564#: includes/class-wc-robokassa-method.php:1458
    552565msgid "Property right"
    553566msgstr ""
    554567
    555 #: includes/class-wc-robokassa-method.php:1439
     568#: includes/class-wc-robokassa-method.php:1459
    556569msgid "Extraordinary income"
    557570msgstr ""
    558571
    559 #: includes/class-wc-robokassa-method.php:1440
     572#: includes/class-wc-robokassa-method.php:1460
    560573msgid "Insurance premium"
    561574msgstr ""
    562575
    563 #: includes/class-wc-robokassa-method.php:1441
     576#: includes/class-wc-robokassa-method.php:1461
    564577msgid "Sales tax"
    565578msgstr ""
    566579
    567 #: includes/class-wc-robokassa-method.php:1442
     580#: includes/class-wc-robokassa-method.php:1462
    568581msgid "Resort fee"
    569582msgstr ""
    570583
    571 #: includes/class-wc-robokassa-method.php:1460
     584#: includes/class-wc-robokassa-method.php:1480
    572585msgid "Orders notes"
    573586msgstr ""
    574587
    575 #: includes/class-wc-robokassa-method.php:1462
     588#: includes/class-wc-robokassa-method.php:1482
    576589msgid "Settings for adding notes to orders. All are off by default."
    577590msgstr ""
    578591
    579 #: includes/class-wc-robokassa-method.php:1467
     592#: includes/class-wc-robokassa-method.php:1487
    580593msgid "Errors when verifying the signature of requests"
    581594msgstr ""
    582595
    583 #: includes/class-wc-robokassa-method.php:1470
     596#: includes/class-wc-robokassa-method.php:1490
    584597msgid ""
    585598"Recording a errors when verifying the signature of requests from Robokassa."
    586599msgstr ""
    587600
    588 #: includes/class-wc-robokassa-method.php:1476
     601#: includes/class-wc-robokassa-method.php:1496
    589602msgid "Process payments"
    590603msgstr ""
    591604
    592 #: includes/class-wc-robokassa-method.php:1479
     605#: includes/class-wc-robokassa-method.php:1499
    593606msgid ""
    594607"Recording information about the beginning of the payment process by the "
     
    596609msgstr ""
    597610
    598 #: includes/class-wc-robokassa-method.php:1485
     611#: includes/class-wc-robokassa-method.php:1505
    599612msgid "Successful payments"
    600613msgstr ""
    601614
    602 #: includes/class-wc-robokassa-method.php:1488
     615#: includes/class-wc-robokassa-method.php:1508
    603616msgid ""
    604617"Recording information about received requests with successful payment."
    605618msgstr ""
    606619
    607 #: includes/class-wc-robokassa-method.php:1494
     620#: includes/class-wc-robokassa-method.php:1514
    608621msgid "Background requests"
    609622msgstr ""
    610623
    611 #: includes/class-wc-robokassa-method.php:1497
     624#: includes/class-wc-robokassa-method.php:1517
    612625msgid ""
    613626"Recording information about the background queries about transactions from "
     
    615628msgstr ""
    616629
    617 #: includes/class-wc-robokassa-method.php:1503
     630#: includes/class-wc-robokassa-method.php:1523
    618631msgid "Failed requests"
    619632msgstr ""
    620633
    621 #: includes/class-wc-robokassa-method.php:1506
     634#: includes/class-wc-robokassa-method.php:1526
    622635msgid ""
    623636"Recording information about the clients return to the canceled payment "
     
    625638msgstr ""
    626639
    627 #: includes/class-wc-robokassa-method.php:1512
     640#: includes/class-wc-robokassa-method.php:1532
    628641msgid "Success requests"
    629642msgstr ""
    630643
    631 #: includes/class-wc-robokassa-method.php:1515
     644#: includes/class-wc-robokassa-method.php:1535
    632645msgid ""
    633646"Recording information about the clients return to the success payment page."
    634647msgstr ""
    635648
    636 #: includes/class-wc-robokassa-method.php:1533
     649#: includes/class-wc-robokassa-method.php:1553
    637650msgid "Technical details"
    638651msgstr ""
    639652
    640 #: includes/class-wc-robokassa-method.php:1535
     653#: includes/class-wc-robokassa-method.php:1555
    641654msgid ""
    642655"Setting technical parameters. Used by technical specialists. Can leave it "
     
    644657msgstr ""
    645658
    646 #: includes/class-wc-robokassa-method.php:1542
     659#: includes/class-wc-robokassa-method.php:1562
    647660msgid "Logging"
    648661msgstr ""
    649662
    650 #: includes/class-wc-robokassa-method.php:1544
     663#: includes/class-wc-robokassa-method.php:1564
    651664msgid ""
    652665"You can enable gateway logging, specify the level of error that you want "
     
    655668msgstr ""
    656669
    657 #: includes/class-wc-robokassa-method.php:1544
     670#: includes/class-wc-robokassa-method.php:1564
    658671msgid "Current file: "
    659672msgstr ""
    660673
    661 #: includes/class-wc-robokassa-method.php:1548
     674#: includes/class-wc-robokassa-method.php:1568
    662675msgid "Off"
    663676msgstr ""
    664677
    665 #: includes/class-wc-robokassa-method.php:1562
    666 msgid "Cart clearing"
    667 msgstr ""
    668 
    669 #: includes/class-wc-robokassa-method.php:1565
    670 msgid ""
    671 "Clean the customers cart if payment is successful? If so, the shopping "
    672 "cart will be cleaned. If not, the goods already purchased will most likely "
    673 "remain in the shopping cart."
    674 msgstr ""
    675 
    676 #: includes/class-wc-robokassa-method.php:1571
    677 msgid "Mark order as cancelled?"
    678 msgstr ""
    679 
    680 #: includes/class-wc-robokassa-method.php:1574
    681 msgid ""
    682 "Change the status of the order to canceled when the user cancels the "
    683 "payment. The status changes when the user returns to the cancelled payment "
    684 "page."
    685 msgstr ""
    686 
    687 #: includes/class-wc-robokassa-method.php:1605
    688 #, php-format
    689 msgid "Any &quot;%1$s&quot; method"
    690 msgstr ""
    691 
    692 #: includes/class-wc-robokassa-method.php:1621
    693 #, php-format
    694 msgid "%1$s (#%2$s)"
    695 msgstr ""
    696 
    697 #: includes/class-wc-robokassa-method.php:1624
    698 #, php-format
    699 msgid "%1$s &ndash; %2$s"
    700 msgstr ""
    701 
    702 #: includes/class-wc-robokassa-method.php:1624
    703 msgid "Other locations"
    704 msgstr ""
    705 
    706 #: includes/class-wc-robokassa-method.php:1633
    707 msgid "Enable for shipping methods"
    708 msgstr ""
    709 
    710 #: includes/class-wc-robokassa-method.php:1638
    711 msgid ""
    712 "If only available for certain methods, set it up here. Leave blank to "
    713 "enable for all methods."
    714 msgstr ""
    715 
    716 #: includes/class-wc-robokassa-method.php:1642
    717 msgid "Select shipping methods"
    718 msgstr ""
    719 
    720 #: includes/class-wc-robokassa-method.php:1649
     678#: includes/class-wc-robokassa-method.php:1582
    721679msgid "Payment of the commission for the buyer"
    722680msgstr ""
    723681
    724 #: includes/class-wc-robokassa-method.php:1652
     682#: includes/class-wc-robokassa-method.php:1585
    725683msgid ""
    726684"When you enable this feature, the store will pay all customer Commission "
     
    729687msgstr ""
    730688
    731 #: includes/class-wc-robokassa-method.php:1658
     689#: includes/class-wc-robokassa-method.php:1591
    732690msgid ""
    733691"Preliminary conversion of order currency into roubles for commission "
     
    735693msgstr ""
    736694
    737 #: includes/class-wc-robokassa-method.php:1661
     695#: includes/class-wc-robokassa-method.php:1594
    738696msgid ""
    739697"If the calculation of the customer commission is included and the order is "
     
    743701msgstr ""
    744702
    745 #: includes/class-wc-robokassa-method.php:1780
     703#: includes/class-wc-robokassa-method.php:1601
     704msgid "Cart clearing"
     705msgstr ""
     706
     707#: includes/class-wc-robokassa-method.php:1604
     708msgid ""
     709"Clean the customers cart if payment is successful? If so, the shopping "
     710"cart will be cleaned. If not, the goods already purchased will most likely "
     711"remain in the shopping cart."
     712msgstr ""
     713
     714#: includes/class-wc-robokassa-method.php:1610
     715msgid "Mark order as cancelled?"
     716msgstr ""
     717
     718#: includes/class-wc-robokassa-method.php:1613
     719msgid ""
     720"Change the status of the order to canceled when the user cancels the "
     721"payment. The status changes when the user returns to the cancelled payment "
     722"page."
     723msgstr ""
     724
     725#: includes/class-wc-robokassa-method.php:1644
     726#, php-format
     727msgid "Any &quot;%1$s&quot; method"
     728msgstr ""
     729
     730#: includes/class-wc-robokassa-method.php:1660
     731#, php-format
     732msgid "%1$s (#%2$s)"
     733msgstr ""
     734
     735#: includes/class-wc-robokassa-method.php:1663
     736#, php-format
     737msgid "%1$s &ndash; %2$s"
     738msgstr ""
     739
     740#: includes/class-wc-robokassa-method.php:1663
     741msgid "Other locations"
     742msgstr ""
     743
     744#: includes/class-wc-robokassa-method.php:1672
     745msgid "Enable for shipping methods"
     746msgstr ""
     747
     748#: includes/class-wc-robokassa-method.php:1677
     749msgid ""
     750"If only available for certain methods, set it up here. Leave blank to "
     751"enable for all methods."
     752msgstr ""
     753
     754#: includes/class-wc-robokassa-method.php:1681
     755msgid "Select shipping methods"
     756msgstr ""
     757
     758#: includes/class-wc-robokassa-method.php:1800
    746759msgid "Return to payment gateways"
    747760msgstr ""
    748761
    749 #: includes/class-wc-robokassa-method.php:1837
     762#: includes/class-wc-robokassa-method.php:1857
    750763msgid ""
    751764"TEST mode is active. Payment will not be charged. After checking, disable "
     
    753766msgstr ""
    754767
    755 #: includes/class-wc-robokassa-method.php:1860
     768#: includes/class-wc-robokassa-method.php:1880
    756769msgid ""
    757770"The customer clicked the payment button, but an error occurred while "
     
    759772msgstr ""
    760773
    761 #: includes/class-wc-robokassa-method.php:1881
     774#: includes/class-wc-robokassa-method.php:1901
    762775msgid ""
    763776"The customer clicked the payment button and was sent to the side of the "
     
    765778msgstr ""
    766779
    767 #: includes/class-wc-robokassa-method.php:1895
     780#: includes/class-wc-robokassa-method.php:1915
    768781msgid ""
    769782"The customer clicked the payment button and was sent to the page of the "
     
    771784msgstr ""
    772785
    773 #: includes/class-wc-robokassa-method.php:1996
     786#: includes/class-wc-robokassa-method.php:2016
    774787#: includes/class-wc-robokassa-sub-method.php:250
    775788msgid "Order number: "
    776789msgstr ""
    777790
    778 #: includes/class-wc-robokassa-method.php:2115
     791#: includes/class-wc-robokassa-method.php:2135
    779792#: includes/class-wc-robokassa-sub-method.php:396
    780793msgid "Pay"
    781794msgstr ""
    782795
    783 #: includes/class-wc-robokassa-method.php:2116
     796#: includes/class-wc-robokassa-method.php:2136
    784797#: includes/class-wc-robokassa-sub-method.php:397
    785798msgid "Cancel & return to cart"
    786799msgstr ""
    787800
    788 #: includes/class-wc-robokassa-method.php:2210
     801#: includes/class-wc-robokassa-method.php:2230
    789802msgid "Delivery"
    790803msgstr ""
    791804
    792 #: includes/class-wc-robokassa-method.php:2434
     805#: includes/class-wc-robokassa-method.php:2454
    793806msgid "Order not found."
    794807msgstr ""
    795808
    796 #: includes/class-wc-robokassa-method.php:2450
     809#: includes/class-wc-robokassa-method.php:2470
    797810#, php-format
    798811msgid "Robokassa request. Sum: %1$s. Signature: %2$s. Remote signature: %3$s"
    799812msgstr ""
    800813
    801 #: includes/class-wc-robokassa-method.php:2469
     814#: includes/class-wc-robokassa-method.php:2489
    802815#, php-format
    803816msgid "Validate hash error. Local: %1$s Remote: %2$s"
    804817msgstr ""
    805818
    806 #: includes/class-wc-robokassa-method.php:2484
     819#: includes/class-wc-robokassa-method.php:2504
    807820msgid "Order successfully paid (TEST MODE)."
    808821msgstr ""
    809822
    810 #: includes/class-wc-robokassa-method.php:2493
     823#: includes/class-wc-robokassa-method.php:2513
    811824msgid "Order successfully paid."
    812825msgstr ""
    813826
    814 #: includes/class-wc-robokassa-method.php:2503
     827#: includes/class-wc-robokassa-method.php:2523
    815828msgid "Payment error, please pay other time."
    816829msgstr ""
    817830
    818 #: includes/class-wc-robokassa-method.php:2511
     831#: includes/class-wc-robokassa-method.php:2531
    819832msgid "The client returned to the payment success page."
    820833msgstr ""
    821834
    822 #: includes/class-wc-robokassa-method.php:2532
     835#: includes/class-wc-robokassa-method.php:2552
    823836msgid ""
    824837"Order cancellation. The client returned to the payment cancellation page."
    825838msgstr ""
    826839
    827 #: includes/class-wc-robokassa-method.php:2550
     840#: includes/class-wc-robokassa-method.php:2570
    828841msgid "Api request error. Action not found."
    829842msgstr ""
    830843
    831 #: includes/class-wc-robokassa-method.php:2737
     844#: includes/class-wc-robokassa-method.php:2757
    832845msgid ""
    833846"The activation was not success. It may be difficult to release new updates."
    834847msgstr ""
    835848
    836 #: includes/class-wc-robokassa-method.php:2754
     849#: includes/class-wc-robokassa-method.php:2774
    837850msgid "disconnected"
    838851msgstr ""
    839852
    840 #: includes/class-wc-robokassa-method.php:2760
     853#: includes/class-wc-robokassa-method.php:2780
    841854msgid "connected"
    842855msgstr ""
    843856
    844 #: includes/class-wc-robokassa-method.php:2764
     857#: includes/class-wc-robokassa-method.php:2784
    845858msgid "API Robokassa: "
    846859msgstr ""
    847860
    848 #: includes/class-wc-robokassa-method.php:2779
     861#: includes/class-wc-robokassa-method.php:2799
    849862msgid "active"
    850863msgstr ""
    851864
    852 #: includes/class-wc-robokassa-method.php:2785
     865#: includes/class-wc-robokassa-method.php:2805
    853866msgid "inactive"
    854867msgstr ""
    855868
    856 #: includes/class-wc-robokassa-method.php:2789
     869#: includes/class-wc-robokassa-method.php:2809
    857870msgid "Test mode: "
    858871msgstr ""
    859872
    860 #: includes/class-wc-robokassa-method.php:2812
     873#: includes/class-wc-robokassa-method.php:2832
    861874msgid "Currency: "
    862875msgstr ""
    863876
    864 #: includes/class-wc-robokassa-method.php:2830
     877#: includes/class-wc-robokassa-method.php:2850
    865878msgid ""
    866879"The logging level is too low. Need to increase the level after debugging."
     
    877890msgstr ""
    878891
     892#: includes/class-wc-robokassa-sub-method.php:554
     893msgid "Online / Offline"
     894msgstr ""
     895
    879896#: includes/class-wc-robokassa-sub-method.php:556
    880897msgid "Enable display of the payment method on the website"
    881898msgstr ""
    882899
    883 #: includes/class-wc-robokassa.php:379
     900#: includes/class-wc-robokassa-sub-method.php:584
     901msgid "Select the checkbox to enable this feature. Default is disabled."
     902msgstr ""
     903
     904#: includes/class-wc-robokassa.php:356
    884905msgid "This activation code is active."
    885906msgstr ""
    886907
    887 #: includes/class-wc-robokassa.php:380
     908#: includes/class-wc-robokassa.php:357
    888909msgid "Error: This activation code has expired."
    889910msgstr ""
    890911
    891 #: includes/class-wc-robokassa.php:381
     912#: includes/class-wc-robokassa.php:358
    892913msgid "Activation code republished. Awaiting reactivation."
    893914msgstr ""
    894915
    895 #: includes/class-wc-robokassa.php:382
     916#: includes/class-wc-robokassa.php:359
    896917msgid "Error: This activation code has been suspended."
    897918msgstr ""
    898919
    899 #: includes/class-wc-robokassa.php:383
     920#: includes/class-wc-robokassa.php:360
    900921msgid "This activation code is not found."
    901922msgstr ""
    902923
    903 #: includes/class-wc-robokassa.php:384
     924#: includes/class-wc-robokassa.php:361
    904925msgid "This activation code is active (localhost)."
    905926msgstr ""
    906927
    907 #: includes/class-wc-robokassa.php:385
     928#: includes/class-wc-robokassa.php:362
    908929msgid "Error: This activation code is pending review."
    909930msgstr ""
    910931
    911 #: includes/class-wc-robokassa.php:386
     932#: includes/class-wc-robokassa.php:363
    912933msgid ""
    913934"Error: This version of the software was released after your download "
     
    916937msgstr ""
    917938
    918 #: includes/class-wc-robokassa.php:387
     939#: includes/class-wc-robokassa.php:364
    919940msgid "Error: The activation code variable is empty."
    920941msgstr ""
    921942
    922 #: includes/class-wc-robokassa.php:388
     943#: includes/class-wc-robokassa.php:365
    923944msgid "Error: I could not obtain a new local code."
    924945msgstr ""
    925946
    926 #: includes/class-wc-robokassa.php:389
     947#: includes/class-wc-robokassa.php:366
    927948msgid "Error: The maximum local code delay period has expired."
    928949msgstr ""
    929950
    930 #: includes/class-wc-robokassa.php:390
     951#: includes/class-wc-robokassa.php:367
    931952msgid "Error: The local key has been tampered with or is invalid."
    932953msgstr ""
    933954
    934 #: includes/class-wc-robokassa.php:391
     955#: includes/class-wc-robokassa.php:368
    935956msgid "Error: The local code is invalid for this location."
    936957msgstr ""
    937958
    938 #: includes/class-wc-robokassa.php:392
     959#: includes/class-wc-robokassa.php:369
    939960msgid ""
    940961"Error: Please create the following file (and directories if they dont "
     
    942963msgstr ""
    943964
    944 #: includes/class-wc-robokassa.php:393
     965#: includes/class-wc-robokassa.php:370
    945966msgid "Error: Please make the following path writable: "
    946967msgstr ""
    947968
    948 #: includes/class-wc-robokassa.php:394
     969#: includes/class-wc-robokassa.php:371
    949970msgid "Error: I could not determine the local key storage on clear."
    950971msgstr ""
    951972
    952 #: includes/class-wc-robokassa.php:395
     973#: includes/class-wc-robokassa.php:372
    953974msgid "Error: I could not save the local key."
    954975msgstr ""
    955976
    956 #: includes/class-wc-robokassa.php:396
     977#: includes/class-wc-robokassa.php:373
    957978msgid "Error: The local code is invalid for this activation code."
    958979msgstr ""
    959980
    960 #: includes/class-wc-robokassa.php:397
     981#: includes/class-wc-robokassa.php:374
    961982msgid "Error: This activation code has been deleted."
    962983msgstr ""
    963984
    964 #: includes/class-wc-robokassa.php:398
     985#: includes/class-wc-robokassa.php:375
    965986msgid "Error: This activation code has draft."
    966987msgstr ""
    967988
    968 #: includes/class-wc-robokassa.php:399
     989#: includes/class-wc-robokassa.php:376
    969990msgid "Error: This activation code has available."
    970991msgstr ""
    971992
    972 #: includes/class-wc-robokassa.php:400
     993#: includes/class-wc-robokassa.php:377
    973994msgid "Error: This activation code has been blocked."
    974995msgstr ""
    975996
    976 #: includes/class-wc-robokassa.php:763
     997#: includes/class-wc-robokassa.php:783
    977998msgid "Official site"
    978999msgstr ""
    9791000
    980 #: includes/class-wc-robokassa.php:778
     1001#: includes/class-wc-robokassa.php:798
    9811002msgid "Settings"
    9821003msgstr ""
    9831004
    984 #: includes/class-wc-robokassa.php:807
     1005#: includes/class-wc-robokassa.php:827
    9851006msgid ""
    9861007"The plugin for accepting payments through ROBOKASSA for WooCommerce has "
     
    9881009msgstr ""
    9891010
    990 #: includes/class-wc-robokassa.php:809
     1011#: includes/class-wc-robokassa.php:829
    9911012msgid "here"
    9921013msgstr ""
    9931014
    994 #: includes/class-wc-robokassa.php:810
     1015#: includes/class-wc-robokassa.php:830
    9951016#, php-format
    9961017msgid "Press %s (go to payment gateway settings)."
    9971018msgstr ""
    9981019
    999 #: includes/class-wc-robokassa.php:927
     1020#: includes/class-wc-robokassa.php:949
    10001021msgid "Useful information"
    10011022msgstr ""
    10021023
    1003 #: includes/class-wc-robokassa.php:931
     1024#: includes/class-wc-robokassa.php:953
    10041025msgid "Official plugin page"
    10051026msgstr ""
    10061027
    1007 #: includes/class-wc-robokassa.php:932
     1028#: includes/class-wc-robokassa.php:954
    10081029msgid "Related news: ROBOKASSA"
    10091030msgstr ""
    10101031
    1011 #: includes/class-wc-robokassa.php:933
     1032#: includes/class-wc-robokassa.php:955
    10121033msgid "Plugins for WooCommerce"
    10131034msgstr ""
    10141035
    1015 #: includes/class-wc-robokassa.php:953
     1036#: includes/class-wc-robokassa.php:975
    10161037msgid "Errors not found. Payment acceptance is active."
    10171038msgstr ""
    10181039
    1019 #: includes/class-wc-robokassa.php:957
     1040#: includes/class-wc-robokassa.php:979
    10201041msgid ""
    10211042"Warnings found. They are highlighted in yellow. You should attention to "
     
    10231044msgstr ""
    10241045
    1025 #: includes/class-wc-robokassa.php:961
     1046#: includes/class-wc-robokassa.php:983
    10261047msgid ""
    10271048"Critical errors were detected. They are highlighted in red. Payment "
     
    10291050msgstr ""
    10301051
    1031 #: includes/class-wc-robokassa.php:965
     1052#: includes/class-wc-robokassa.php:987
    10321053msgid "Status"
    10331054msgstr ""
  • wc-robokassa/trunk/license.txt

    r2233480 r2507761  
    11Payment gateway - Robokassa for WooCommerce
    22
    3 Copyright © 2015-2020 by Mofsy, Official site http://mofsy.ru
     3Copyright © 2015-2021 by Mofsy, Official site http://mofsy.ru
    44
    55This program is free software; you can redistribute it and/or modify
  • wc-robokassa/trunk/readme.txt

    r2334486 r2507761  
    33Tags: robokassa, woocommerce, робокасса, робочеки, payment, gateway, woo commerce, ecommerce, gateway, woo robokassa, shop, robo, merchant, woo, woo robo
    44Requires at least: 4.2
    5 Tested up to: 5.4
     5Tested up to: 5.7
    66Requires PHP: 5.6
    77Stable tag: trunk
     
    6868
    6969== Changelog ==
     70
     71= 4.1.0 =
     72* Test: WordPress 5.7
     73* WC tested up to: 5.0
     74* Fix: loading
    7075
    7176= 4.0.0 =
  • wc-robokassa/trunk/wc-robokassa.php

    r2334486 r2507761  
    44 * Description: Integration Robokassa in WooCommerce as payment gateway.
    55 * Plugin URI: https://mofsy.ru/projects/wc-robokassa
    6  * Version: 4.0.0
     6 * Version: 4.1.0
    77 * WC requires at least: 3.0
    8  * WC tested up to: 4.2
     8 * WC tested up to: 5.1
    99 * Text Domain: wc-robokassa
    1010 * Domain Path: /languages
    1111 * Author: Mofsy
    1212 * Author URI: https://mofsy.ru
    13  * Copyright: Mofsy © 2015-2020
     13 * Copyright: Mofsy © 2015-2021
    1414 * License: GNU General Public License v3.0
    1515 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
     
    1919defined('ABSPATH') || exit;
    2020
    21 if(class_exists('WC_Robokassa') !== true)
     21if(false === class_exists('WC_Robokassa'))
    2222{
     23    if(false === function_exists('get_file_data'))
     24    {
     25        return false;
     26    }
     27
    2328    $plugin_data = get_file_data(__FILE__, array('Version' => 'Version'));
    2429    define('WC_ROBOKASSA_VERSION', $plugin_data['Version']);
     
    3136    include_once __DIR__ . '/includes/class-wc-robokassa-logger.php';
    3237    include_once __DIR__ . '/includes/class-wc-robokassa.php';
     38
     39    add_action('plugins_loaded', 'WC_Robokassa', 5);
    3340}
    34 
    35 add_action('plugins_loaded', 'WC_Robokassa', 5);
Note: See TracChangeset for help on using the changeset viewer.