- From: Pelle Braendgaard <pelle@stakeventures.com>
- Date: Sat, 1 Oct 2011 14:49:47 -0400
- To: Web Payments <public-webpayments@w3.org>
- Cc: opentransact@googlegroups.com
- Message-ID: <CAHtLsUVMSZox4Mb8ybR9CKBNrOcsu2LPDD+ArRNnF6cs8CnCSQ@mail.gmail.com>
Based on our talk on the call yesterday I wanted to add my thoughts about Payment Links. *First why are Payment Links important*? They are not just tip jars but the first and simplest integration into a payment system by a blogger or small business. It is something they can generally speaking do without any outside technical help. *Not just for tips* A non technical person could quickly set up a little e-commerce site with Payment Links the way they do now using PayPal. As part of a users hCard they can have various payment links pre formatted with payment details. People can paste email links into invoices, emails, tweets, sms for requesting payments from clients. *So what is a Payment Link?* A Payment link is essentially a request for payment in the form of a IRI. Most cases that would be https links, but for non http cases such as BitCoin a new IRI scheme. When you click one of these links the intention isn't that a payment is made automatically, but that the payment system presents a repopulated payment screen allowing the user to authorize the payment. 1. Click link 2. Payment Provider authenticates user 3. Payment Provider presents user with a payment screen asking for authorization. For smaller payments e.g. flattr like sites the payment provider might already have you authenticated and might automatically approve small payments. *Reasons for standardizing payment links?* There is no good reason that providers use different parameters since they all require more or less the same parameters. Having a standard vocabulary for amount, recipient, description etc just makes sense. It makes life easier for tool developers, web site owners etc. * * *Proposal for standard* This proposal is based on what we've implemented for open transact. More than anything it is just a simple vocabulary of http query parameters to be added to the payment link. In OpenTransact http://opentransact.org the payment link is what we call the OpenTransact Asset URL. If you link straight to that url without parameters you will be presented with that payment applications standard payment page with no fields filled in. Add at will any of the following: Core parameters we picked based on most common usages in current payment apis. Preferred shorter names rather than longer. (e.g. to over recipient or payee) amount - The amount requested to - The account identifier (often an email address) used by the Payment provider. memo - description OpenTransact prefers different urls for different currencies as they are fundamentally different resources. eg: http://pay.me/usd http://pay.me/eur That said I'd be happy to have a currency parameter for the link as well to make it easy for existing providers to support this. Now the above is just the payment part. PaySwarm contracts are an exchange of a transfer for an asset. How would we allow this kind of thing in the most generic way? I suggest a simple field requiring a url. Maybe 'ref' or 'for'. For a PaySwarm enabled system that for would be the url of the asset listing. But it could be a url to anything, e.g. a product page. The payment prover might just display and record the link, but it could also check the url for semantic information about the item and present that to the user. I like the 'for' parameter personally but I'm thinking there may be better names: "Pay $10 to Manu for PaySwarm eBook" Which would translate to this: https://pay.me/usd?to=manu@…&amount=10&for=http://payswarm.org/ebook We might want a quantity parameter as well to indicate the amount of items I want to purchase. To avoid confusion maybe 'for_amount' makes more sense than 'quantity'. Adding the for and for_amount parameters opens it up for exchange applications. Lets say you used a currency trading site for bitcoin and/or national currencies. They could allow for market prices by creating the following link. http://bitcointrader.null/trade/usd?for_amount=10&for=http://bitcointrader.null/trade/btc The exchange website could fill in the current market price when asking for authorization. *BitCoin* The proposed bitcoin scheme fits well into this scheme. bitcoin:1NS17iag9jJgTHD1VXjvLCEnZuQ3rJED9L?amount=50X8&label=Luke-Jr&message=Donation%20for%20project%20xyz I would change it to use the above naming schemes. Obviously leaving out to as that is replaced by the Address. *Brower integration* * * Obviously for non http systems like Bitcoin, the bit coin app needs to register a scheme on the browser. This is easily done in most OS now, including mobile phones. There is absolutely no need for anything new in the browser for straight http/s links. It is just regular http. The payment provider already knows who I am and what my accounts are. *The Nascar problem* * * If there are 100 different payment providers out there we could run into what is called the Nascar problem. (too many logos). I don't think in general use it would be much of a problem. Most users of these links are only going to support a small about of links. That said the problem could easily be handled by a 3rd party app or maybe even an embedded javascript app. *But what about receipts/contracts etc?* * * For a simple payment link that is out of scope of this section. But needless to say the payment systems can do this in many different ways. They might start with just sending an email receipt to the recipient. But this also easily extends into the PaySwarm model of a contract being created. -- http://picomoney.com - Like money, just smaller http://stakeventures.com - My blog about startups and agile banking
Received on Saturday, 1 October 2011 18:50:25 UTC