API обмена криптовалют - Indacoin

api

На этой странице вы можете найти методы, которые используются для обеспечения вашего сервиса функцией обмена криптовалюты Indacoin. Например, если вы хотите, чтобы ваши пользователи оплачивали свои покупки, используя банковские карты, наш API идеально подойдет для решения этой задачи.

Как стать партнером Indacoin:

  • Выберите тип интеграции, который вам больше всего подходит.
  • Свяжитесь с нами, чтобы верифицировать аккаунт своей компании.
  • Получите ключи (partnername и secret), необходимые для интеграции.
  • Начинайте интеграцию у себя на сайте.

Для получения более подробной информации о возможностях нашего API пишите на почту [email protected]

Типы интеграции

Быстрая интеграция

Вы можете форвардить пользователей на URL адрес без создания транзакции с помощью API, cur_from должен быть выбран из списка валют (USD, EURO, RUB) а cur_to представляет собой short_name коина.

Полный список криптовалют: https://indacoin.com/api/mobgetcurrencies

Общий вид запроса: https://indacoin.com/gw/payment_form?partner={YourPartnerName}&cur_from={CurrencyFrom}&cur_to={CurrencyTo}&amount={Amount}&address={WalletAddress}&user_id={UserID}

Посмотреть пример

Стандартная интеграция

  • Мы рекомендуем сделать реквест exgw_getUserlimits, чтобы проверить лимит конкретного пользователя (лимит зависит от региона проживания клиента и истории его/ее покупок у нас на платформе). (Этот шаг не является обязательным)
  • Когда пользователь совершает платеж, вы должны получить ID-transaction для проведения этого платежа. Чтобы это сделать, отправьте реквест exgw_createTransaction с выбранной суммой, валютой и адресом кошелька.
  • Для редиректа клиента на страницу платежа вы должны использовать ID-transaction, чтобы создать URL.

В обоих случаях пользователь должен посетить нашу страницу оплаты, чтобы сделать платеж, пройти верификацию и получить подтверждение покупки. После того, как клиент осуществил платеж, вам будет приходить коллбэк о каждом изменении статуса транзакции.

После того, как клиент осуществил платеж, вам будет приходить коллбэк о каждом изменении статуса транзакции.

Возможные статусы транзакций:

  • NotFound
  • Chargeback
  • Declined
  • Cancelled
  • Failed
  • Draft
  • Paid
  • Verification
  • FundsSent
  • Finished

Статус транзакции можно узнать через методы:

https://indacoin.com/api/exgw_gettransactioninfo

https://indacoin.com/api/exgw_getTransactions

Покупка считается успешной после достижения статуса Finished.

Методы:

Создание транзакции

POST /api/exgw_createTransaction
- создание новой транзакции
Параметры в json:
user_id - string;
cur_in - string(eur, usd);
cur_out - string (btc,eth,usd,euro);
target_address - string
amount_in - decimal

Get price

(the method is valid only for crypto processing)
/api/GetCoinConvertAmount/{currencyFrom}/{currencyTo}/{amount:decimal}/{partner?}/{userId?}
- receive amount user will get
Missing translation: api.introduction.text-20
Currency - string (usd, euro);
Amount - numeric_string;
PartnerName - string

Transaction history

POST /api/exgw_getTransactions
- позвращает информацию по последним транзакциям
Параметры в json:
user_id - string;
tx_id - string;
status - tx_status;
created_at - int/timestamp;
hash - string (or null);
cur_in - string (usd, eur);
cur_out - string (btc, eth, usd, euro);
amount_in - numeric_string;
amount_out - numeric_string;
target_address - string;
limit - int;
offset - int
все параметры необязательны

Transaction info

POST /api/exgw_gettransactioninfo
- возвращает информацию по транзакции
Параметры в json:
transaction_id - numeric

Пример создания запроса на PHP

$method = 'POST';
$target_url = 'https://indacoin.com/api/exgw_createTransaction';
$user_id = 'test_user_1';
$cur_in = 'usd';
$cur_out = 'btc';
$target_address = '1FeGgKxU5gjC562wZXd67VTVfwcSjpqv3Y';
$amount_in = '55';

$nonce = 1000000;
$partnername=;//ask for it
$string=$partnername."_".$nonce;
$secret= ; //ask for it
$sig = base64_encode(hash_hmac('sha256', $string, $secret,true));

$arr = array(
  'user_id' => $user_id,
  'cur_in' => $cur_in,
  'cur_out' => $cur_out,
  'target_address' => $target_address,
  'amount_in' => $amount_in
);

$data = json_encode($arr);

$options = array(
  'http' => array(
    'header' => "Content-Type: application/json\r\n"
    ."gw-partner: $partnername\r\n"
    ."gw-nonce: ".$nonce."\r\n"
    ."gw-sign: ".$sig."\r\n",
    'method' => $method,
    'content' => $data
  )
)
echo "start";


Пример создания запроса для URL

Для создания запроса Вам нужно получить ID транзакции из предыдущего запроса.

$transaction_id =; //get it from previous method
$string=$partnername."_".$transaction_id;
$secret="secret";
$sig = base64_encode(base64_encode(hash_hmac('sha256', $string, $secret,true)));

https://indacoin.com/gw/payment_form?transaction_id=1154&partner=indacoin&cnfhash=Ny8zcXVWbCs5MVpGRFFXem44NW h5SE9xTitlajkydFpDTXhDOVMrOFdOOD0=

User limit

POST /api/exgw_getUserlimits
- получить лимиты пользователя (и создает, если они не существуют)
Параметры в json:
user_id - string;
cur_in - string (usd, eur)

Callback section

To verify callback we will send you headers gw-sign, gw-nonce where nonce will be random number and sign will be

base64_encode(base64_encode(hash_hmac(
    'sha256',
    partnerName + '_' +
    trInfo.userId + '_' +
    nonce + '_' +
    trInfo.transactionId,
    $secret,
    true
)));

Пример:

{
  "userId": "[email protected]"
  ,"transactionId": 453668
  ,"requestId": -1
  ,"status": "Draft"
  ,"createdAt": "2018-05-11T11:40:03.75Z"
  ,"confirmedAt": "0001-01-01T00:00:00Z"
  ,"finishedAt": "0001-01-01T00:00:00Z"
  ,"blockchainHash": ""
  ,"link": "/notify.aspx?confirm_code=&request_id=-1"
  ,"curIn": "USD"
  ,"curOut": "BTC"
  ,"amountIn": 112.0
  ,"amountOut": 0.010335
  ,"realAmountOut": 0.0
  ,"targetAddress": "{
    "btcAddress":
    "mtULnCAMY3iUiZmxGUqARhKuoiZQbFT36H"
  }"
  ,"reason": ""
  ,"extra_info": {}
  ,"couponCode": ""
}