Jump to content

Recommended Posts

Posted (edited)

В этой теме, бесплатно помогаю подключить прием платежей bitcoin на ваш сайт.

Если вы разбираетесь в данной теме и хотите сами реализовать прием платежей - ниже есть пример.

Не смущайтесь, что написано для litecoin. Логика та же и для bitcoin.

 

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

Но очень хочет начать приминать bitcoin. Для этого свяжитесь со мной по icq: 450420625

 

Отдельно отмечу, что для запуска bitcoind -> нужен VPS с диском как минимум 40Gb.

 

 

Ставим litecoin wallet.

apt-get install build-essential libssl-dev libdb5.1-dev libdb5.1++-dev libboost-all-dev git
git clone git://github.com/litecoin-project/litecoin.git
cd litecoin/src
make -j2 -f makefile.unix USE_UPNP=
cp litecoind /usr/bin/litecoind
mkdir ~/.litecoin

Создаем /root/.litecoin/litecoin.conf c правами 0600

server=1
rpcallowip=127.0.0.1
rpcuser=HardToGuessUsername
rpcpassword=Str0ngS3cur3Passw0rd1

Запускаем

litecoind -daemon

Чтобы отправлять команды на API -> воспользуемся jsonRPCClient.

Всем пользователям делаем отдельный адрес (чтобы определить, кто оплатил).

$litecoin->getnewaddress("NAME");

ltc1.png

Далее раз в N минут проверяем транзакции, где количество подтверждений от 6 до 1000.

Если получили такие транзакции -> проверяем txid в базе. Если в базе нет txid -> увеличиваем баланс. Если есть -> игнорируем.

ltc2.png

Пример кода (проверка оплаты)

<? // example by poiuty 
require_once('jsonRPCClient.php');

$litecoin = new jsonRPCClient('http://USER:PASSWD@127.0.0.1:9332/');

// Получаем массив и делаем цикл
$i = 0;
$a = $litecoin->listtransactions("*", 100000));

while(count($a) > $i){

// Проверяем тип транзакции, количество подтверждений + сумму
if($a["$i"]["category"] != "receive" || $a["$i"]["confirmations"] < 6 || $a["$i"]["amount"] < 0.001) continue;

// Есть ли в базе эта транзакция?
$select_query = $db->prepare("SELECT * FROM `billing_log` WHERE `payment_id` =:id");
$select_query->bindParam(':id', $a["$i"]["txid"], PDO::PARAM_STR);
$select_query->execute();
if($select_query->rowCount() > 0){ $i++; continue; }

// Кто оплачивает?
$select_query = $db->prepare("SELECT * FROM `users` WHERE `ltc` =:address");
$select_query->bindParam(':address', $a["$i"]["address"], PDO::PARAM_STR);
$select_query->execute();
if($select_query->rowCount() != 1){ $i++; continue; }
$row = $select_query->fetch();
$user_id = $row['user_id'];

// Узнаем курс
$select_query = $db->prepare("SELECT * FROM `ltc` WHERE `id` = '1'");
$select_query->execute();
$row = $select_query->fetch();
$ltc_val = $row['value'];

// Увеличим баланс
$money = round($a["$i"]["amount"]*$ltc_val);
$update_query = $db->prepare("UPDATE `users` SET `money` = `money`+:money WHERE `user_id` = :user_id");
$update_query->bindParam(':money', $money, PDO::PARAM_STR);
$update_query->bindParam(':user_id', $user_id, PDO::PARAM_STR);
$update_query->execute();

// Запишем лог
$insert_query = $db->prepare("insert into `billing_log`(`payment_id`, `amount`, `date`, `system`, `user_id`) VALUES ( :id, :money, UNIX_TIMESTAMP(), 'Litecoin', :user_id)");
$insert_query->bindParam(':id', $a["$i"]["txid"], PDO::PARAM_STR);
$insert_query->bindParam(':money', $money, PDO::PARAM_STR);
$insert_query->bindParam(':user_id', $user_id, PDO::PARAM_STR);
$insert_query->execute();

$i++;
}

 

Узнаем средний курс по BTC-E

<? // example by poiuty
$i = file_get_contents("https://btc-e.com/api/2/ltc_rur/ticker");
if($i === false) die;
$i = json_decode($i, true);
$i = (int) $i["ticker"]['avg'];

