Bitcoin Forum
November 13, 2024, 02:16:41 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Recurring payments with bitcoins?  (Read 567 times)
halfawake (OP)
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
May 15, 2013, 08:39:26 PM
 #1

I don't think this is something that is currently supported, and I realize that the technical support forum would be a better place for this, but since I just created my account, that's not an option yet.  

In any case, is there any way to create a schedule of recurring payments with bitcoin?  I'm actually interested in this more from the merchant's perspective than the consumer's perspective.  I know this can be done with credit cards, but as far as I know, it's not an option with bitcoins yet.  

The way I envision this working is as follows:

1) Client does the initial payment manually for x bitcoins and agrees to setup a schedule for recurring payments on a given date, such as 30 days from the initial payment date.
2) Thirty days later, a request for another payment is sent to that address.  The second and any subsequent payments could be pegged to the dollar (or some other currency) in order to ensure that the merchant gets a consistent amount of money each month.
3) If the client has enough bitcoins to fund the second payment, payment goes through.  Otherwise, payment fails and error is returned instead.
4) Steps 2 - 3 repeat every x amount of days from the payment, often this is 30, but there's no reason it couldn't be two months, six, or a year instead.

Is there any way to do this currently?  Some sort of website API would make the most logical sense for this, although it would also be a nice client feature if someone could send x bitcoins to an address and have it automatically try to pull that amount again from the sending address later on.  Not sure if this is something any client developer would want to implement though - there would need to be some sort of way for the person getting the coins pulled to verify that they agree to the recurring transactions if it was implemented in this way.

BTC: 13kJEpqhkW5MnQhWLvum7N5v8LbTAhzeWj
Kaetemi
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
May 15, 2013, 08:41:24 PM
 #2

I prefer prepayments over recurring charges. It's safer.
halfawake (OP)
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
May 15, 2013, 08:49:59 PM
 #3

Oh, you're absolutely right that it's not as safe as prepayments. 

For the purposes of the business I had in mind, this isn't a big problem though.  I was thinking of creating a web hosting business accepting bitcoins, and the ability to have recurring payments would make that type of business far easier.  For this kind of business, if the second transaction attempt fails, I could always lock the user's account until they pay.  So it wouldn't work for every type of business, but for this specific business, it would if you're willing to accept the overhead of transactions that might fail.  (Which could happen with credit cards as well, anyway.)

BTC: 13kJEpqhkW5MnQhWLvum7N5v8LbTAhzeWj
YABTCLover
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
May 16, 2013, 01:18:22 AM
 #4

I read somewhere, that payment-requests might be possible with bitcoin in a future.

Idea behind Bitcoin is that nobody else except you can take your BTC, so it should be obvious that you have to get active to send some BTC out Smiley
Perhaps an Onlinewallet supports recurring payments once it got credited with some Bitcoins!

In the meantime just use the API of bitcoin-qt with Autostart:
1.) Always start bitcoin-qt.exe with Parameter "-server -rpcuser=user -rpcpassword=password -rpcallowip=127.0.0.1 -rpcport=1234".

2.) Create timed schedule for execution (e.g. Schedule Planner in Windows every 1st of month):
bitcoin-qt.exe -rpcconnect=127.0.0.1 -rpcuser=user -rpcpassword=password -rpcport=1234 sendtoaddress 1dice6YgEVBf88erBFra9BHf6ZMoyvG88 1.0 monthly-satoshi-dice-payment
For more commands, see https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

And you have your standing order :-)

Attention: You open a door to viruses who already infected your computer to get easier to your BTC! It does not matter which username or password you choose. It will be always visible in process list. So be sure you do not use a wallet with many BTC, or you have a save (TM) computer Smiley
halfawake (OP)
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
May 16, 2013, 01:40:04 AM
 #5

I read somewhere, that payment-requests might be possible with bitcoin in a future.

Idea behind Bitcoin is that nobody else except you can take your BTC, so it should be obvious that you have to get active to send some BTC out Smiley
Perhaps an Onlinewallet supports recurring payments once it got credited with some Bitcoins!

In the meantime just use the API of bitcoin-qt with Autostart:
1.) Always start bitcoin-qt.exe with Parameter "-server -rpcuser=user -rpcpassword=password -rpcallowip=127.0.0.1 -rpcport=1234".

2.) Create timed schedule for execution (e.g. Schedule Planner in Windows every 1st of month):
bitcoin-qt.exe -rpcconnect=127.0.0.1 -rpcuser=user -rpcpassword=password -rpcport=1234 sendtoaddress 1dice6YgEVBf88erBFra9BHf6ZMoyvG88 1.0 monthly-satoshi-dice-payment
For more commands, see https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list

And you have your standing order :-)

Attention: You open a door to viruses who already infected your computer to get easier to your BTC! It does not matter which username or password you choose. It will be always visible in process list. So be sure you do not use a wallet with many BTC, or you have a save (TM) computer Smiley

Yeah, this works, but I was thinking of this more from a merchant's perspective than a customer's perspective.  And what you say in the attention is exactly why this kind of implementation is a bad idea.  I was more thinking of something streamlined like either a) an update to a client like Armory that enables the sending of recurring payments or b) an API that makes it more of a pre-paid thing where the user has to initiate the payments and all the API does is send the user an email reminding them that it needs to be paid on or before x day.

Given that the issue with viruses would potentially also be an issue with the client update implementation of recurring payments, it may well be that a prepaid / API version of this would be a better implementation.  I'm not a cryptography expert, so I can't say for sure.

BTC: 13kJEpqhkW5MnQhWLvum7N5v8LbTAhzeWj
YABTCLover
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
May 16, 2013, 02:02:59 AM
 #6

As you said, your alternative a) leads to the same problem with viruses then the autostart-script if the finish solution does not ask you for your wallet password and ensure exclusive access to the keyboard during that time, which no Bitcoin Client does at the moment i think. Otherwise features like clipboard copy and paste would be deactivated in the Wallet's password dialog because it is an often used way to steal the input.

Alternative b) ends in an independent system, which only reminds you to pay something, and there are tons of Bill Managers & Reminder out in web if you just need something that helps you to send your payment out regulary. You could use one for USD and keep in mind that you mean BTC.
halfawake (OP)
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
May 16, 2013, 02:34:03 AM
 #7

There's an inherent tradeoff in any banking system between security and ease of use.  You're absolutely right, if it was implemented to not require input of a user's password, it'd be no different (from a security standpoint) from what you proposed.  There's no reason that it would have to be implemented that way, and given that Armory is designed around security, it's likely that it would be implemented to require password input for the payment to go through.

As far as option b, yes, I know there are other options out there that do bill payment reminders.  But as far as I know, there aren't any that exist that are designed for bitcoin.  The benefit to the API version over some generic solution that already exists outside of bitcoin is you could have the API leverage existing APIs to peg the payment reminder to the current exchange rate so that the the merchant is always getting the same amount in dollars.

BTC: 13kJEpqhkW5MnQhWLvum7N5v8LbTAhzeWj
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!