Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 02, 2014, 01:58:02 PM |
|
I'm looking to create a system where bitcoins are paid to a given address automatically when the right payment conditions are met. Any ideas on good ways of doing that?
|
|
|
|
gigica viteazu`
Sr. Member
Offline
Activity: 458
Merit: 250
beast at work
|
|
February 02, 2014, 03:01:55 PM |
|
So you asking ppl to come up with ideas that once implemented (most likely) only you will benefit from?
Why don`t you tell us what ideas you have and MAYBE some of us will contribute with improvements.
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 02, 2014, 03:22:29 PM |
|
Er, no. It's a simple question about what technologies are typically used. In case you didn't know lots of people buy and sell bitcoins already. So don't worry, I'm not going to steal your IP and turn it into a multi-million dollar business. If you're worried I might, feel free not to reply with any ideas, good or otherwise.
|
|
|
|
olsn
Newbie
Offline
Activity: 55
Merit: 0
|
|
February 02, 2014, 04:18:45 PM |
|
It all depends what you have in mind. I wouldn't use paypal if I was you, simply because of the fees. But you could utilize your bank-account for that kind of service(or probably create a business-banking account for that) Take a look at the OFX-standard, you can find follow-up links here: http://stackoverflow.com/questions/3469628/banking-api-protocolBut it depends on the bank and probably the country you live in, here in germany, there's a standard called FinTS( http://en.wikipedia.org/wiki/FinTS) And then there's several commercial APIs for those kind of purposes, but I cannot tell you anything about that, haven't used those yet. https://plaid.io/ for example is a newer service, but they only support 4 or 5 banks currently, I've heard that intuit.com offer similar API-services. If you reside in europe, you might want to take a look at https://www.sofort.com/
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 02, 2014, 05:28:00 PM |
|
Thank you. For people paying money there are lots of options (though only a handful of suitable ones). But I'm also interested in the other side of the transaction: what are the ways that are typically used to transfer bitcoins automatically? So if you were just doing a proof-of-concept version, you could have a simple PayPal button to send the money... what would be used to send the bitcoins to the recipient? All of the sites I've seen are either full exchanges, or they involve manual transactions - i.e. a person sat at a computer, waiting for funds to show up in their bank account before making the transfer of bitcoins (or vice versa in a few instances). I'm curious to know whether a 'But it now'-type button could be developed. Anyway, thanks for the thoughts.
|
|
|
|
olsn
Newbie
Offline
Activity: 55
Merit: 0
|
|
February 02, 2014, 05:54:04 PM |
|
Exchanges don't (usually) involve people to manually transfer bitcoins MAYBE some exchanges process HUGE withdrawals manually, but most transactions are automated. You would do that by setting up a bitcoind or use some other existing, open bitcoind and then use the bitcoin JSON-RPC API( https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_Calls_list) to initiate transactions ect...
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 02, 2014, 07:17:04 PM |
|
Exchanges don't (usually) involve people to manually transfer bitcoins Well, no. That would be silly. Good mental picture, though. Thanks for the other suggestion. Slightly more complicated than I'd hoped - I had wondered whether Coinbase or anyone else had something that could be adapted, but looks like no such luck.
|
|
|
|
ShireSilver
|
|
February 04, 2014, 12:07:37 AM |
|
I made a utility (in Python) that checks a bitcoin address for a couple of conditions and sweeps the coins to a set of other addresses if it meets the conditions. https://github.com/rhelwig/coinsweepIf my conditions aren't the ones you need, you can modify the code yourself or perhaps pay someone to make a version that works for you. I did try to put in a lot of comments so other people could read and modify it.
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 04, 2014, 03:18:07 PM |
|
Thanks ShireSilver. That is pretty cool and maybe directly useful at some point. I've been doing some research around this and it turns out there's a fair amount of Python written for this. I've been looking at Pybitcointools ( https://github.com/vbuterin/pybitcointools) which I think is something like what I need. Do you have any experience of this? Helps that I vaguely know Python, whereas the other suggestions would be a steep learning curve. What I'm look at doing (or rather, trying to establish whether it's even possible) is creating a very simple webpage that would *automatically* send bitcoins to a given address when payment is made. Submitting transactions to blockchain.info/pushtx seems like one easy way to do this. All the sites I know (I'm in the UK) require manual transfer when the seller has checked their bank. The catch comes in accepting payment. Obviously I don't want to use PayPal. Direct deposit is the best, but integrating that with a Python script that sends the coins when the money comes in? Not easy. Crazy workarounds with email notifications from online banking have sprung to mind, but that just seems inelegant...
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 04, 2014, 07:42:15 PM |
|
Also, Shire Silver is a great idea. Figured out that I'll need an online banking API to login to my account and scrape the balance. Duh.
|
|
|
|
dansmith
|
|
February 05, 2014, 07:55:44 AM |
|
Cassius, If all you need is to perform a certain action when your online account's balance changes and your bank supports OFX (rare) and your banks allows you to use the OFX protocol, then a simple script would do. Alternatively, you can write a script which logs into you bank account via https and refreshes the page and parses the HTML to determine if the balance changed.
All that ^^^ works only if you are checking you own account.
If you want to check someone else's account and that "someone else" doesn't want to give you their online bank login credentials, then it's another pandora's box of issues. I have some solutions for that though. Let me know what your use case is.
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 05, 2014, 03:44:05 PM |
|
Thanks. I'm based in the UK, using Natwest, and apparently they do offer OFX amongst other formats for downloading statements. I'm interested in my own account, here (I'm intrigued about the pandora's box and its solutions, though). In short I'm researching creating a *very* simple (simple as possible) system where someone makes a direct deposit into my account to pay for bitcoins, that are automatically sent to them. In the UK there are no decent exchanges and you cannot buy BTC at competitive rates. The sites that exist charge a premium of a minimum of 6% and often much more, depending on price. They work manually: you place an order and the vendor checks their bank account online and makes the bitcoin transfer when they see the funds have arrived. That's where we're at over here. I guess I got curious as to why we use such a clunky system. Turns out the alternatives are fairly messy too. The best solution as I see it is to create a script that logs in, checks your balance and pushes a transaction to the blockchain when it sees the right payment has arrived. But it must be full of holes and security is probably a nightmare. Probably much easier using a PayPal plugin, but then you have chargeback issues.
|
|
|
|
olsn
Newbie
Offline
Activity: 55
Merit: 0
|
|
February 05, 2014, 08:55:30 PM |
|
UK is part of the SEPA region. So I don't know about exchange-rates when you deposit to Bitstamp for example, but have you checked that out? Another possibility would be bitcoin.de(within the SEPA region) - but it works manually like you described it, people are charged 0.5% per buy or sale there, but aren't those competible rates for UK citizens to get bitcoins? You could invest in an bitcoin ATM if you want to sell BTC to a broad audience in the UK
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 06, 2014, 04:47:32 PM |
|
I wish it was that easy. I looked into it, and the bank's fees and exchange rates basically make it uneconomical: you can buy 1btc that way for about the same price as you can from one of the sites in the UK (i.e. the banks rip you off to the tune of a 6-8% mark-up). And you can't use a cheap money transfer service, because they've stopped moving money to Bitstamp. Funny you mention the bitcoin atm. It's something a friend and I are looking into (making one, not forking out $20k). But you run into similar problems at some point: Bitcoin transfers are fast and irreversible, and you need a form of payment that is too. It also has to notify you immediately. The best option is to register instant payments by SMS/direct deposit, but you need an API for that and guess what? The banks only provide them to corporate customers (turnover of £5 million+). Have you had any experience of OKPay? Seems like they may be worth looking at but I don't know whether they offer the functionality we need. * Instant payments * Irreversible payments * Instant notification of payments so transfer of btc can be made It shouldn't be this hard to put those things together in the 21st century...
|
|
|
|
olsn
Newbie
Offline
Activity: 55
Merit: 0
|
|
February 06, 2014, 06:20:41 PM |
|
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 07, 2014, 11:56:16 AM |
|
Yes, I've seen that on Bittylicious. Unfortunately it's still subject to the same markup as direct deposit. Current plan is to adapt a digital coin counter to convert fiat coins to btc in real time. Would love to create a website that took direct deposits or other irreversible payment, but cannot figure out how to do it reliably and securely.
|
|
|
|
ShireSilver
|
|
February 08, 2014, 08:29:50 PM |
|
Sorry I haven't been on in a while. Be sure to check out the Lamassu Bitcoin Machine - https://lamassu.is/ - I know the guys behind it personally and it is a damn cool machine. I'd love to see them add a coin acceptor so people can drop in their spare change, and they've said that is something they're looking into. Yeah, pybitcointools is possibly overkill, and I'm not familiar enough with it yet. But that part of your problem domain isn't the hard part. Dealing with the old banking system is. I might be wrong, but wouldn't the transfer systems like SEPA have the same reversibility issues that Paypal does? That is, once you've sent the bitcoins, can't they make a claim of non-delivery or some other excuse? Sorry but I'm more familiar with the differently outdated 'Merican systems.
|
|
|
|
larem
|
|
February 08, 2014, 08:33:36 PM |
|
Wouldn't this be easy to prototype (or finalize) in PHP? I guess it depends on what you mean by "conditions," but IIRC PHP can do pretty much anything that's needed with the client.
|
|
|
|
Cassius (OP)
Legendary
Offline
Activity: 1764
Merit: 1031
|
|
February 10, 2014, 03:08:20 PM |
|
Very nice machine. Like it a lot. We'll probably look at converting an existing dispenser that takes £1 coins or maybe all coins, just to trial the idea. I love the idea of your fiat disappearing into the machine and your balance updating in real time as they do (or at least, a balance that will be transferred to your address shortly). Larem: I know it's possible to create screen-scraping APIs for online banking, though it's a little beyond me (whether you use PHP, Python or whatever is another question). But it's messy and I don't like the security implications - I'm pretty sure it will 1) open you to hacking and 2) void any insurance you have with the bank. ShireSilver: I'm pretty sure SEPA is good, as are all direct deposits. It's what Bitstamp uses anyway, if you happen to be on the wrong side of the English channel. It's just darned expensive. Either way, getting a live update from your bank account is a heck of a lot harder than it should be.
|
|
|
|
|