$update_query = $db->prepare("UPDATE `ltc` SET `value` = :ltc WHERE `id` = '1'");
$update_query->bindParam(':ltc', $i, PDO::PARAM_STR);
$update_query->execute();
Edited by Helber
Posted

Далее раз в N минут проверяем транзакции, где количество подтверждений от 6 до 1000.

Если получили такие транзакции -> проверяем txid в базе. Если в базе нет txid -> увеличиваем баланс. Если есть -> игнорируем.

 

А можно поподробнее на этом месте ? Особенно со второго предложения, если не затруднит.

Posted (edited)

@condor2zero, можно поставить выполнение скрипта по крону, который будет толкать скрипт раз в N минут.

Wallet -> один, адресов можно сделать сколько угодно.

С помощью listunspent 6 1000 -> получаем транзакции у которых количество подтверждений больше или равно 6, но меньше или ровно 1000.

 

Для LTC подтвержденный платеж = 6 confirmations. Ограничиваем верхним числом -> чтобы не получить слишком много данных.

 

Теперь, когда мы получили некие данные -> проверим транзакцию, возможно мы ее уже обрабатывали.

Делаем запрос в базу, если не находим -> значит обрабатываем -> увеличиваем баланс пользователю и записываем лог.

Edited by poiuty
Posted

@condor2zero, можно поставить выполнение скрипта по крону, который будет толкать скрипт раз в N минут.

Wallet -> один, адресов можно сделать сколько угодно.

С помощью listunspent 6 1000 -> получаем транзакции у которых количество подтверждений больше или равно 6, но меньше или ровно 1000.

 

Для LTC подтвержденный платеж = 6 confirmations. Ограничиваем верхним числом -> чтобы не получить слишком много данных.

 

Теперь, когда мы получили некие данные -> проверим транзакцию, возможно мы ее уже обрабатывали.

Делаем запрос в базу, если не находим -> значит обрабатываем -> увеличиваем баланс пользователю и записываем лог.

Спасибо за развернутый ответ. Big Thanks !!!!

  • 2 weeks later...
  • 7 months later...
Posted (edited)

<? // example by poiuty
$i = file_get_contents("https://btc-e.com/api/2/ltc_rur/ticker");
if($i === false) die;
$i = json_decode($i, true);
$i = (int) $i["ticker"]['avg'];

$update_query = $db->prepare("UPDATE `ltc` SET `value` = :ltc WHERE `id` = '1'");
$update_query->bindParam(':ltc', $i, PDO::PARAM_STR);
$update_query->execute();

 

через file_get_contents () вы можете не получить результата по https:. нужно использовать cURL,

примерно такого вида:

$json = curl_init('https://btc-e.com/api/2/ltc_usd/ticker');
	curl_setopt($json, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($json, CURLOPT_SSL_VERIFYPEER, 0);
	curl_setopt($json, CURLOPT_SSL_VERIFYHOST, 0);
	
        $result = curl_exec($json);
	curl_close($json);

	$data = json_decode($result, true);
Edited by zcambler
Posted (edited)

Без проблем забирает результат

echo file_get_contents("https://btc-e.com/api/2/ltc_rur/ticker");

http://poiuty.com/test.php

 

не спорю на btc-e.com прокатывает, на других может и непрокатить, правильней будет через cURL точнее универсальней

echo file_get_contents("https://blockchain.info/en/ticker");
Edited by zcambler
  • 3 months later...
Posted (edited)

Скачал твой исходник с гитхуба так и не сбог Базу даных подключить пишет на сайте ошибка  mysql

2момента-так вот в какой папке лежит сама база и где указать конфигурацию  для её подключения?

исходник тут https://github.com/poiuty/midas-processing

Если кто разберётся буду рад отблагодарить доджикоинами.

 

Ещё ищу статью ЛЕКСИКУСА ник непомню или на биткоинталке или где он там пример реализаци ивыкладывал на ПХП чтобы принимать битки на сайте!Ссылку бы найти тоже помощи ищу!

 

имено интересуют статьи работы через Биткоинд клиент напрямую на своём хостинге !

Edited by gpufanat
Posted (edited)

А чо не разобраца!раздел Разработка!

ТУТ не дураки сидят!И знают чо почём!

Ху*рят кода поти по 1000-2000 строчек в день и не знают как установить? Да хоть не смеши меня ЛИОН74

Просто кто делал этот скрипт он хорошо понимал как он работает.

И делал чтобы порвать всех и изменить мир к лучшему!

И хватит меня преследовать и подкалывать во всех темах форума!

Edited by gpufanat
  • 2 weeks later...
Posted (edited)

Спасибо уже научился. Статью ЛЕКСИКУСА о подкл биткоин платежей на сайт с примером на гит хабе скачал.

Edited by gpufanat
Posted (edited)

Обновил первый пост. Теперь в этой теме буду бесплатно помогать подключить прием платежей bitcoin на ваш сайт.
Модеров прошу закрепить тему в этом разделе.

Edited by poiuty
Posted

 

 

Но очень хочет начать приминать bitcoin

Да хватит уже! И так примяли его, что дальше некуда :)
  • 2 weeks later...
