Ether and ERC20 tokens WooCommerce Payment Gateway

Description

Ether and ERC20 tokens WooCommerce Payment Gateway is the only one true decentralized ether and ERC20/ERC223 token payment plugin. It enables customers to pay with Ether or any ERC20 or ERC223 token on your WooCommerce store. Your customers will be offered the option of paying with Ether or some ERC20/ERC223 token at checkout. If they choose that option then they will be quoted a price in Ether or ERC20/ERC223 token for their order automatically.

After submitting their order they will be given the details of the Ether or ERC20/ERC223 token transaction they should make.

Features:

  • Accept payment in Ether or any ERC20 or ERC223 token of your choice
  • Mobile ready with QR codes
  • Free to use. Fixed fee per purchase
  • User friendly payment wizard
  • Automatically convert order value to Ether or ERC20/ERC223 token at checkout
  • Option for adding a percentage mark-up to the converted price of Ether and/or ERC20 tokens to help cover currency fluctuations.
  • “Pay with Metamask” button to allow easy payment via MetaMask client. If customer do not want to use MetaMask, she can just copy and paste Value, Address, and Data fields in her favorite wallet software.
  • The Disallow customer to pay with Ether option is useful to accept only some token
  • Automatic transaction tracking / reconciliation and order updates
  • Integration with the Ethereum Wallet plugin is provided
  • Token rate can be specified in the store’s base currency code, like TSX:0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a:1USD
  • myCRED Point Based Stores are supported: points can be selled for ERC20 tokens
  • Custom WooCommerce currency based stores support
  • The only one true decentralized ether and ERC20/ERC223 token payment plugin. There are no service other that Ethereum blockchain is used in this plugin. You do not need to trust us or any other party. This plugin uses a public smart contract in the Ethereum blockchain to record and confirm orders
  • The Payment Gateway smart contract: 0x3E0371bcb61283c036A48274AbDe0Ab3DA107a50

Combined with the Cryptocurrency Product for WooCommerce plugin it can allow you to sell ERC20/ERC223 tokens for Ether or Ether for ERC20/ERC223 tokens.

Ether payment

The payment with Ether is a simple one step process. Customer have to send one transactions to the Ethereum blockchain.

ERC20/ERC223 token payment

The ERC20/ERC223 token payment consists of two steps:

  • Deposit funds to the payment gateway smart contract in the Ethereum blockchain, and
  • Use this deposit to pay for your order

Customer have to send two transactions to the Ethereum blockchain:

  • first for deposit and
  • second for the real payment

    There are no need to refund the deposit to cancel the first step, since it is actually a Token.approve call that doesn’t transfer any tokens.

Disclaimer

By using this free plugin you accept all responsibility for handling the account balances for all your users.

Under no circumstances is ethereumico.io or any of its affiliates responsible for any damages incurred by the use of this plugin.

Every effort has been made to harden the security of this plugin, but its safe operation depends on your site being secure overall. You, the site administrator, must take all necessary precautions to secure your WordPress installation before you connect it to any live wallets.

You are strongly advised to take the following actions (at a minimum):

By continuing to use the Ether and ERC20 tokens WooCommerce Payment Gateway plugin, you indicate that you have understood and agreed to this disclaimer.

Troubleshooting

WooCommerce session broken

If you are getting this message: ETH price quote has been updated, please check and confirm before proceeding it means that your server installation settings broke the WooCommerse session somehow. Install the WordPress Native PHP Sessions in this case.

COPY buttons L&F

It is very likely that COPY buttons would look not perfect in your theme. Most problems with them can be solved by adding your custom styles to this CSS class:

.epg-payment-instructions button.button.epg-copy-button {
    padding: 0.618em 1em;
}
.epg-payment-instructions button {
    background-color: #ffd600;
    color: #ffffff;
}
.epg-payment-instructions button:hover {
    background-color: #aad600;
    color: #dddddd;
}

Tune the padding, color and background values to met your theme expectations.

Add this code to your Additional CSS section in the theme customizing.

Testing

You can test this plugin in some test network for free.

Testing in ropsten

  • Set the Blockchain setting to ropsten
  • Buy some 0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a TSX token by sending some Ropsten Ether amount to it’s Crowdsale contract: 0x773F803b0393DFb7dc77e3f7a012B79CCd8A8aB9
  • You can “buy” some Ropsten Ether for free using MetaMask
  • Set the Supported ERC20 tokens list setting to the TSX:0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a:0.001
  • Create a cheap test product in your store
  • Buy this product with Ropsten Ether and/or this TSX token
  • Check that proper amount of Ropsten Ether and/or TSX token has been sent to your payment address

