Online payments have traditionally been initiated in a variety of different ways, but contain approximately the same parameters and result in roughly the same outcome - the transfer of funds from a sending party to a receiving party. The Payment Links specification outlines a standard set of IRI parameters for the purposes of transmitting payment from a source to a destination. The specification does not cover the method of transmission, but rather the initiation of the payment process. It is intended as a part of a family of open Internet Payment specifications.
A number of Web-based payment services exist that are capable of initiating and transmitting a payment from a sending party to a receiving party. While the details of how the transfer occurs often differ from provider to provider, the information necessary to initiate the transfer of funds are typically the same. There exists the mention of a receiving party, the amount, a currency, and usually a description of the payment.
The following are all examples of valid Payment Links according to this specification:
http://usd.example.com/payments?to=john.doe@example.com&amount=12.73¤cy=USDhttp://bitcoin.example.com/send?to=1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa&amount=1.159487bitcoin:1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa?amount=2.85738&description=Homemade+Blue+Striped+SocksAdditionally, the standardization of hyperlinks to initiate payment will aid search engines, and web browsers to detect places of payment initiation on websites.
The overarching goal for this specification is simplicity. While there is a tendency to add more advanced features to any specification, the design criteria for this specification revolved around describing a simple set of common terms that can be used to describe the initiation of most monetary transfers. Specifically, the transaction process, how payment is sent and received, Web Services for transacting assets, payment exceptions, payment notifications, digital contracts, and receipt handling are not covered by this specification.
Personal and commercial transactions can be broken into two broad categories. The first is a one-way transfer - typically called a gift, donation or implied agreement. The second is a two-way transfer - typically called a contract, grant or explicit agreement. This specification covers initiation of the simpler one-way transfers and leaves two-way transfers to another specification.
Since the Internationalized Resource Identifier (
All payment parameters and values MUST conform to the
[[!IRI]] specification. The only parameter that is required
to be included in the Payment Link is the
6, or a decimal value,
for example 12.73.
http://example.com/articles/1 or
http://example.com/livestock/chickens#organic.
3, or a decimal value,
for example 5.8.
USD, or an IRI pointing to a human and machine-readable
description of the currency, such as
http://purl.org/currencies/bitcoin.
78384827-728472-3847, msporny@digitalbazaar.com, or
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa.
If a set of Payment Link parameters are coupled with a mechanism, such as
HTML or HTTP, that allows the expression of a link relationship, the
payment link relationship SHOULD be specified along side the
IRI.
HTML:<a rel="payment" href="http://example.com/donate/redcross?amount=10.00¤cy=USD">Donate $10 to the Red Cross</a>HTTP Header:Link: <http://example.com/payment?amount=0.99¤cy=USD&asset=http://example.com/songs/let-them-eat-cake>; rel="payment"