Hi! We are currently in the process of building a payment plugin which helps sellers in ecommerce websites accept different kinds of cryptos. We have completed the implementation of Bitcoin and bitcoin-based cryptos which had a pretty simple implementation by generating a unique address per order on the website, enabling the plugin to detect which orders needs to be confirmed on the website.
However, since the concept of UTXO does not exist in ethereum, generating a single address per order would not work since it would be a hassle for the seller to withdraw ethereum from his account. For this purpose, i am currently in the process of implementing a single address generation per seller and deploying one "forward" smart contract from that address for each order being placed on the website i.e one smart contract per order enabling to detect which orders need to be confirmed on the website. The smart contracts basically forward any money being sent them to the seller's single address making the withdrawal process simple.
The problem with this approach is that, deploying smart contract costs a fee which we need to spend from our own money stored in a "faucet" address in our node and the other issue is that, if someone just opens the payment plugin and selects ethereum as the payment method, a smart contract will automatically be deployed and thus, using a script, anyone can keep deploying the smart contracts without making payments and drain our faucet.
Can someone please guide me on if there is a better approach to implement ethereum as the payment method in the plugin?
No comments:
Post a Comment