Авторизация  
VaM

Ethereum в VamShop - Инструкция по настройке VamShop для оплаты заказов с помощью eth blockchain!

Рекомендуемые сообщения

VaM

Здравствуйте!

В VamShop по умолчанию встроен модуль оплаты Ethereum, который позволяет без каких-либо посредников принимать оплату с помощью эфира, т.е. с помощью криптовалюты ethereum (eth).

В данной статье расскажу как настривается модуль оплаты Ethereum Blockchain в VamShop и как это выглядит со стороны посетителя, покупателя.

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

В общем, небольшая вводная статья с привязкой к VamShop, если кому-то интересная тема блокчейн технологий.

Сразу покажу как всё это выглядит со стороны покупателя.

Процес оформления заказа в VamShop стандартный.

Добавляется товар в корзину:

Screenshot-from-2018-03-15-22-48-35-300x

Затем переходите на страницу оформления заказа и выбираете способ оплаты Ethereum

Screenshot-from-2018-03-15-22-48-48-300x

и переходите на страницу подтверждения заказа:

Screenshot-from-2018-03-15-22-48-59-300x

Вот здесь начинаются отличия, если сравнивать со стандартными модулями оплаты вроде Яндекс.Кассы и подобных.

В чём разница.

Нам необходимо провести транзакцию через blockchain эфира, т.е. оплатить заказ с помощью эфира (eth монет).

Для оплаты заказа с помощью eth монет у Вас уже должен быть создан эфир кошелёк, на балансе которого должна находиться необходимая сумма.

Кошелёк может быть любой, в любой системе, хоть "холодный" кошелёк, хоть на бирже, хоть локальный кошелёк, хоть myetherwallet.com, не важно.

Главное, что б этот кошелёк быть зарегистрирова в блокчейне эфира и был видел в блокчене, например в обозревателе https://etherscan.io/

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

Для чего нужен qr код?! 

На данный момент существует множество мобильных приложений для смартфонов, планшетов, с помощью которых Вы можете просто сканировать этот qr, т.е. qr код просто экономит время, что б не вводить номер кошелька вручную, можно просто сканировать qr код смартфоном, планшетом.

Ниже номер кошелька написан в открытом виде, просто текстом.

Номер кошелька магазина указывается в настройках модуля оплаты Ethereum в Админке - Настройки - Способы оплаты.

Screenshot-from-2018-03-15-22-59-53-300x

Затем на странице подтверждения заказа, ниже qr кода указывается сумма в eth монетах на момент оформления заказа, т.е. сумма заказа пересчитывается по курсу на момент оформления заказа и записывается в базу данных и уже не меняется, остаётся постоянной.

Данная сумма в eth монетах выводится для покупателя, что б он произвёл оплату заказа в eth монетах, любым доступным ему способом.

Например можно напрямую сдлать перевод с кошелька покупателя на кошелёк магзаина. Можно оплатить через любые обменники, указав в качестве получается eth кошелёк магазин, можно с различных бирж оплатить на кошелёк магазина, вариантов много.

Вот например оплата заказа может выглядеть например так:

  1. К примеру, это может быть какой-либо мобильный кошелёк на смартфоне, с помощью смартфона сканируете qr код кошелька, указывается сумму перевода и производите оплату заказа.
  2. Либо с помощью myetherwallet.com делаете перевод с Вашего кошелька на кошелёк магазина.
  3. Не важно, каким образом, главное, что б транзакция (оплата заказа) попала в blockchain эфира, т.е. в единую базу данных всех транзакций (переводов).
  4. Всё это можно отследить в любом blockchain обозревателе, например на https://etherscan.io/
  5. Всё, допустим, Вы оплатили Ваш заказа с помощью eth монет. Сумма оплаты должна быть точно такой как указано на странице подтверждения заказа.
  6. Убедиться в том, что Ваша оплата попала в blockchain ethereum можно просто посмотрев Ваш кошелёк и переводы из кошелька.
  7. Вот например как будет выглядеть перевод на кошелёк магазина.
  8. Screenshot-from-2018-03-15-23-00-26-300x Screenshot-from-2018-03-15-23-00-30-300x

т.е. перевод попал в blockchain сеть эфира, где с помощью майнеров данная транзакция будет подтверждена, т.е. будет информация, что да, действительно, покупатель X перевёл такую-то сумму продавцу Y.

Статус Pending - это ожидание подтверждения транзакции (перевода) майнерами.

Статус Success - значит транзакция (перевод) подтверждена и баланс на Вашем кошельке увеличился на указанную в переводе сумму.

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

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

Раз транзакция видна у Вас в кошельке, значит она попала в общую базу данных (в блокчейн), через некоторое время она будет подтверждена (зависит от суммы комиссии (gwei), которую Вы выставите), но по факту любые транзакции в блокчейне ethereum подтверждаются майнерами довольно быстро, т.е. можно сказать, что если транзакция зарегистрирована в блокчейне ethereum и она видна в Вашем кошельке, то с высокой долей вероятности это значит, что деньги (монеты eth) появятся в Вашем кошельке. В блокчейне ethereum по моему опыту переводы с кошелька на кошелёк занимают максимум 10 минут.

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

В плане подтверждения операций майнерами ethereum быстрее и стабильнее работает (во всяком случае на момент написания статьи в марте 2018 года).

9. Всё, мы заплатити со своего коешлька eth на кошелёк eth магазина.

10. Заказ в админке магазине виден сразу же как только покупатель перешёл на страницу подтверждения заказа.

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

 

В модуле оплаты Ethereum реализована автоматическая смена статуса заказа на оплаченный.

Для этого на странице подтверждения заказа есть ссылка - Проверить статус оплаты заказа!

После оплаты заказа покупатель просто нажимает эту ссылку.

Это необязательно конечно делать, в админке магазина у Вас уже заказ и так виден и Вы можете связаться с клиентом в любом случае.

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

Что происходит когда нажимает клиент эту ссылку.

При клике на ссылку идёт запрос в блокчейн эфира, с помощью api проверяются последние транзакции кошелька магазина.

и сравнивается сумма заказа с последними транзакциями на кошельке магазина.

Если есть совпадение по сумме заказа, то магазин меняет статус заказа на оплаченный.

Screenshot-from-2018-03-15-22-49-09-300x

в админке так же статус заказа меняется, в данном примере статус заказа автоматичес поменялся на Доставлен.

Screenshot-from-2018-03-15-22-49-23-300x Screenshot-from-2018-03-15-22-49-40-300x

Статус оплаченного заказа меняется в настройках модуля оплаты Ethereum в Админке - Настройки - Модули - Оплаты.

Screenshot-from-2018-03-15-22-59-53-300x

Всё, на данный момент таким образом реализован модуль оплаты Ethereum в движке интернет-магазина VamShop.

т.е. максимально избавляемся от каких-либо посредников.

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

Всё прозразчно и в любой момент можно проверить любые движения, транзакции в блокчейн обозревателе, например на https://etherscan.io/

 

P.S. Аналогичным образом работает модуль оплаты Bitcoin в VamShop.

 

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Авторизация