/odoo-solana-payments

Allows you to accept a variety of currencies (USDT, USDC, BTC, SOL) via the solana blockchain

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Solana Payment Acquirer for Odoo Ecommerce

Solana Odoo Ecommerce

Allows you to accept a variety of currencies (USDT, USDC, BTC, SOL) via the solana blockchain

A payment module for handling SPL tokens and native SOL transactions in the context of the Odoo Ecommerce platform

Utilizes the public Solana blockchain to enable the acceptance of a variety of currencies. USDT / USDC are native on Solana, while BTC, ETH and other BIP44 coin types are wrapped onto Solana. Transactions are instant and less than a penny.

Copyrights

GNU General Public License v3.0 https://github.com/t-900-a/odoo-solana-payments/blob/master/LICENSE

Demo Website

Site: http://solanashop.mooo.com/

Demo Video: https://siasky.net/AABOhlJI929pKrie_EP5x9IzmeDWax86wSDnpQSzWtjO-w

SolanaShop

Installation Notes

Requires these Odoo modules: 'website_sale', 'website_payment', 'website', 'payment_transfer', 'payment', 'base_setup', 'web', 'website_sale_require_login', 'website_sale_suggest_create_account',

Install the modules above first. Install this module.

Go to Settings > General Settings > Website > Customer Account. Enable Free sign up.

Add your wallet address and / or alias: Website > Configuration > Payment Acquirers > Edit

At this time this module is not recommended for use in production, but if you feel comfortable with the risks; set the state from Test Mode to Enabled and the Environment from Devnet to Mainnet.

Under website settings > Pricing > check both "Pricelists" (Multiple prices per product) and "Multi-Currencies"

SOL is added to your currencies available in Odoo, if you want to add SPL tokens (i.e. USDC) you will need to add them.

The USD/SOL rate is manually set via Settings / Currencies.

After you've added an SPL token as a currency, you need to create a copy of the Solana Payment Acquirer.

This can be done: Website > Configuration > Payment Acquirers > Action > Duplicate

Customize your Wallet Address / Alias under each payment acquirer that you create.

Each currency will require a pricelist, Create a Pricelist and mark it as selectible.

Set the price computation to "Sales Price" and "Formula", you can add discounts to incentivize the use of a certain token.

At this time they need to match their price list to their payment method. I.e. if they're going to pay with SPL BTC, then the drop down for the BTC price list needs to be selected.

Once this is all done, your site visitors can change currencies to their preferred currency and can pay via Solana. Requests will be made to an external solana api to confirm payments are made and the sales order and payments will be marked as paid/complete.

Want to help?

There are a bunch of TODOs that need looked at.

The code should have unit tests, but doesn't due to the time constraints of the hackathon.

Development

Install odoo: https://github.com/Yenthe666/InstallScript

Pull the repo down to your odoo custom addons folder.

Install the module and test.

Thanks to

CryptoHO.ST

Fast and reliable VPS store. Accepting Monero, Bitcoin, Lightning Network, Litecoin and Dash.

https://cryptoho.st/