PHPackages                             cryptom2/metamask-eth-payment - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. cryptom2/metamask-eth-payment

ActiveMagento2-module[Payment Processing](/categories/payments)

cryptom2/metamask-eth-payment
=============================

Metamask &amp; web3js Ethereum payment method Magento 2 module without any third party gateways

v1.0.2(3y ago)22284[3 issues](https://github.com/torys877/crypto-metamask-eth-payment/issues)MITPHP

Since Jun 21Pushed 3y ago5 watchersCompare

[ Source](https://github.com/torys877/crypto-metamask-eth-payment)[ Packagist](https://packagist.org/packages/cryptom2/metamask-eth-payment)[ RSS](/packages/cryptom2-metamask-eth-payment/feed)WikiDiscussions main Synced today

READMEChangelog (3)Dependencies (2)Versions (6)Used By (0)

CurrencyPrecision Magento 2 Extension
=====================================

[](#currencyprecision-magento-2-extension)

Metamask Ethereum payment method module for Magento 2

Table of contents
-----------------

[](#table-of-contents)

- [Description](#description)
- [Feature](#feature)
- [Installation](#installation)
    - [Composer Installation](#composer-installation)
    - [Settings](#settings)
        - [Live Settings](#live-settings)
        - [Test Mode](#test-mode)
        - [Display Eth Currency](#display-eth-currency)
- [Screenshots](#screenshots)
- [Author](#author)
- [License](#license)

Description
-----------

[](#description)

Extension allows to receive direct payments from customer Ethereum blockchain wallet to merchant Ethereum wallet using Metamask in Ethereum cryptocurrency Ethers.

Idea
----

[](#idea)

Using any gateways and third party services to make and receive payments breaks the philosophy of cryptocurrencies. If you use cryptocurrencies to pay you should be able to make it directly between wallets that no one can control, interrupt and change your transaction. But when this module was created there are only modules for Magento 2 from companies that are gateways between customer and merchant and handle the payment process, can control this process and payment processes in this case have no any differences from using bank account.

The main idea of this module is to allow you make and receive payments directly between wallets, without using any third party gateways and commission and pay only networks gas.

Features
--------

[](#features)

1. Display prices in Ether currency
2. Pay by Ether from checkout after placing order
3. Pay from customer accound order view page (customer can pay on checkout or, if have any troubles, later from his account)
4. Check transaction status using `web3js` library
5. Check transaction status through `etherscan.io` API request
6. Check transactions by cron using `etherscan.io` API request
7. Check transaction manually from admin area transaction page

Installation
------------

[](#installation)

To install module you need to add repositories to your `composer.json`:

### Composer installation

[](#composer-installation)

```
    "repositories": {
        "crypto-base": {
            "type": "git",
            "url": "git@github.com:torys877/crypto-base.git"
        },
        "crypto-currency-precision": {
            "type": "git",
            "url": "git@github.com:torys877/crypto-currency-precision.git"
        },
        "crypto-metamask-eth-payment": {
            "type": "git",
            "url": "git@github.com:torys877/crypto-metamask-eth-payment.git"
        }
    }

```

Or add repositories from console:

`composer config repositories.crypto-base git git@github.com:torys877/crypto-base.git`

`composer config repositories.crypto-currency-precision git git@github.com:torys877/crypto-currency-precision.git`

`composer config repositories.crypto-metamask-eth-payment git git@github.com:torys877/crypto-metamask-eth-payment.git`

Install module:

`composer require cryptom2/metamask-eth-payment:v1.0.0`

And run

```
php bin/magento setup:upgrade

```

### Settings

[](#settings)

[![Checkout Payment Page](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/Configuration.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/Configuration.png)

#### Live Settings

[](#live-settings)

- **Enabled** - enable/disable payment method
- **Title** - payment method title
- **Ether Network Version** - version of network (can be checked in metamask settings, by default Ethereus is `1`, but testing networks have another version)
- **Merchant Ether Address** - merchant ethereum address to take payment
- **Etherscan Url** - url to view transactions (can be different in different networks, useful during testing)
- **Check transaction on Etherscan** - if set not cron does not work and transactions are checking only on frontend on payment page using web3js
- **Etherscan Api Url** - display if `Check transaction on Etherscan` is enabled. Api url for needed network to check transaction (can be different for different networks)
- **Etherscan Api Key** - display if `Check transaction on Etherscan` is enabled. Api key for etherscan - can be taken on [etherscan.io/apis](https://etherscan.io/apis)

#### Test Mode

[](#test-mode)

Settings are the same as for `Live`, but you need to use test networks (test network version, test network etherscan api url/key etc. On screen uses `Ropsten` network)

#### Display Eth Currency

[](#display-eth-currency)

To display ETH currency you also need to add it to `allowed currencies` and add currency rate in magento (automatically update rates will maybe included in future releases)

Screenshots
-----------

[](#screenshots)

### Display Prices

[](#display-prices)

[![Display Prices](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/prices_homepage.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/prices_homepage.png)

### Payment Method On Checkout

[](#payment-method-on-checkout)

```
Note: Payment method is displaying only if ETH currency selected

```

[![Checkout payment method](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/checkout_payment.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/checkout_payment.png)

### Connect Wallet

[](#connect-wallet)

```
Note: If wallet is not connected firstly customer sees 'Connect Wallet' button, then 'Pay' button

```

[![Connect Wallet](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/connect_wallet_button.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/connect_wallet_button.png)

### Pay by ETH

[](#pay-by-eth)

[![Pay By Eth](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/pay_by_eth_button2.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/pay_by_eth_button2.png)

### Processing Transaction

[](#processing-transaction)

```
Note: After confirming transaction in Metamask wallet, customer should wait on the same page to magento confirm transaction
Magento sends request to metamask using Web3js and try to get confirmation message, after it, Magento
sends request to server and if Etherscan checking is enabled, transaction status also is checking on etherscan.

IMPORTANT: it is highly recommended to enable etherscan checking to prevent JS injection on processing page

```

[![Processing Transaction](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/processing_transaction.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/processing_transaction.png)

### Check transaction in admin area

[](#check-transaction-in-admin-area)

```
Transaction ID is clickable and move you on etherscan page for this transaction

```

[![Check in admin area](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/transaction.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/transaction.png)

### Pay From Customer Account

[](#pay-from-customer-account)

```
If customer placed order but not paid it, he still can do it from his account. This button sends him to processing page and allows to do payment

```

[![Pay from customer account](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/account_pending.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/account_pending.png)

### Transaction Captured

[](#transaction-captured)

```
When transaction is captured and approved in blockchain and magento, customer sees this message

```

[![Pay from customer account](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/account_captured.png)](https://raw.githubusercontent.com/torys877/crypto-metamask-eth-payment/main/docs/account_captured.png)

Author
------

[](#author)

### Ihor Oleksiienko

[](#ihor-oleksiienko)

- [Github](https://github.com/torys877)
- [Linkedin](https://www.linkedin.com/in/igor-alekseyenko-77613726/)
- [Facebook](https://www.facebook.com/torysua/)

License
-------

[](#license)

Metamask Ethereum extension for Magento 2 is licensed under the MIT License - see the LICENSE file for details

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance17

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~131 days

Total

3

Last Release

1157d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/68833022e981b0897094481a2ca162b5a862478a83f434aca3f9691b4567ec0f?d=identicon)[Torys877](/maintainers/Torys877)

---

Top Contributors

[![philpher0x](https://avatars.githubusercontent.com/u/46719294?v=4)](https://github.com/philpher0x "philpher0x (8 commits)")

---

Tags

blockchainetherethereummagento2magento2-extensionmagento2-modulemagento2-paymentmetamaskmetamask-integrationpaymentpayment-methodspayments

### Embed Badge

![Health badge](/badges/cryptom2-metamask-eth-payment/health.svg)

```
[![Health](https://phpackages.com/badges/cryptom2-metamask-eth-payment/health.svg)](https://phpackages.com/packages/cryptom2-metamask-eth-payment)
```

###  Alternatives

[omnipay/paypal

PayPal gateway for Omnipay payment processing library

3156.8M53](/packages/omnipay-paypal)[eduardokum/laravel-boleto

Biblioteca com boletos para o laravel

626351.9k2](/packages/eduardokum-laravel-boleto)[tbbc/money-bundle

This is a Symfony bundle that integrates moneyphp/money library (Fowler pattern): https://github.com/moneyphp/money.

1961.9M](/packages/tbbc-money-bundle)[2checkout/2checkout-php

2Checkout PHP Library

83740.3k2](/packages/2checkout-2checkout-php)[smhg/sepa-qr-data

Generate QR code data for SEPA payments

61717.2k5](/packages/smhg-sepa-qr-data)[omnipay/dummy

Dummy driver for the Omnipay payment processing library

271.2M33](/packages/omnipay-dummy)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
