Авторизация

Все запросы к апи осуществляются по адресу https://cashmost.com/api/userapi/{command}?sign={sign} методом POST и параметрами в формате JSON

Формирование подписи

Для генерирования цифровой подписи (sign) Вам необходимо передаваемый "POST body" подписать секретным ключом с помощью алгоритма HMAC SHA512

Пример функции запроса к API на языке программирвоания PHP:

function apiRequest($command, $reqParams)
{
    $secret = 'xxx';
    $reqParams['ShopId'] = 'c4cfc3ed-d402-48fa-a99f-704fe0cc840f';
    $reqParams['Nonce'] = time();

    $postJson = json_encode($reqParams);
    $sign = hash_hmac('sha512', $postJson, $secret);
    $url = "https://cashmost.com/api/userapi/$command?sign=$sign";
    $options = array(
        'http' => array(
            'header' => "Content-type: application/json\r\n",
            'method' => 'POST',
            'content' => $postJson
        )
    );
    $context = stream_context_create($options);
    $resJson = file_get_contents($url, false, $context);
    $result = json_decode($resJson, true);
    return $result;
}

$response = apiRequest('getbalance', []);

Получение баланса - getbalance

Ответ в формате JSON следующего вида:

{
   "Success":bool|true:false,
   "Message":"optional|Описание ошибки в случае неудачи",
   "Data":[
      {
         "CurrencyId":"USD",
         "Available":10.01
      }
   ]
}

Создание заявки на вывод - createWithdrawal

В таблице ниже указанны параметры для создания заявки

Parameter Required Description
WalletId required int
PointId required int, Id точки вывода
Purse required string, Номер кошелька
Amount required Сумма к получению пользователем в валюте получения
AmountFromShop required Сумма к списанию с мерчанта в валюте кошелька WalletId
ShopOrderId optional Номер счета на сайте продавца
StatusUrl optional URL для коллбека со статусом платежа

Ответ в формате JSON следующего вида:

{"Success":"bool|true:false", "Message": "optional|Описание ошибки в случае неудачи", "Data": "int|Id заявки в системе Cashmost"}

Информация по заявке вывода - findWithdrawal

В таблице ниже указанны параметры для поиска заявки

Parameter Required Description
PaymentId required int, Id заявки в системе Cashmost

Ответ в формате JSON следующего вида:

{
  "Success": true,
  "Message": null,
  "Data": {
    "Id": 2,
    "Guid": "beb21e32-a1d4-44c2-a9af-6cc8bc43ed48",
    "CreateDateTime": "2018-04-17T00:00:00",
    "CurrencyId": "RUB",        //Валюта к получению пользователем
    "ToShopCurrencyId": "RUB",  //Валюта кошелька магазина
    "PaySystem": "Perfect Money",
    "ClientEmail": null,
    "ShopOrderId": null,
    "PaymentType": "Withdrawal",
    "State": "Created",
    "Purse": null,
    "Amount": 10.00000000,      //Сумма к получению пользователем
    "AmountToShop": 10.00000000, //Сумма списанная с мерчанта
    "Comment":"string|null"
  }
}

Поиск платежей - findPayments

В таблице ниже указанны параметры для поиска заявки

Parameter Required Description
PaymentType required Deposit, Withdrawal
PaymentId optional int, Id заявки в системе Cashmost
ShopOrderId optional string, Id заказа мерчанта
FromDateTime optional string, (ex. 2020-01-01 00:00:00)
ToDateTime optional string, (ex. 2020-01-01 00:00:00)

Если не задан ни один "optional" параметр, запрос вернет все платежи за текущий день

Ответ в формате JSON следующего вида:

{
   "Success":true,
   "Message":null,
   "Data":[
      {
         "Id":2,
         "Guid":"beb21e32-a1d4-44c2-a9af-6cc8bc43ed48",
         "CreateDateTime":"2018-04-17T00:00:00",
         "CurrencyId":"RUB",
         "ToShopCurrencyId":"RUB",
         "PaySystem":"Perfect Money",
         "ClientEmail":null,
         "ShopOrderId":null,
         "PaymentType":"Withdrawal",
         "State":"Created",
         "Purse":null,
         "Amount":10.00000000,
         "AmountToShop":10.00000000,
         "Comment":"string|null"
      }
   ]
}