A Bitcoin payment processor plugin for the
VirtueMart shopping cart for Joomla!.
- Generates a new bitcoin address for every order
- Provides payment address to customer on site at checkout, plus in a
- Configurable timeout after which unpaid transactions will be canceled
- Configurable number of Bitcoin network confirmations after which an order
is considered paid
- HTTP or HTTPS access to bitcoind
- Joomla! 1.5
- VirtueMart 1.1.x
- cURL support
- SSL support (if you're using HTTPS to talk to bitcoind)
- Access to create a cronjob on your web server (or elsewhere)
- wget or the curl commandline tool on the machine running the cronjob
- It is assumed that Bitcoin is the only currency accepted.
- All prices are assumed to be in Bitcoins, and no currency conversions are
- A cronjob is required to check for payment receipt, at least until
bitcoind allows attaching a JSON-RPC callback to an address.
- Emailing the bitcoin address requires an extra email to be sent (modifying
the order confirmation message VirtueMart sends would be preferable, but
the API doesn't support that).
- Orders for downloadables are not tagged as "shipped" once paid.
- The Bitcoin address associated with a transaction is stored in a database
field not intended for it.
- No localization support.
- Log into your Joomla! installation as an administrator.
- Click Components -> VirtueMart on the main menu.
- At left, click Store -> List Payment Methods.
- Click Bitcoin in the list.
- Click the checkbox next to "Name" at the top of the list, then clear the
- Click "Unpublish" at top.
- On the "Payment Method Form" tab, configure as follows:
- Active - checked
- Payment Method Name - Bitcoin
- Code - BC
- Payment class name - ps_bitcoin
- Payment method type - HTML-Form based (e.g. PayPal)
- Now click to the "Configuration" tab and proceed as follows:
- Configure your bitcoind server information.
- If you are using HTTPS to talk to bitcoind and would like to validate
the connection using bitcoind's own SSL certificate, enter the
absolute path to the certificate file (server.cert) you've uploaded
to the server.
- Configure your payment timeout and number of transaction confirmations
Note the instruction to create a cronjob. The cronjob is what
queries bitcoind periodically to see if pending orders have been paid. The
cronjob is mandatory.
- Leave the "Order status" options at their defaults:
- Successful = Confirmed
- Uncompleted = Pending
- Failed = Cancelled
- Copy and paste all of the code from
extrainfo.php in the distribution
archive's root directory into the "Payment Extra Info" box.
- Create the Bitcoin currency:
- Assuming you're still in the VirtueMart component, click Admin ->
List Currencies at left.
- Click New at top right.
- Currency name: Bitcoin
- Currency code: BTC
- Set the store-wide currency:
- Click Store -> Edit Store
- In the "Currency Display Style" box:
- Open "Currency" and select Bitcoin.
- Enter "BTC" as the Currency Symbol.
- Under "List of accepted currencies" click Bitcoin and make sure
that all other currencies are deselected.
bitcoin-virtuemart incorporates code from:
bitcoin-virtuemart is free and unencumbered public domain software. For more
information, see http://unlicense.org/ or the accompanying UNLICENSE file.