Вы можете автоматизировать прием платежей Сибирский Червонец (SIB) на вашем сайте.Для этого вам нужно: - установить и запустить на вашем сервере полную версию кошелька
- каждому клиенту сгенерировать уникальный адрес SIB для пополнения
- периодически, скриптом проверять входящие транзакции на ваш кошелек
Когда вы видите новую входящую транзакцию, проверьте, на какой адрес поступили деньги. Узнайте, кому из клиентов принадлежит адрес и увеличьте его баланс. После этого поменяйте в базе статус транзакции, чтобы не зачислить её повторно.
----
Запрос платежа1. Сгенерируйте новый адрес клиенту командой:
getnewaddress "account"
где «account» – имя пользователя в вашей системе. Данное имя запишется в бумажнике, как Метка к адресу
2. Сгенерируйте внутреннюю ссылку
URI для совершения платежа "в один клик". Ссылка запускает приложение на устройстве клиента и подставляет параметры для оплаты: сумма, метка, сообщение (детали платежа). Клиенту остается нажать кнопку «Отправить»
Формат URI: sibcoin:SQVjvk5DiToPR4ktZpHQBiWos718scGizB?amount=100.00000000&label=AlexxTrade&message=account_deposit-
SQVjvk5DiToPR4ktZpHQBiWos718scGizB – адрес, сгененрированный вами для данного клиента
-
amount=100.00000000 – сумма SIB для оплаты
-
label=AlexxTrade – метка для кошелька клиента (название вашего магазина/сервиса, отображаемая в его записной книжке)
-
message=account_deposit – детали платежа (за что оплата)
3. Сгенерируйте QR-код для оплаты с мобильных устройств, для которых ввод адреса вручную крайне неудобен, чтение QR-кода – наиболее предпочтително. QR-Reader встроен в мобильный кошелек Червонца (SIB). Для генерации используйте любую открытую библиотеку или сервис. В QR-код необходимо закодировать URI.
В результате, после нажатия кнопки «Оплатить» в вашем магазине, клиент должен увидеть примерно такой экран:
----
Проверка платежей и зачисление1. Получаем список транзакций с помощью команды:
listtransactions "account"
где «account» – ограничение (если вы хотите посмотреть транзакции только для данного аккаунта)
2. В ответе проверяем:
- тип транзакции (входящая) - "category" :
"receive" - сумму
"amount":- количество подтверждений в сети
"confirmations":>X, после наступления которых вы зачислите платёж клиенту в вашей системе (например, если больше 3-х подтверждений, то зачисляем):
[
{
"account" : "Ivan_Petrov",
"address" : "SXdjZK1beuGYKYDD8utymUmjZkdsHVTazW",
"category" : "receive",
"amount" : 100.00000000,
"vout" : 1,
"confirmations" : 7019,
"bcconfirmations" : 7019,
"blockhash" : "00000000178e2403c42dbd979376027dba6eefc773a2317ed18084b6d2bffa52",
"blockindex" : 1,
"blocktime" : 1457219932,
"txid" : "f35e9c06b80c18ef9263a772dfe25888c0efc49c2c68197060cefc812ce99eae",
"walletconflicts" : [
],
"time" : 1457219926,
"timereceived" : 1457219926
},
{
"account" : "Ivan_Petrov",
"address" : "SXdjZK1beuGYKYDD8utymUmjZkdsHVTazW",
"category" : "receive",
"amount" : 180.90000000,
"vout" : 1,
"confirmations" : 1670,
"bcconfirmations" : 1670,
"blockhash" : "00000000027595a35e1c415f9b3deeb5a880ccb3b090b6b0241c2e745206a8be",
"blockindex" : 1,
"blocktime" : 1458064825,
"txid" : "a7393b8ca262a2f98d8d8b91141f6971af82e47f074d9c2c828905b456cbe83c",
"walletconflicts" : [
],
"time" : 1458064726,
"timereceived" : 1458064726
}
]
3. В базе делаем проверку, нет ли там уже данной транзакции (txid). И, если нет, – увеличиваем баланс клиента (зачисляем платёж).
Если в вашей системе зачисление происходит в другой валюте по курсу, то после проверки txid в базе, необходимо запросить курс, а потом зачислить сумму в другой валюте.
Далее, запишем лог, и все готово.
В завершение повесим ярлык в подвал вашего сайта, что вы принимаете Червонцы: