BitShares Forum

Main => Technical Support => Topic started by: xeroc on June 07, 2015, 04:17:56 pm

Title: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: xeroc on June 07, 2015, 04:17:56 pm
BitShares 2.0 Technologies
Recurring & Scheduled Payments

(http://bitshares.github.io/images/frontpage/icon-rec-payments.svg)

Give direct debit authority or limited withdraw permissions to anyone
BitShares is the first smart contract platform with built in support for recurring payments and subscription payments. This feature allows users to authorize 3rd parties to make withdraws from their accounts within certain limits. This is convenient for anyone who likes to “set it and forget it” when it comes to their monthly bills and subscriptions.

full length (http://bitshares.github.io/technology/recurring-and-scheduled-payments/)
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: xeroc on June 08, 2015, 07:51:03 pm
Who has figured out the magic in this already?
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: emski on June 08, 2015, 08:00:45 pm
Who has figured out the magic in this already?

Looks like you've been busy lately.
The magnitude of changes is incredible.
Lets see how it will work out.
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: Tuck Fheman on June 09, 2015, 01:04:07 am
BitShares 2.0 Technologies
Recurring & Scheduled Payments

(http://bitshares.github.io/images/frontpage/icon-rec-payments.svg)

Give direct debit authority or limited withdraw permissions to anyone
BitShares is the first smart contract platform with built in support for recurring payments and subscription payments. This feature allows users to authorize 3rd parties to make withdraws from their accounts within certain limits. This is convenient for anyone who likes to “set it and forget it” when it comes to their monthly bills and subscriptions.

full length (http://bitshares.github.io/technology/recurring-and-scheduled-payments/)

PayPal 2.0!
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: xeroc on June 09, 2015, 06:28:41 am
PayPal 2.0!
How about having a debit card that can withdraw $X monthly from your blockchain account?!
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: Tuck Fheman on June 09, 2015, 01:38:44 pm
PayPal 2.0!
How about having a debit card that can withdraw $X monthly from your blockchain account?!

(http://www.reactiongifs.com/wp-content/uploads/2013/10/whoa-dude.gif)
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: Samupaha on June 09, 2015, 04:08:30 pm
This was very positive surprise. I've heard that many merchants were not interested in bitcoin because it didn't work with subscription based business models.
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: btswolf on April 04, 2016, 11:17:38 am
Status?
Does that include a basic set of conditions to create transaction rules in the GUI?
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: svk on April 04, 2016, 11:48:12 am
Status?
Does that include a basic set of conditions to create transaction rules in the GUI?

We need some documentation of how this is implemented in the blockchain before we can add it to the GUI. At the moment I have no idea how it works.
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: xeroc on April 04, 2016, 12:09:47 pm
1) you setup a withdraw permission:

Code: [Select]
get_prototype_operation withdraw_permission_create_operation
[
  25,{
    "fee": {
      "amount": 0,
      "asset_id": "1.3.0"
    },
    "withdraw_from_account": "1.2.0",
    "authorized_account": "1.2.0",
    "withdrawal_limit": {
      "amount": 0,
      "asset_id": "1.3.0"
    },
    "withdrawal_period_sec": 0,
    "periods_until_expiration": 0,
    "period_start_time": "1970-01-01T00:00:00"
  }
]

All you need to define is

* The account from which to withdraw
* The account that is allowed to withdraw
* The asset and amount limit that is allowed to withdraw
* And the period in which the limit is reset (e.g. 1k$ monthly.)
* as well as the start time


2) The other party can withdraw funds from your account with the
withdraw operation:

Code: [Select]
get_prototype_operation withdraw_permission_claim_operation
[
  27,{
    "fee": {
      "amount": 0,
      "asset_id": "1.3.0"
    },
    "withdraw_permission": "1.12.0",
    "withdraw_from_account": "1.2.0",
    "withdraw_to_account": "1.2.0",
    "amount_to_withdraw": {
      "amount": 0,
      "asset_id": "1.3.0"
    }
  }
]
You need

* The actually object id of that withdrawal permission
* the account to withdraw from (imho redundant)
* the account to withdraw to
* and the amount

The biggest problem here is that the withdraw permissions are not
"searchable" and I don't think they are in the results of
get_full_account yet. @abit: maybe you can help add them there.

Once you have a withdraw permission object id (and the matching
account), you can create a withdrawal transaction!
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: abit on April 04, 2016, 01:14:45 pm
1) you setup a withdraw permission:

Code: [Select]
get_prototype_operation withdraw_permission_create_operation
[
  25,{
    "fee": {
      "amount": 0,
      "asset_id": "1.3.0"
    },
    "withdraw_from_account": "1.2.0",
    "authorized_account": "1.2.0",
    "withdrawal_limit": {
      "amount": 0,
      "asset_id": "1.3.0"
    },
    "withdrawal_period_sec": 0,
    "periods_until_expiration": 0,
    "period_start_time": "1970-01-01T00:00:00"
  }
]

All you need to define is

* The account from which to withdraw
* The account that is allowed to withdraw
* The asset and amount limit that is allowed to withdraw
* And the period in which the limit is reset (e.g. 1k$ monthly.)
* as well as the start time


2) The other party can withdraw funds from your account with the
withdraw operation:

Code: [Select]
get_prototype_operation withdraw_permission_claim_operation
[
  27,{
    "fee": {
      "amount": 0,
      "asset_id": "1.3.0"
    },
    "withdraw_permission": "1.12.0",
    "withdraw_from_account": "1.2.0",
    "withdraw_to_account": "1.2.0",
    "amount_to_withdraw": {
      "amount": 0,
      "asset_id": "1.3.0"
    }
  }
]
You need

* The actually object id of that withdrawal permission
* the account to withdraw from (imho redundant)
* the account to withdraw to
* and the amount

The biggest problem here is that the withdraw permissions are not
"searchable" and I don't think they are in the results of
get_full_account yet. @abit: maybe you can help add them there.

Once you have a withdraw permission object id (and the matching
account), you can create a withdrawal transaction!
If you have time please submit an issue to github if not already done.
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: xeroc on April 04, 2016, 01:56:47 pm
https://github.com/cryptonomex/graphene-ui/issues/808
Title: Re: [BitShares 2.0 Technologies] Recurring & Scheduled Payments (Discussion)
Post by: cube on April 29, 2016, 09:46:07 am
https://github.com/cryptonomex/graphene-ui/issues/808

Should the issue be raised in graphene repo instead?