Posted (edited)

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

Edited by gpufanat
  • 3 weeks later...
Posted

Обновил первый пост. Теперь в этой теме буду бесплатно помогать подключить прием платежей bitcoin на ваш сайт.

Модеров прошу закрепить тему в этом разделе.

Добрый день!

 

Подскажи пожалуйста, есть ли возможность пришить прием платежей в битках прям к странице в фейсбуке?

Posted
GustoElPeyote, можно указать адрес btc кошелька на странице. Если facebook позволяет вывести виджет - можно реализовать через него.
Posted

Думаю фейсбук позволяет. А на вордпрессе как можно реализовать эту возможность? Он точно позволяет.

  • 2 weeks later...
Posted

Добрый день! 

Не могли бы Вы рассказать о приеме биткойнов на сайте простым русским языком, без скриптов и технических особенностей?!  )))

Если такое возможно!

 

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

К примеру вот есть пустой хостинг и идея проекта. Что дальше?

Связываться с мерчантами не хочу, интересно сделать все независимо!

Спасибо заранее так сказать! ) 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • Услуги NOROS Payments - Прием любых платежей для HIGH/LOW RISK

      Связаться: https://t.me/sup_nn Наш сайт: https://noros.org/

      in Платежные решения

    • HILLPAY - Новый сервис приема платежей

      Что предлагает  Hillpay:   - Гибкое покрытие GEO — работаем не только с РФ, но и с трансграничными направлениями - Опытная команда трейдеров - Интеграция по API - Готовность к приёму и отдаче каскада - Поддержка кастомной логики под потребности партнёров   Наш сайт :   HILLPAY Контакты для связи:  Телеграм      @hillpay_manager  Почта           hillpay@proton.me       ------------------------------------------------------

      in Платежные решения

    • Курс Bitcoin (только про Bitcoin)

      В данной ветке предлагаю вести обсуждение курса Bitcoin Общее обсуждение курсов криптовалют происходит в топике Курсы криптовалют  Также у нас есть ветка по обсуждению "справедливого курса" Bitcoin     Несколько полезных инструментов для отслеживания курса: bitcoin.clarkmoody отображает стакан Mt.Gox и строит в реалтайме японские свечи bitcoinchain сравнение курсов на разных биржах на одном графике bitcoincharts курсы на различных биржах в табличном представлении  

      in Биткоин

    • E-pay - прием P2P платежей для сайтов и телеграм ботов. Россия, Украина. Любые тематики.

      E-pay -  прием P2P платежей для сайтов и телеграм ботов.     Быстрая интеграция через API. Возможна автоматическая выдача карт в Telegram. Принимаемые ГЕО: Россия, Украина. Принимаем платежи от 350 руб. Подключаемые тематики - любые. Выплаты: в любое время на USDT, банковские карты, СБП. Круглосуточная поддержка парнтеров.   Сервис:  https://e-pay.plus Контакт: https://t.me/E_pay_plus

      in Платежные решения

    • PayShark - надёжный провайдер обработки high-risk платежей

      Pay Shark - Надежный провайдер обработки платежей Депозиты и выплаты фиата с проходимостью до 99% P2P, P2C и e-com решения на разных ГЕО. PayShark.net (кликабельно) - наше платежное решение для Вашего бизнеса. Условия подключения к нам: Прием: 7%  + 0.5% Праймтайм (на разнице курсов может выйти +1%) Курс с БайБита зеленый стакан Трафик:  Гемблинг  Беттинг   Почему Pay Shark?  Автоматика, совместимая с любыми банками – никаких ограничений.  Полная прозрачность

      in Платежные решения

×
×
  • Create New...