function commerce_robokassa_payment_methods_list in Commerce robokassa 7.2
2 calls to commerce_robokassa_payment_methods_list()
- commerce_robokassa_settings_form in ./
commerce_robokassa.module - Payment method callback: settings form.
- commerce_robokassa_submit_form in ./
commerce_robokassa.module - Payment method callback: adds a message and CSS to the submission form.
File
- ./
commerce_robokassa.module, line 591 - Drupal Commerce Robokassa payment method.
Code
function commerce_robokassa_payment_methods_list($settings) {
$url = 'https://auth.robokassa.ru/Merchant/WebService/Service.asmx/GetCurrencies';
global $language;
$lang = $language->language == 'ru' ? 'ru' : 'en';
$data = array(
'MerchantLogin' => $settings['MrchLogin'],
'Language' => $lang,
);
$full_url = url($url, array(
'query' => $data,
));
$result = drupal_http_request($full_url);
$xmlstring = $result->data;
$xml = simplexml_load_string($xmlstring, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
$array = json_decode($json, TRUE);
$ret = array();
foreach ($array['Groups'] as $groups) {
foreach ($groups as $group) {
foreach ($group['Items'] as $item) {
if (isset($item['@attributes'])) {
$item = array(
$item,
);
}
foreach ($item as $currency) {
$ret[$currency['@attributes']['Label']] = $currency['@attributes']['Name'];
}
}
}
}
return $ret;
}