Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Subscriptions for regular transactions #24

Open
KardanovIR opened this issue Dec 11, 2018 · 3 comments
Open

Subscriptions for regular transactions #24

KardanovIR opened this issue Dec 11, 2018 · 3 comments
Labels
enhancement New feature or request

Comments

@KardanovIR
Copy link
Contributor

Subscriptions for regular transactions.

There are a lot of use cases when you want to make regular payments and you do not want to visit any website every time.

Background

  1. For instance, I want to make a service like patreon.com using only blockchain, as a backend and payment processor. It will allow to make a webpage with information about your project and have DONATE button. When a user clicks that button I want to subscribe his for regular payments for every month or on some events like new podcast episode(an oracle needed).

  2. I have some service with a subscription model (like digitalocean.com for example). I do not want to visit this site every month to pay for the service. I definitely will forget about it and miss payment day. Sure I can create an event in my calendar. but it would be better if Waves Keeper can notify me that it is a payday I will just approve the transaction.

In both cases, when a user clicks a button Waves Keeper appears and shows two things one after another:

  1. Transaction details
  2. Subscription details

Constraints and Assumptions

It is a bad idea to make transactions automatically, so it is much better just to show a notification and popup with transaction details for every payment period.
In order to sync subscriptions and not to lose your data when you change your device, subscriptions can be stored in data transactions like plain JSON.

Design Changes

Waves Keeper should be able to show the list of subscriptions and buttons to remove any of them. This fnuctionality could also be useful in mobile apps.

API

The easiest way for external developers to work with a subscription may look like below:

Waves.subscribe({
  tx: {
     // transaction details here
  },
  meta: {
    period: 2592000, //in seconds, maybe it should look like '1s/1m/1d/1mm' etc.
    description: 'Your cool subscription',
    url: 'example.com',
    address: '3P...'
  }
})

Questions

  1. Should Waves Keeper provide an API to remove subscription? (of course only subscriptions for current website)
  2. Should Waves Keeper allow to send any type of transactions or only transfers? (I think it can allow sending all types).
@KardanovIR KardanovIR added the enhancement New feature or request label Dec 11, 2018
@KardanovIR
Copy link
Contributor Author

API can also allow you to set end_time for subscription

@pivoo81
Copy link

pivoo81 commented Dec 12, 2018

It is a bad idea to make transactions automatically, so it is much better just to show a notification and popup with transaction details for every payment period.

+++
it's very cool. Because now with credit cards some service charge you according to your "subscription" and if you actually didn't want this, you start thinking how to get your money back.
This approach with notification is much better - you can control your recurrent payments.

@bravetarget
Copy link

It is a bad idea to make transactions automatically, so it is much better just to show a notification and popup with transaction details for every payment period.

+++
it's very cool. Because now with credit cards some service charge you according to your "subscription" and if you actually didn't want this, you start thinking how to get your money back.
This approach with notification is much better - you can control your recurrent payments.

Somewhat disagree here... I think it is a great idea to have on-chain subscriptions, but why not have them automatically fulfilled? This has stood out to me as an inconvenience of crypto when compared to the current banking system.

For example: 90% of my monthly bills are automatically deducted from my bank account, and this is done by registering to a customized auto-pay service (which, in most cases, the servicing company has to build this system themselves) and then provide my bank account info to them. Imagine if this type of behavior was translated into waves keeper...

This would solve some pretty glaring problems of our current banking system. For one, I could see from my waves wallet all the services that I'm subscribed to are. This is actually impossible to do from your bank account, even though thats where the money will be deducted from (strange, right?). And secondly, would create uniformity amongst these services, also allowing many smaller companies to offer subscriptions without needing to dedicate resources towards setting a system up themselves.

Automatically initiated transfers from a manually signed subscription might be outside of the scope of this proposal, but definitely stands out in terms of what banks can do that crypto can't. And this change sort of paves the way for that to be solved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants