Author

Topic: Как организовать прием Червонцев (SIB) на сай&#1090 (Read 5708 times)

legendary
Activity: 1128
Merit: 1028
Можно и забэкапить....Как я понимаю, бэкапы могут производиться независимо, раз в какое-то время. Они содержат все адреса бумажника.
Но нужно просто понимать, что вместе с адресом получения генерится и приватный ключ, в случае утери которого восстановить контроль над червонцами для данного адреса будет невозможно.

Я имею в виду случай, когда на новый адрес клиента поступил перевод, бэкап еще не сделан, но диск уже сломался..
legendary
Activity: 2044
Merit: 1231
Нужно ли делать бэкап кошелька после создания кажного нового адреса для клиента? Или достаточно одной резервной копии, при восстановлении которой можно будет восстановить все адреса?
legendary
Activity: 1128
Merit: 1028
Вы можете автоматизировать прием платежей Сибирский Червонец (SIB) на вашем сайте.



Для этого вам нужно:
  • установить и запустить на вашем сервере полную версию кошелька
  • каждому клиенту сгенерировать уникальный адрес SIB для пополнения
  • периодически, скриптом проверять входящие транзакции на ваш кошелек

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

Запрос платежа

1. Сгенерируйте новый адрес клиенту командой:
Code:
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. Получаем список транзакций с помощью команды:

Code:
listtransactions "account"
где «account» – ограничение (если вы хотите посмотреть транзакции только для данного аккаунта)

2. В ответе проверяем:
- тип транзакции (входящая) - "category" : "receive"
- сумму "amount":
- количество подтверждений в сети "confirmations":>X, после наступления которых вы зачислите платёж клиенту в вашей системе (например, если больше 3-х подтверждений, то зачисляем):

Code:
[
{
"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 в базе, необходимо запросить курс, а потом зачислить сумму в другой валюте.

Далее, запишем лог, и все готово.

В завершение повесим ярлык в подвал вашего сайта, что вы принимаете Червонцы:

Code:
Принимаем Червонцы в качестве оплаты

Jump to: