bit.news
RUS USA CH
  • BTC/USD 3658.9
  • LTC/USD 47.639
  • ETH/USD 263
  • ETС/USD 10.274

JOIN
HYDROPOWER
NOW

Profit from green mining
Cleaner mining
Cleaner profits
HydroMiner
H20 Logo
Главная » Главные новости » Как начать принимать платежи в Биткоине на вашем сайте

Как начать принимать платежи в Биткоине на вашем сайте

оплата биткоин

Биткоин - привлекательный метод оплаты для онлайн-предпринимателей, в основном из-за того, что его комиссии за проведение транзакций незначительны по сравнению с другими популярными онлайн-методами оплаты, такими как электронные переводы, платежные системы (например, Paypal) или транзакции с кредитными картами. Соответственно, это поспособствует росту прибыли, наличию более конкурентоспособной модели ценообразования и способности предлагать услуги клиентам во всем мире по доступным ценам. Более того, Биткоин формально не облагается налогом, поскольку он не представляет собой денежную форму, которая выдается правительством. С другой стороны, платежи в Биткоинах псевдоанонимны и мгновенны, при этом исключают потребность в посредниках.

В этом уроке будет показано, как добавить Биткоин в качестве способа оплаты на ваш сайт электронной коммерции. Чтобы иметь возможность принимать платежи в Биткоине, мы будем использовать Blockchain.info Receive Payments API V2, так как он прост, безопасен и его имплементация займет менее 10 минут.

API-интерфейс Blockchain.info V2:

Paychanges API V2 Blockchain.info является самым простым и быстрым способом начать принимать платежи в Биткоине от кого угодно в любой точке мира. С помощью простого запроса HTTP GET- вы можете сразу начать работу.

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

Как запросить ключ API?

Чтобы использовать API (интерфейс программирования приложений) для получения платежей Blockchain.info, вы должны заполнить форму по адресу:

https://api.blockchain.info/v2/apikey/request/

