Метод transferMoney
Метод для перевода денег со счёта одного пользователя на счёт другого. Оба пользователя должны быть прикреплены к вызывающему метод пользователю-реселлеру. Также можно переводить деньги со своего или на свой счёт.
Если вы переводите деньги со своего счёта, и у вас есть реселлерская скидка, на счёт пользователя, которому вы переводите деньги, будет зачислена сумма, увеличенная на размер этой скидки.
Данный метод возможен только для аккаунтов, у которых имеется статуст реселлера.
Принцип использования
| Синтаксис и URL для вызова метода |
|---|
| transferMoney (string source_login, string target_login, int sum, string currency) |
| http://api.unisender.com/ru/api/transferMoney?format=json&api_key=KEY&source_login=FROM&target_login=TO &sum=SUM¤cy=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. Подробнее о методах соединения здесь.
Пример с использованием 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,
'http://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 = "http://api.unisender.com/ru/api/transferMoney?format=json".
"&api_key=$api_key&source_login=$login_from&target_login=$login_to".
"&sum=$sum¤cy=$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";
}


