Bitcoin Forum

Local => Кодеры => Topic started by: Yurock on September 16, 2012, 08:50:51 AM



Title: OpenCart + bitcoind
Post by: Yurock on September 16, 2012, 08:50:51 AM
Расширение для OpenCart (http://www.opencart.com/)-а для приёма платежей через bitcoind (https://en.bitcoin.it/wiki/Bitcoind)

Код (пока что сырой): http://bitcoin.metal-bunker.info/opencart-bitcoind-2012-09-28.zip
Демка: http://bitcoin.metal-bunker.info/opencart/
Сайт тормозит, потому что я использую дешёвый хостинг. Если выделить достаточно ресурсов, сайт должен работать достаточно быстро.

Фичи:
  • опциональное ограничение срока оплаты платежа;
  • отображение состояния счёта;
  • обновление отображаемой информации при получении оплаты, истечении времени и т.п.;
  • подробная информация о счетах в админке;
  • возврат средств при необходимости;
  • возможность доплаты при увеличении итоговой суммы заказа в результате редактирования;
  • отключаемая возможность оформления заказа в валюте, отличной от Bitcoin (на этапе подтверждения отображается сумма в BTC);
  • Bitcoin URI на странице оплаты.

Отсутствуют фичи:
  • автоматическая установка курса Bitcoin к основной валюте (это должен делать отдельный модуль);
  • защищённое соединение с bitcoind (можно добавить при необходимости);
  • отображение QR-кода.

Предлодения и вопросы о внеднении пишите здесь или на мыло: akin@rbcmail.ru

К сведению: jga (https://bitcointalk.org/index.php?action=profile;u=55933) тоже сделал подобное расширение (с другим набором фич): код (https://github.com/btcgear/OpenCart_Bitcoin), демка (http://test154.btcgear.com/).


Title: Re: OpenCart + bitcoind
Post by: KonG on September 16, 2012, 09:48:51 AM
Интересно, еще как. OpenCart - отличный движок магазина, а с модулем оплаты в биткоин будет вообще шоколадно.


Title: Re: OpenCart + bitcoind
Post by: coinuser on September 16, 2012, 10:23:00 AM
Quote
Интересно, еще как. OpenCart - отличный движок магазина, а с модулем оплаты в биткоин будет вообще шоколадно.

еще бы!


Title: Re: OpenCart + bitcoind
Post by: Yurock on September 16, 2012, 02:05:31 PM
Рассматриваете ли вы возможность использования bitcoind для приёма платежей в своих конкретных проектах? Мне интересно ваше мнение о том, как должен работать такой модуль оплаты.


Title: Re: OpenCart + bitcoind
Post by: KonG on September 16, 2012, 05:34:53 PM
Ну не завязывать же магазин на сторонний сервис, поэтому кроме поднятия bitcoind наверно других вариантов нет?
А как, кстати, это реализовано в модулях к другим магазинам? https://en.bitcoin.it/wiki/Category:Shopping_Cart_Interfaces

Глянул поверхностно, модули osCommerce, Magento, WordPress, VirtueMart, ZenCart, все работают через bitcoind. Один только модуль к PrestaShop работает через сторонний сервис walletbit.

Вот еще полезная ссылочка https://bitcointalk.org/index.php?topic=60144.0



Title: Re: OpenCart + bitcoind
Post by: Yurock on September 16, 2012, 08:33:06 PM
Ну не завязывать же магазин на сторонний сервис
Почему нет? Мне кажется, что для многих маленьких магазинов готовый шлюз – это оптимальное решение.

поэтому кроме поднятия bitcoind наверно других вариантов нет?
Ну, в идеале, это должен быть некий специализированный клиент нужными функциями. Как вариант – патченый bitcoind. К нехватающим фичам можно отнести работу без секретных ключей (http://bitcoinarmory.com/index.php/using-offline-wallets-in-armory) и извещение о событиях (bitcoind нужно периодически опрашивать).


Title: Re: OpenCart + bitcoind
Post by: DeQuade on September 17, 2012, 07:16:12 AM
Решил я сделать модуль для OpenCart (http://www.opencart.com/)-а для приёма платежей через bitcoind (https://en.bitcoin.it/wiki/Bitcoind). Модуль ещё в разработке, но уже можно посмотреть, что из этого получается (http://bitcoin.metal-bunker.info/opencart/). Сайт тормозит, потому что я использую дешёвый хостинг. Если выделить достаточно ресурсов, сайт должен работать достаточно быстро.

Недостатком такого решения (по сравнению с использованием сторонних шлюзов) являются расходы и риски, связанные с содержанием онлайн-демона.
Преимущества:
  • отсутствие комиссионных (имеет значение только при больших объёмах продаж),
  • независимость от сторонних шлюзов.

Тащемта, интересно, интересно ли это ещё кому-нибудь.

Отличная идея и отличный модуль!


Title: Re: OpenCart + bitcoind
Post by: qdi on September 18, 2012, 06:13:45 AM

Тащемта, интересно, интересно ли это ещё кому-нибудь.
давайте уже кошелек для донайта и исходники на гит. :)


Title: Donations and publication
Post by: Yurock on September 18, 2012, 02:23:13 PM
давайте уже кошелек для донайта
Если жертвуя биткойны Вы хотите оказать помощь в разработке модуля, пожалуйста, оплатите какие-либо из этих псевдо-товаров (http://bitcoin.metal-bunker.info/opencart/donations) в тестовом магазине. Опробовать модуль в работе – очень важно.

исходники на гит
До публикации ещё далеко. Хотя front-end-часть уже юзабельна, в back-end отсутствуют некоторые важные функции. Также, в коде может быть много багов. Так как модуль непосредственно работает с деньгами, после доработки функциональности потребуется провести тщательный дебаг.


Title: Re: Donations and publication
Post by: ArsenShnurkov on September 18, 2012, 02:25:22 PM
из этих псевдо-товаров

помогите нам купить/продать грибы - https://bitcointalk.org/index.php?topic=110263


Title: Грибы
Post by: Yurock on September 18, 2012, 02:40:52 PM
помогите нам купить/продать грибы
Я готов разместить ваши товары на тестовом сайте. Но учтите, что сайт тестовый. :)


Title: Re: Грибы
Post by: ArsenShnurkov on September 18, 2012, 02:45:12 PM
учтите, что сайт тестовый

я не понял, что мне надо учесть. Вы либо беретесь помочь и все отладить, либо не беретесь и намекаете на то, что готовы мошенничать

Я готов разместить ваши товары на тестовом сайте.

Этого недостаточно. Еще нужно обеспечить расчеты между покупателем и продавцом.


Title: Re: Грибы
Post by: Yurock on September 18, 2012, 03:09:43 PM
я не понял, что мне надо учесть. Вы либо беретесь помочь и все отладить
Я-то отлаживаю, но на это нужно время. На данный момент есть:
  • OpenCart на дешёвом хостинге,
  • модуль оплаты, протестированный одним человеком в домашних условиях,
  • bitcoind на дешёвом VDS,
  • скрипт, устанавливающий курс BTC.
Если хотите отдельный сайт, можно всё это поднять в другом месте. Иначе – можно просто добавить товары на тестовый сайт. Думаю, ситуация Вам ясна. Если вас это устраивает ‒ организуем.

либо не беретесь и намекаете на то, что готовы мошенничать
Если мошенничать, то зачем на это намекать?  ;D


Title: Расчёты
Post by: Yurock on September 18, 2012, 03:15:58 PM
нужно обеспечить расчеты между покупателем и продавцом.
Приём платежей должен работать. Далее можно отправить биткойны поставщику товара.


Title: Re: OpenCart + bitcoind
Post by: qdi on September 19, 2012, 07:00:52 AM
отправил монетку, оч много всего спрашивает. сделайте упрощенную форму. я понимаю что для продавца важно иметь обратную связь но это не должно быть навязчиво.
на амазоне люди возвращаются полайкать итд. и все довольны.


Title: Первый платёж
Post by: Yurock on September 19, 2012, 11:41:35 AM
отправил монетку
Большое спасибо. Платёж успешно обработан в автоматическом режиме, «сдача» отправлена на указанный Вами адрес.

оч много всего спрашивает
Что именно Вы считаете лишним?


Title: Re: OpenCart + bitcoind
Post by: LiveFree on September 20, 2012, 06:22:41 AM
Здесь награду предлагают в 50btc за такую вещь. Так что доделывайте.
https://bitcointalk.org/index.php?topic=110638.0


Title: Re: Первый платёж
Post by: qdi on September 20, 2012, 07:54:17 AM

Что именно Вы считаете лишним?
оформление заказа:
1.продолжитьпродолжтьпродолжитьпродложить
2. адрес для возврата средств. вообщем не особо надо покупателю. я понимаю что это идентификация. может всеже по уникальному адресу получателя проще будет покупателю?

спасибо за вашу работу.


Title: Re: OpenCart + bitcoind
Post by: Yurock on September 20, 2012, 01:45:22 PM
Здесь награду предлагают в 50btc за такую вещь.
Спасибо, очень полезная информация. :)

1.продолжитьпродолжтьпродолжитьпродложить
Модуль оплаты начинает работать только после выбора метода оплаты. То есть, там, где выводится список товаров и вводится "обратный адрес". То, что происходит до этого, от меня мало зависит. Далее требуется нажать кнопку 2 раза.
1. Курс BTC, а следовательно и цены на сайте могут измениться после добавления товаров в корзину, и покупатель должен подтвердить, что он готов заплатить итоговую сумму. Вводим обратный адрес и нажимаем "подтверждение".
2. После оплаты, покупатель должен перейти на страницу "checkout/success", чтобы очистилась корзина покупок. Кнопка перехода а эту страницу появляется после получения оплаты. Я не использую автоматический переход, потому что покупатель может захотеть прочитать обновившуюся информацию на странице состояния платежа.
3. На странице "checkout/success" тоже есть кнопка "продолжить", но её не обязательно нажимать, и, насколько я понимаю, это уже не зависит от модуля оплаты.

2. адрес для возврата средств. вообщем не особо надо покупателю.
Если политика магазина – не возвращать уплаченные средства, то "обратный адрес" не нужен. Для таких магазинов можно сделать вариант модуля без возможности возврата средств. Но, думаю, для многих магазинов функция возврата будет полезной. Не всегда можно выполнить заказ, принятый в автоматическом режиме. Например, почта не примет посылку для отправки по указанному адресу. И х/з, что ещё может пойти не так. А из Bitcoin-транзакции не всегда можно вытащить адрес отправителя. Например, при использовании некоторых e-wallet-сервисов, адреса, с которых переводятся биткойны не принадлежат отправителю.

я понимаю что это идентификация. может всеже по уникальному адресу получателя проще будет покупателю?
Идентификация платежа осуществляется по уникальному адресу получателя. Обратный адрес используется только для возврата средств, в том числе – в автоматическом режиме. Например, если из-за проблем с сетью магазин получит информацию о транзакции позже установленного срока оплаты, заказ не будет подтверждён, а биткойны будут отправлены обратно (за вычетом комиссии).

спасибо за вашу работу.
Рад стараться на благо Bitcoin-экономики. :)


Title: Admin screenshots
Post by: Yurock on September 22, 2012, 01:00:31 AM
Админская часть пока ещё в разработке. Вот пара снимков того, что уже есть.

http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-config-2012-09-22-small.png (http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-config-2012-09-22.png) http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-payment-2012-09-22-small.png (http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-payment-2012-09-22.png)

Кстати, там (https://bitcointalk.org/index.php?topic=110638) за награду уже сбацали модуль, и вроде бы не один. Так что, выбор теперь есть. :)


Title: Re: OpenCart + bitcoind
Post by: DeQuade on September 23, 2012, 09:08:26 AM
А под какими версиями OpenCart (ocStore) работает даннный модуль?


Title: Версии OpenCart
Post by: Yurock on September 23, 2012, 01:59:21 PM
А под какими версиями OpenCart (ocStore) работает даннный модуль?
OpenCart 1.5.4.1. При необходимости можно протестировать на работоспособность с другими версиями 1.5.


Title: Re: OpenCart + bitcoind
Post by: Yurock on September 25, 2012, 09:52:27 PM
http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-control-2012-09-25-small.png (http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-control-2012-09-25.png) http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-payments-2012-09-25-small.png (http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-payments-2012-09-25.png)

Вроде бы, основные функции реализованы. Есть идея – переименовать "платежи" / "payments" в "счета" / "bills". После подтверждения заказа покупателю показывается счёт на оплату биткойнами. В нем присутствует информация о состоянии оплаты:
  • ожидается
  • просрочена
  • получена
  • отменена
  • подтверждена
Есть также 2 специальных состояния, которые могут быть установлены в ручную:
  • платёж завершён
  • платёж отменён
При этом транзакции, связанные с данным счётом перестают автоматически обрабатываться.


Title: Re: OpenCart + bitcoind
Post by: Yurock on September 26, 2012, 04:59:35 AM
Переименовал "платежи" в "счета". Выложил код (ссылка в "шапке"). Код пока что сырой, и ещё не написана инструкция по установке и использованию. Если решите попробовать установить, пишите мне.

Также, добавил на тестовый сайт специальный псевдо-товар для проверки функции возврата средств (http://bitcoin.metal-bunker.info/opencart/impossible).


Title: Re: OpenCart + bitcoind
Post by: Yurock on September 26, 2012, 09:06:53 AM
Добавил возможность оформления заказа в валюте, отличной от Bitcoin.


Title: Bitcoin URI
Post by: Yurock on September 29, 2012, 04:16:39 AM
Добавил поддержку Bitcoin URI.
Улучшил перерасчёт суммы заказа после его редактирования.


Title: Re: OpenCart + bitcoind
Post by: AlexNeto on January 07, 2013, 02:28:08 AM
Есть новости по проекту? Попробывал демку из первого поста, не работает - монетки отправил, а платеж не был принят.
Какие-либо аналоги рабочие есть на данный момент?


Title: Демка не пашет.
Post by: Yurock on January 07, 2013, 03:07:36 PM
Есть новости по проекту?
Проект застрял из-за недостаточного интереса пользователей.

Попробывал демку из первого поста, не работает - монетки отправил, а платеж не был принят.
Демо-сайт не работает. На какой адрес отправили монеты? При желании сайт можно снова поднять.

Какие-либо аналоги рабочие есть на данный момент?
https://bitcointalk.org/index.php?topic=110638
Моё расширение тоже работоспособно.


Title: Re: Демка не пашет.
Post by: Ravur Kreon on January 07, 2013, 03:09:18 PM
Проект застрял из-за недостаточного интереса пользователей

в россии или в мире? как рекламировал?


Title: Интерес пользователей.
Post by: Yurock on January 07, 2013, 03:19:18 PM
в россии или в мире?
2 пользователя написали мне. Из них 0 русскоязычных.

как рекламировал?
Запостил на этом форуме.

P.S. Обнаружил что архив с кодом отсутствовал на сервере. Перезалил (http://bitcoin.metal-bunker.info/opencart-bitcoind-2012-09-28.zip). SHA-2: 1A86D9B0B377A3492C17D2A2887187AB101F2DEA7DF66E2023F47F3C131E383B


Title: Re: OpenCart + bitcoind
Post by: DEMENTOR on May 06, 2013, 01:09:18 AM
Хороший модуль, спасибо!

С установкой проблем не возникло (кроме адского ожидания загрузки блоков к кошелю на дешёвом-придешёвом тестовом vps).

Интересует - работает ли отправка монет в "Главная :: Оплата :: Bitcoind :: Управление"?
У вас выше скриншот есть данной страницы: http://bitcoin.metal-bunker.info/ss-ru/opencart-bitcoind-admin-control-2012-09-25.png

Например: ввожу адрес кошелька, ввожу сумму в 0.0005BTC, при клике на кнопке "отправить" выскакивает ошибка "parsererror".

Данный функционал работает, или требуется допилить?

Будут ли еще какие наработки по модулю?

Планируется ли платная версия?


Title: Re: OpenCart + bitcoind
Post by: Yurock on May 06, 2013, 05:44:14 AM
Данный функционал работает, или требуется допилить?
Всё работало, но я не тестировал с последними версиями софта.

Планируется ли платная версия?
Не планируется. Нужны какие-то дополнительные фичи или сапорт?


Title: Re: OpenCart + bitcoind
Post by: DEMENTOR on May 06, 2013, 07:17:03 AM
Всё работало, но я не тестировал с последними версиями софта.
Версия 1.5.4.1. Может, слишком маленькую сумму попытался перебросить, попозже введу немного BTC для теста.

Не планируется.
Нужны какие-то дополнительные фичи или сапорт?
Жаль, сайтик с исчерпывающей инфой был бы кстати.

Ну и всякие плюшки - инсталятор с конфигуратором bitcoind, режим отладки и т.п. Саппорт - возможно, как отдельная услуга(?)...

Идея: и пользующимся хорошо (если цена будет не кусающаяся), и Вам какая-то денюжка - приятно, и криптовалютам чудесно (дополнительная децентрализация и независимость от сторонних платежных сервисов типа bit2pay).


Title: Re: OpenCart + bitcoind
Post by: Yurock on May 06, 2013, 12:09:23 PM
инсталятор с конфигуратором bitcoind
Я себе это плохо представляю. У разных пользователей OpenCart разные настройки веб-сервера и БД. bitcoind может находиться на другой машине. Легче всё установить вручную, чем создать инсталлятор, охватывающий всё многообразие конфигураций.

сайтик с исчерпывающей инфой был бы кстати.
Вообще, хоть какая-нибудь документация была бы кстати. :)

Саппорт - возможно, как отдельная услуга(?)...
Готов оказать такую услугу.