Обратите внимание, что этот ключ API предназначен только для получения платежей. Существует стандартный API кошелька, который доступен в Python, Java, .NET (C #), Ruby, PHP и Node, и может использоваться для отправки и получения платежей. Стандартный API кошелька отличается от API- приема платежей V2, поскольку он не может использоваться для генерации разных адресов для разных пользователей.

На рисунке ниже показана форма заявки на получение API-интерфейса приема платежей V2. Вам понадобится ввести свое имя, адрес электронной почты, URL-адрес веб-сайта, в который будет интегрирован API, а также описание товаров или услуг, которые вы предлагаете на своем веб-сайте. В большинстве случаев ваша заявка будет рассмотрена, и вы получите ответ в течение 2-3 рабочих дней.

как принимать биткоины на сайте

Получение расширенного публичного ключа:

Для возможности получать платежи, этот API нуждается в BIP32 аккаунте XPub.

Самый простой способ начать прием Биткоинов - создать кошелек blockchain.info на странице

Https://blockchain.info/wallet/#/signup

Внутри вашего кошелька нужно будет создать новый аккаунт, который будет использоваться исключительно для получения транзакций, которые поддерживаются API. При вызове API используйте xPub для этого аккаунта, который вы можете найти в (Настройки-> Учетные записи и адреса -> Дополнительные параметры -> Показать код xPub) (Settings-> Accounts and Addresses -> More Options -> Show xPub code), как показано ниже снизу:

как принимать биткоины на сайте 2

Создание уникальных новых адресов для ваших клиентов:

Новый адрес будет создаваться отдельно для каждого клиента, отправляющего платеж. Уведомление HTTP будет отправляться вам всякий раз, когда платежи будут поступать на один из созданных адресов. Обратите внимание, что каждый вызов, сделанный на сервере, приведет к увеличению параметра «“ndex», и гарантирует, что один и тот же адрес не привязан более чем к одному клиенту. Несмотря на это, все монеты, отправленные на любой из созданных адресов, будут поступать в один и тот же кошелек.

https://api.blockchain.info/v2/receive?xpub=$xpub&callback=$callback_url&key=$key

Как продиктовано условиями BIP44, программное обеспечение кошелька не сканирует более 20 неиспользуемых адресов. API покажет ошибку, отказываясь создавать новые адреса, если более 20 из ранее созданных адресов не были использованы. Если вы столкнулись с этой ошибкой, вам придется либо перейти на новый xPub (в том же блоке blockchain.info), либо начать получать платежи на один из ранее созданных неиспользуемых 20 адресов.

Такое поведение можно контролировать с помощью gap_limit в качестве дополнительного параметра URL. Это не приведет к увеличению числа адресов Биткоина, которые могут отслеживаться серверами Blockchain.info. Добавление параметра gap_limit изменяет максимально допустимый предел, до которого API больше не будет генерировать новые адреса.

https://api.blockchain.info/v2/receive?xpub=$xpub&callback=$callback_url&key=$key&gap_limit=$gap_limit

Xpub: ваш xPub (пункт назначения, куда будут отправляться платежи ваших клиентов).

Callback_url: URL-адрес обратного вызова, который будет уведомляться при получении платежа.

Key: Это ваш ключ API-интерфейса получения платежей V2 для blockchain.info, который будет предоставлен после того, как приложение будет успешно принято.

Gap_limit: необязательный параметр, который определяет количество неиспользуемых адресов Биткоина, разрешенных до момента уведомления об ошибке.

С помощью xPub создайте неиспользуемый Биткоин-адрес:

curl “https://api.blockchain.info/v2/receive?xpub=xpub6CWiJoiwxPQni3DFbrQNHWq8kwrL2J1HuBN7zm4xKPCZRmEshc7Dojz4zMah7E4o2GEEbD6HgfG7sQid186Fw9x9akMNKw2mu1PjqacTJB2&callback=https%3A%2F%2Fmystore.com%3Finvoice_id%3D058921123&key=[yourkeyhere]” 

Теперь пусть ваши клиенты отправляют монеты по адресу, указанному в ответе:

RESPONSE: 200 OK, APPLICATION/JSON

{"address":"19jJyiC6DnKyKvPg38eBE8R6yCSXLLEjqw","index":23,"callback":"https://mystore.com?invoice_id=058921123"}

The following represents an example PHP implementation:

$secret = 'ZzsMLGKe162CfA5EcG6j';

$my_xpub = '{YOUR XPUB ADDRESS}';

$my_api_key = '{YOUR API KEY}';

$my_callback_url = 'INSERT YOUR CALLBACK URL HERE +/- that can include customer identification parameters such as ?invoice_id=058921123&secret='.$secret;

$root_url = 'https://api.blockchain.info/v2/receive';

$parameters = 'xpub=' .$my_xpub. '&callback=' .urlencode($my_callback_url). '&key=' .$my_api_key;

$response = file_get_contents($root_url . '?' . $parameters);

$object = json_decode($response);

echo 'Send Payment To : ' . $object->address;

Реализация callback Blockchain.info:

Всякий раз, когда платеж будет получен, серверы blockchain.info будут уведомлять указанный вами обратный URL-адрес. URL callback (обратного вызова) имеет ограничение в размере 255 символов.

transaction_hash: хэш платежа

address: адрес назначения, который является частью учетной записи xPub.

confirmations: количество подтверждений транзакции.

value: значение полученного платежа в сатошах, которое составляет 1/100 000 000 биткоина.

{Custom parameter}: все параметры, включенные в URL обратного вызова, будут возвращены обратно на URL-адрес по уведомлению. Эта функция может использоваться для добавления параметров к URL обратного вызова, например. Invoice_id или customer_id, чтобы отслеживать, совершенные клиентами платежи.

Ниже приведен пример PHP обратного вызова, полученного в результате ранее представленного PHP-скрипта:

 $real_secret = 'ZzsMLGKe162CfA5EcG6j';

$invoice_id = $_GET['invoice_id']; //invoice_id is passed back to the callback URL

$transaction_hash = $_GET['transaction_hash'];

$value_in_satoshi = $_GET['value'];

$value_in_btc = $value_in_satoshi / 100000000;

//Commented out to test, uncomment when live

if ($_GET['test'] == true) {

return;

}

try {

//create or open the database

$database = new SQLiteDatabase('db.sqlite', 0666, $error);

} catch(Exception $e) {

die($error);

}

//Add the invoice to the database

$stmt = $db->prepare("replace INTO invoice_payments (invoice_id, transaction_hash, value) values(?, ?, ?)");

$stmt->bind_param("isd", $invoice_id, $transaction_hash, $value_in_btc);

if($stmt->execute()) {

echo "*ok*";

}

Ответ обратного вызова:

Чтобы подтвердить успешную обработку обратного вызова, сервер вашего веб-сайта должен отвечать «ok» (без кавычек), в текстовом формате, а не HTML. Если ваш сервер показывает какой-либо другой ответ или не показывает вообще ничего, то сервер blockchain.info повторно отправит обратный вызов для каждого вновь созданного блока, время создания которого в среднем занимает 10 минут, до 1000 раз, который будет длиться 1 неделю. Домены обратного вызова, которые не уведомляют об ответах или никогда не показывают соответствующий ответ «ok», могут быть полностью заблокированы сервисом.

Проверка устранения пробелов:

Проверьте пробелы индекса между последним адресом, на который был успешно отправлен платеж, и последним адресом, сгенерированным через конечную точку. Используйте xPub, который вы хотите проверить вместе с вашим ключом API, следующим образом:

curl “https://api.blockchain.info/v2/receive/checkgap?xpub=[yourxpubhere]]&key=[yourkeyhere]”

{“gap”:2}

Безопасность:

Уникальный секретный параметр $ secret должен быть добавлен в URL обратного вызова. Этот параметр будет перемещен в скрипт обратного вызова, когда обратный вызов будет выполнен, и должен быть проверен кодом, созданным для проверки действия. Это предотвратит попытки злоумышленников выполнить проверку связи с серверами и обманным образом, пометить счет как оплаченный.

Конвертация валют в фиат:

Вы можете использовать API обменного курса Blockchain.info, чтобы добавить цены в местной валюте в дополнение к Биткоину.

Срок действия адресов:

Адреса Биткоина не имеют срока действия и будут постоянно отслеживаться до тех пор, пока в ответе обратного вызова не будет появится «ok» или URL-адрес обратного вызова будет уведомлен 1000 раз.

Правомерное использование:

Нет никакого верхнего предела для количества получаемых адресов Биткоина, которые могут быть созданы при условии, что точка ограничения в 20 адресов не будет достигнута, так как сервис предназначен для отслеживания миллионов адресов.

Как упоминалось ранее, домены обратного вызова, которые никогда не возвращают ответ «ok» или вообще не отвечают, то есть мертвые домены, вероятно, будут заблокированы сервисом.

Это был краткий обучающий  урок, который поможет вам добавить биткоин-платежи на ваш сайт. Мы представили пример реализации в PHP, но это можно сделать и в Python и Ruby.

Обсудить на форуме

 

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Курс BTC на сегодня :

На правах рекламы



Обменник