For #1 - what if it wasnt even physical shipping per se? What if it was just express delivery of a custom script or a sub-feature that cost a little extra? While user logins would be cool, i wouldnt see that being a barrier to a supplemental option that just adds a bit to the total $ amount due. Personally, i like the current setup of not having a user signup to go thru. How easy would you think this supplemental option with additional $ amounts would be to customize?
Just curious but what do you think the shopping cart interface that is the easiest to setup/maintain outside of bitshop is? Ive looked at opencart, oscommerce, etc and they seemed so taxing on setup/administration compared to bitshop? Did you like any of them as far as ease-of-setup/admin goes?
Yours is by far the easiest for a beginner to use. And i think its way underpriced! Your hard work and reliable support warrant at least double the price. Do you have a donation address? And do you do custom coding services / support on top of selling the software?
#2 - i dont know if i could call it getting stuck per se - but heres a few examples of problems i had during testing:
Problem #1 - partial payments - i tried to setup the shop to allow for "4 digit accuracy". My expectation was that a payment accurate to the 4th digit would qualify as PAID IN FULL. So for example, an amount due of 0.123499807 would allow for a payment of .1234 and be considered PAID at that point. But i had varying results on a test item which cost .001859 at the time of testing.
1st time i paid .0017 and it was marked PAID. II figured that my 4 digit accuracy actually meant that the 4th digit could be any value like .0012 or .0014 for amount due of .0018.
2nd time i paid .0018 and it was marked a PARTIAL PAYMENT which negated my theory on 1st example.
3rd time i paid .0011 and it just kept looping thru the confirmation progress bar. Ill check again but i think it remained in order mgmt as unpaid hours later. Is it true that if the customer exits the progress payment screen, the order mgmt page would never auto-update for that order?
#3 + #4 - i will tinker with this but i was hoping to see something that is probably beyond my skills like:
- a link to update the wallet balances for each order and displays balance as a column field. That way I could visually make sure the payment amt matches amt due.
- Going to my example of the 4 digit accuracy payments - the red/green flagging wasnt giving the appropriate flags based on what was in the wallets. Again, im wondering if the balance in the payment wallet + current confirmation amounnts is something that auto-updates?
#5 - i definitely agree that one fresh wallet per order is necessary. But i was wondering if i could just supply a big list of payment wallets that could be fed to new orders rather than relying on any gateway at all? Or even cooler would be something that leverages electrums MPK. Have you seen a script called addrgenerator.php? It basically lets you generate new address based on your MPK for payments. I even think theres a way that u can tie the "middle value" of the wallet address to a customer (or maybe an item)? ill check out coinbase api but im guessing they require their services to get payments and thus serve as a custodian of sorts? Not a fan of that.. maybe im wrong tho.
While the EXPORT KEYS is cool - my point was having a pre-generated list that is fed in and then doled out until you run out of wallets at which point u import more wallets. The current way requires u to export, decrypt and then sweep all the balances to ur final personal wallet.
By having this control on the storeowner side, it might let storeowner manage the overall funds and balances a lil easier. For example, if I had 200 wallets in electrum that i could get payments sent to, i could login to electrum wallet and see if i have payments. And im sure a workflow could take that way further.
Am i correct that the addys are generated on the fly at time of checkout? So whatever i export on order mgmt page will equal the # of orders.
#6 - exactly what i was thinking - order mgmt page seems like appropriate place and time to do this update. A link is probably the right move. Thanks. On this topic and tied to the above order mgmt suggestions - it would be great to have some other links that help manage funds and update values. I could get alot of use from:
1. Ticket price update
2. Update all wallets balances + confirmation #s (and thus update payment status
3. Sweep wallets - allow user to setup a custom sweep command that could be exported. For example, having a setup like this might be secure an cool:
a) Storeowner sets up private key as they do now.
b) Sweep destination field + sweep action link then spends/sweeps all funds from multiple order wallets to the sweep destination wallet which would then require privkey input from storeowner to execute the action.
1. Item supplemental option - basically envisioning a delivery method option on each item which adds a supplemental price to the total amount. So item A costs 10 and std delivery is 2 and express delivery is 5. Buyer choose express delivery so their checkout amount is 15.
Several people have requested this and the answer is always no. BitShop is designed to sell digital products not physical products. That was my intention from the start. There are already countless shopping cart software packages which allow you to sell physical items. My goal with BitShop was to offer something tailored for selling digital items. However if I ever get around to adding a user login system I might add some basic shipping support, but it's a long way off.
2. Checkout page - please dont take offense but this is the worst part about the whole process. It gets stuck alot and causes issues so i would prefer that it tells buyer that order is paid as soon as payment hits blockchain at 0 confirms. I will take the risk of not waiting for 1 confirm. I assume this is how bitpay style checkout works and why the buyer success page is so fast in those checkout pages? Then im guessing that the vendor will not send goods if the order winds up with zero confirmations in an hour.
It shouldn't get stuck, but I'm currently recoding a lot of the payment gateway to make it work smoother, that will be in the next version. You can always use the coinbase API if you don't want to use the default payment gateway (see the SCI settings). The blockexplorer.com API doesn't even support 0 confirmation transactions which is one of the main reasons you can't use 0 confirmations in the default API. However I believe the coinbase API should behave similar to bitpay and accept tx's with 0 confirmations.
3. Order mgmt page - custom field columns display to see more info on order.
Have you tried clicking on one of the rows to bring up more detail on a specific order?
4. Order mgmt page - some sort of formula action that could run and return a value that tells me whether the payment is on up and up. In other words, if i had an order for 15 usd and the payment amount was 10, it would tell me that at a glance with a status of partial payment received. If it was 15 and 15 and 1 confirmation had passed on blockchain, itd give me a successful payment received status.
If the row is green it means the payment has been fully confirmed, if the row is red it means the order hasn't been confirmed. That may be because payment wasn't received in full or because they abandoned the transaction mid-way through.
5. Payment wallets - id prefer to use a csv file with payment addresses or some kind of automation based on my mpk (ive seen something called addrgenerator.php which seems like something id like). Open to ideas here but i am slightly nervous that im going to lose funds somehow lol. Has anybody ever had a single payment lost after they confirmed their decryption key worked properly? My testing lost a payment but that was due to the decryptuon pasted wrong. After fixed, test payments all worked so maybe im worrying too much now that i pasted the decrypt keys properly in my settings.
BitShop must generate a new address for every transaction if you use the default payment gateway. If you use the same address for multiple transactions it's very difficult to tell apart the different customers who send coins to that same address because the only thing BitShop has access to is the balance of the address. That is why a fresh address is needed each time, so that the balance always starts at 0 and makes it easy to see when the payment has been received. If you're using the default payment gateway you can export your wallet in csv format or blockchain.info format by going to ORDERS->MANAGE KEYS->EXPORT KEYS. However you can use the coinbase API instead which will let coinbase manage your wallet for you. Personally I like to have complete control over my private keys and I've never had a single issue decrypting my private keys after I set it up properly.
6. Bitcoin usd rate - a custom solution that works without goxgrab cronjob. Im really not incredibly picky and would even run the update manually perhaps when i check my order mgmt page once a day?
All you need to do is run the data_update.php script. You could browse to it directly in your webs browser to run it. However I would suggest you create a link to
www.yourwebsite.com/goxgrab/data_update.php and place it on your admin home page or order management page.