[Dev: PHP] Пишем код выплаты в криптовалюте

Баннерные сети, гемблинг, опционы, трейдинг, ежемесячная выплата зарплаты и реферальные сети часто используют одну и ту же стратегию выплат своим клиентам:

  • собирают заявки от клиентов
  • отдел безопасности просматривает список и утверждает его
  • производится периодическая выплата

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

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

Тестовый кошелек: tbtc-bde1cfc70297e4ff7068334b25986819

Тестовый Transfer_key: hyl1aQkd5vwdzT1uExgUCOXOcekUg4Yc

[Dev: PHP] Пишем код выплаты в криптовалюте

Пример кода:

<?php $WalletID = "tbtc-bde1cfc70297e4ff7068334b25986819"; $json_data = '{"transfer_key": "hyl1aQkd5vwdzT1uExgUCOXOcekUg4Yc"}' . array ( 'destinations' => array ( array('address' => "2N4obeEuEidHmuXLCLvWeA4tH9FhB8W8EyD", 'amount' => "100000"), array('address' => "2N1SRgR6Tj4LTxsMiTfM95yHSrBSQTkfvco", 'amount' => "750000") ) ); $api_base = file_get_contents("https://apirone.com/api/v2/wallets/" . $WalletID . "/transfer"); $curl = curl_init($api_base); curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json")); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($json_data)); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $http_status_code = curl_getinfo($curl, CURLINFO_HTTP_CODE); $response = curl_exec($curl); curl_close($curl); $decoded = json_decode($response, true); echo "Transaction hash: " . $decoded["txs"]["0"]; ?>

Где 'destinations' - массив адресов получателей и суммы. Сумма указывается в минорных единицах, например в биткоине это сатоши.

Также можно указать сумму в процентах от общего баланса кошелька.

Например:

'destinations' => array ( array('address' => "2N4obeEuEidHmuXLCLvWeA4tH9FhB8W8EyD", 'amount' => "52.57%"), array('address' => "2N1SRgR6Tj4LTxsMiTfM95yHSrBSQTkfvco", 'amount' => "47.43%") )

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

Результатом выполнения вы получите транзакцию или список транзакций, копию массива получателей, суммы и адрес сдачи, если таковая имеется.

Подробнее с параметрами можно ознакомится на странице https://apirone.com/docs/wallet/#response-example-9

1313
Начать дискуссию