support 447 Опубликовано 15 марта, 2018 Жалоба Share Опубликовано 15 марта, 2018 Здравствуйте! В VamShop по умолчанию встроен модуль оплаты Ethereum, который позволяет без каких-либо посредников принимать оплату с помощью эфира, т.е. с помощью криптовалюты ethereum (eth). В данной статье расскажу как настривается модуль оплаты Ethereum Blockchain в VamShop и как это выглядит со стороны посетителя, покупателя. и в целом, немного о том как работает криптовалюта, блокчейн, подтверждение транзакций, для чего нужны майнеры и т.д. В общем, небольшая вводная статья с привязкой к VamShop, если кому-то интересная тема блокчейн технологий. Сразу покажу как всё это выглядит со стороны покупателя. Процес оформления заказа в VamShop стандартный. Добавляется товар в корзину: Затем переходите на страницу оформления заказа и выбираете способ оплаты Ethereum и переходите на страницу подтверждения заказа: Вот здесь начинаются отличия, если сравнивать со стандартными модулями оплаты вроде Яндекс.Кассы и подобных. В чём разница. Нам необходимо провести транзакцию через blockchain эфира, т.е. оплатить заказ с помощью эфира (eth монет). Для оплаты заказа с помощью eth монет у Вас уже должен быть создан эфир кошелёк, на балансе которого должна находиться необходимая сумма. Кошелёк может быть любой, в любой системе, хоть "холодный" кошелёк, хоть на бирже, хоть локальный кошелёк, хоть myetherwallet.com, не важно. Главное, что б этот кошелёк быть зарегистрирова в блокчейне эфира и был видел в блокчене, например в обозревателе https://etherscan.io/ На странице подтверждения заказа генерируется картинка с qr кодом, в котором зашифрован номер eth кошелька магазина, на который необходимо сделать перевод. Для чего нужен qr код?! На данный момент существует множество мобильных приложений для смартфонов, планшетов, с помощью которых Вы можете просто сканировать этот qr, т.е. qr код просто экономит время, что б не вводить номер кошелька вручную, можно просто сканировать qr код смартфоном, планшетом. Ниже номер кошелька написан в открытом виде, просто текстом. Номер кошелька магазина указывается в настройках модуля оплаты Ethereum в Админке - Настройки - Способы оплаты. Затем на странице подтверждения заказа, ниже qr кода указывается сумма в eth монетах на момент оформления заказа, т.е. сумма заказа пересчитывается по курсу на момент оформления заказа и записывается в базу данных и уже не меняется, остаётся постоянной. Данная сумма в eth монетах выводится для покупателя, что б он произвёл оплату заказа в eth монетах, любым доступным ему способом. Например можно напрямую сдлать перевод с кошелька покупателя на кошелёк магзаина. Можно оплатить через любые обменники, указав в качестве получается eth кошелёк магазин, можно с различных бирж оплатить на кошелёк магазина, вариантов много. Вот например оплата заказа может выглядеть например так: К примеру, это может быть какой-либо мобильный кошелёк на смартфоне, с помощью смартфона сканируете qr код кошелька, указывается сумму перевода и производите оплату заказа. Либо с помощью myetherwallet.com делаете перевод с Вашего кошелька на кошелёк магазина. Не важно, каким образом, главное, что б транзакция (оплата заказа) попала в blockchain эфира, т.е. в единую базу данных всех транзакций (переводов). Всё это можно отследить в любом blockchain обозревателе, например на https://etherscan.io/ Всё, допустим, Вы оплатили Ваш заказа с помощью eth монет. Сумма оплаты должна быть точно такой как указано на странице подтверждения заказа. Убедиться в том, что Ваша оплата попала в blockchain ethereum можно просто посмотрев Ваш кошелёк и переводы из кошелька. Вот например как будет выглядеть перевод на кошелёк магазина. т.е. перевод попал в blockchain сеть эфира, где с помощью майнеров данная транзакция будет подтверждена, т.е. будет информация, что да, действительно, покупатель X перевёл такую-то сумму продавцу Y. Статус Pending - это ожидание подтверждения транзакции (перевода) майнерами. Статус Success - значит транзакция (перевод) подтверждена и баланс на Вашем кошельке увеличился на указанную в переводе сумму. т.е. баланс Вашего кошелька увеличивается на сумму оплаты заказа только когда статус транзакции Success. Но по факту можно сказать, что даже если какое-то время транзакция находится в статусе Pending и ожидает подтвеждения майнерами, это ничего страшного, всё равно, можно сказать с большой долей вероятности, что эти деньги уже у Вас на кошельке, пусть и в статусе ожидания подтверждения со стороны майнеров. Раз транзакция видна у Вас в кошельке, значит она попала в общую базу данных (в блокчейн), через некоторое время она будет подтверждена (зависит от суммы комиссии (gwei), которую Вы выставите), но по факту любые транзакции в блокчейне ethereum подтверждаются майнерами довольно быстро, т.е. можно сказать, что если транзакция зарегистрирована в блокчейне ethereum и она видна в Вашем кошельке, то с высокой долей вероятности это значит, что деньги (монеты eth) появятся в Вашем кошельке. В блокчейне ethereum по моему опыту переводы с кошелька на кошелёк занимают максимум 10 минут. Кстати, в bitcoin блокчейне переводы между кошельками могут зависать на дни, а то и недели и так и висеть в неподтверждённых транзакциях. В плане подтверждения операций майнерами ethereum быстрее и стабильнее работает (во всяком случае на момент написания статьи в марте 2018 года). 9. Всё, мы заплатити со своего коешлька eth на кошелёк eth магазина. 10. Заказ в админке магазине виден сразу же как только покупатель перешёл на страницу подтверждения заказа. т.е. можно не бояться, что покупатель потеряется, у Вас в любом случае уже есть контактные данные клиента и состав заказа. В модуле оплаты Ethereum реализована автоматическая смена статуса заказа на оплаченный. Для этого на странице подтверждения заказа есть ссылка - Проверить статус оплаты заказа! После оплаты заказа покупатель просто нажимает эту ссылку. Это необязательно конечно делать, в админке магазина у Вас уже заказ и так виден и Вы можете связаться с клиентом в любом случае. Эта ссылка необходима лишь для автоматической смены статуса заказа например на оплаченный. Что происходит когда нажимает клиент эту ссылку. При клике на ссылку идёт запрос в блокчейн эфира, с помощью api проверяются последние транзакции кошелька магазина. и сравнивается сумма заказа с последними транзакциями на кошельке магазина. Если есть совпадение по сумме заказа, то магазин меняет статус заказа на оплаченный. в админке так же статус заказа меняется, в данном примере статус заказа автоматичес поменялся на Доставлен. Статус оплаченного заказа меняется в настройках модуля оплаты Ethereum в Админке - Настройки - Модули - Оплаты. Всё, на данный момент таким образом реализован модуль оплаты Ethereum в движке интернет-магазина VamShop. т.е. максимально избавляемся от каких-либо посредников. Всё делается только через официальный блокчейн ethereum, никаких посредников и никаких промежуточных кошельков, всё напрямую кошелёк покупателя -> кошелёк магазина. Всё прозразчно и в любой момент можно проверить любые движения, транзакции в блокчейн обозревателе, например на https://etherscan.io/ P.S. Аналогичным образом работает модуль оплаты Bitcoin в VamShop. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения