Bitcoin Forum
May 11, 2024, 10:24:11 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Как организовать прием Червонцев (SIB) на сайт  (Read 5686 times)
chum_yum (OP)
Legendary
*
Offline Offline

Activity: 1107
Merit: 1025



View Profile
March 18, 2016, 09:56:12 PM
Last edit: March 19, 2016, 07:02:50 AM by chum_yum
 #1

Вы можете автоматизировать прием платежей Сибирский Червонец (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:
<a href="https://sibcoin.info"><img src="https://sibcoin.info/img/accept_sibcoin.png" alt="Принимаем Червонцы в качестве оплаты" title="Принимаем Червонцы в качестве оплаты" width="140" height="70"></a>

Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715466251
Hero Member
*
Offline Offline

Posts: 1715466251

View Profile Personal Message (Offline)

Ignore
1715466251
Reply with quote  #2

1715466251
Report to moderator
Vadi2323
Legendary
*
Offline Offline

Activity: 2044
Merit: 1231


View Profile
March 19, 2016, 04:21:58 AM
 #2

Нужно ли делать бэкап кошелька после создания кажного нового адреса для клиента? Или достаточно одной резервной копии, при восстановлении которой можно будет восстановить все адреса?
chum_yum (OP)
Legendary
*
Offline Offline

Activity: 1107
Merit: 1025



View Profile
March 19, 2016, 06:38:48 AM
Last edit: March 19, 2016, 09:13:31 AM by chum_yum
 #3

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

Я имею в виду случай, когда на новый адрес клиента поступил перевод, бэкап еще не сделан, но диск уже сломался..
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!