меню
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

Метод transferMoney

Метод для перевода денег со счёта одного пользователя на счёт другого. Оба пользователя должны быть прикреплены к вызывающему метод пользователю-реселлеру. Также можно переводить деньги со своего или на свой счёт.

Если вы переводите деньги со своего счёта, и у вас есть реселлерская скидка, на счёт пользователя, которому вы переводите деньги, будет зачислена сумма, увеличенная на размер этой скидки.

Данный метод возможен только для аккаунтов, у которых имеется статуст реселлера.

Принцип использования

Синтаксис и URL для вызова метода
transferMoney (string source_login, string target_login, int sum,
string currency)
https://api.unisender.com/ru/api/transferMoney?format=json&api_key=KEY&source_login=FROM&target_login=TO&sum=
SUM&currency=CURR
Аргументы
api_key * Ключ доступа к API
source_login * Логин пользователя, со счёта которого списываются деньги.
target_login * Логин пользователя, на счёт которого зачисляются деньги.
sum * Сумма, перечисляемая со счёта на счёт
currency * Валюта, в которой задана сумма – RUB, EUR, UAH или USD. При несовпадении валюты с валютами счёта одного из пользователей будет проведена конвертация по внутреннему курсу.
Возвращаемое значение
JSON-объект со следующими полями:
source_old_balance Состояние счёта пользователя до списания денег
source_new_balance Состояние счёта пользователя после списания денег
source_currency Валюта пользователя, со счёта которого списываются деньги
target_old_balance Состояние счёта пользователя до зачисления денег
target_new_balance Состояние счёта пользователя после зачисления денег
target_currency Валюта пользователя, на счёт которого зачисляются деньги
Примеры возвращаемых значений:

{
  "error":"На Вашем счёте всего 18.52 usd, а Вы хотите перевести 25.97 usd",
  "code":"unspecified",
  "result":""
}
{
  "result":{
    "source_old_balance":18.52,
    "source_new_balance":17.52,
    "source_currency":"USD",
    "target_old_balance":18.52,
    "target_new_balance":19.52,
    "target_currency":"USD"
  }
}

Примеры на PHP

Мы настоятельно рекомендуем использовать POST-запросы, так как это более безопасный метод передачи данных, нежели GET. Используйте SSL-соединение с UniSender. Подробнее о методах соединения здесь.

Пример с использованием POST-запроса

// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxxxxxx";

// Параметры перевода денег
$login_from = "user_from_must_be_reseller";
$login_to = "user_to_must_be_your_user";
$sum = "800";
$currency = "RUB";

// Создаём POST-запрос
$POST = array (
  'api_key' => $api_key,
  'source_login' => $login_from,
  'target_login' => $login_to,
  'sum' => $sum,
  'currency' => $currency
);

// Устанавливаем соединение
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $POST);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_URL, 
            'https://api.unisender.com/ru/api/transferMoney?format=json');
$result = curl_exec($ch);

if ($result) {
  // Раскодируем ответ API-сервера
  $jsonObj = json_decode($result);

  if(null===$jsonObj) {
    // Ошибка в полученном ответе
    echo "Invalid JSON";

  }
  elseif(!empty($jsonObj->error)) {
    // Ошибка перевода денег
    echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

  } else {
    // Деньги успешно переведены
    echo "Ready. New user balance is " . 
          $jsonObj->result->target_new_balance . " " .
          $jsonObj->result->target_currency;


  }
} else {
  // Ошибка соединения с API-сервером
  echo "API access error";
}

Пример с использованием GET-запроса

// Ваш ключ доступа к API (из Личного Кабинета)
$api_key = "xxxxxxxxxxxx";

// Параметры перевода денег
$login_from = "user_from_must_be_reseller";
$login_to = "user_to_must_be_your_user";
$sum = "800";
$currency = "RUB";

// Создаём GET-запрос
$api_url = "https://api.unisender.com/ru/api/transferMoney?format=json".
           "&api_key=$api_key&source_login=$login_from&target_login=$login_to".
           "&sum=$sum&currency=$currency";

// Делаем запрос на API-сервер
$result = file_get_contents($api_url);

if ($result) {
  // Раскодируем ответ API-сервера
  $jsonObj = json_decode($result);

  if(null===$jsonObj) {
    // Ошибка в полученном ответе
    echo "Invalid JSON";

  }
  elseif(!empty($jsonObj->error)) {
    // Ошибка перевода денег
    echo "An error occured: " . $jsonObj->error . "(code: " . $jsonObj->code . ")";

  } else {
    // Деньги успешно переведены
    echo "Ready. New user balance is " . 
          $jsonObj->result->target_new_balance . " " .
          $jsonObj->result->target_currency;

  }

} else {
  // Ошибка соединения с API-сервером
  echo "API access error";
}