Метод 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";
}