Testing in rinkeby

  • Set the Blockchain setting to rinkeby
  • Buy some 0x194c35B62fF011507D6aCB55B95Ad010193d303E TSX token by sending some Rinkeby Ether amount to it’s Crowdsale contract: 0x669519e1e150dfdfcf0d747d530f2abde2ab3f0e
  • You can “buy” some Rinkeby Ether for free here: rinkeby.io
  • Set the Supported ERC20 tokens list setting to the TSX:0x194c35B62fF011507D6aCB55B95Ad010193d303E:0.001
  • Create a cheap test product in your store
  • Buy this product with Rinkeby Ether and/or this TSX token
  • Check that proper amount of Rinkeby Ether and/or TSX token has been sent to your payment address

Fees

The fee is published in a blockchain and is limited by a maxFee property in smart contract.
This guaranties your safety as a plugin customer. The feePercent and maxFee values a saved as % * 10^6:

  • The maxFee is 3% which is saved as 3000000 and can not be changed.
  • The feePercent is 1,5% which is saved as 1500000 and can be changed in a 0% to 3% range.

We reserve the right to change the fee in the 0% to 3% range to reflect the market changes.

Screenshots

  • The payment method choice
  • The Ether payment page
  • The Ether payment page advanced toggled
  • The Ether payment page advanced and QR-code toggled
  • The Ether payment page in mobile phone
  • The Ether payment page in mobile phone advanced toggled
  • The ERC20 payment page
  • The ERC20 payment page advanced toggled
  • The ERC20 payment page advanced toggled continues and second step
  • The ERC20 payment page in mobile phone
  • The ERC20 payment page in mobile phone advanced toggled
  • The basic plugin settings
  • The infura API credentials and blockchain network settings
  • The plugin payment details settings

Installation

  • Install and activate it as you would any other plugin
  • Head over to WooCommerce » Settings » Checkout » Ether and ERC20 tokens WooCommerce Payment Gateway
  • Enter your Ethereum address to receive payments and confirm markup %
  • Register for an infura.io API key and put it in admin settings. It is required to interact with Ethereum blockchain. After register you’ll get a mail with links like that: https://mainnet.infura.io/1234567890. The 1234567890 part is the API Key required.
  • Tune other options if you need to

Reviews

Wonderful developer

Oleg is an amazing developer, he has gone out of his way to help with integration issues with the plugin, which itself is amazing!
Read all 3 reviews

Contributors & Developers

“Ether and ERC20 tokens WooCommerce Payment Gateway” is open source software. The following people have contributed to this plugin.

Contributors

“Ether and ERC20 tokens WooCommerce Payment Gateway” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Ether and ERC20 tokens WooCommerce Payment Gateway” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.5.8

  • Fix errors when other gateways are used simultaneously

2.5.7

  • Fix the window.ethereum detection issue if MM is not installed but DOM elements with id="ethereum" are present on a page

2.5.6

  • Custom WooCommerce currency based stores support
  • Better Byzantium fork tx state handling

2.5.5

2.5.4

  • QR Code “Dropdown Option” for mobile instead of showing QR on mobile by default

2.5.3

  • Fix eth rate issue

2.5.2

  • Check for gmp & mbstring before plugin activate
  • Safe settings access to load without errors first time before settings are saved

2.5.1

  • https://min-api.cryptocompare.com/ API Key support

2.5.0

  • Token rate can be specified in the store’s base currency code, like TSX:0x6Fe928d427b0E339DB6FF1c7a852dc31b651bD3a:1USD

2.4.0

2.3.7

  • Fix token payment problem

2.3.6

2.3.5

  • EIP-1102 compatibility (https://bit.ly/2QQHXvF)

2.3.4

  • prospress/action-scheduler library upgrade
  • Upgrade web3.js to the latest stable release v0.20.6

2.3.3

  • Fix QR-codes for black backgrounds
  • Show/hide Amount field for Ether payment if advanced fields are hidden/shown
  • Show the Amount field as a simple text to distinguish it from the Value field to enhance user’s experience

2.3.2

  • Cancel process order task if order is cancelled or removed
  • epg-payment-received.php does not exist error fix

2.3.1

  • Order would be confirmed even if user closed the payment page before transaction was confirmed
  • Copy buttons fix if clicked on icon

2.3.0

  • Mark ERC20 token price up by % option is added. To help cover currency fluctuations the plugin can automatically mark up converted rates for you. These are applied as percentage markup, so a 1 ERC20 Token value with a 1.00% markup will be presented to the customer as 1.01 Token.
  • email content fix