payment in the context of the indieweb refers to a feature on an indie web site that provides a way for the visitor to that website to pay (currency, gift card credit, etc.) the person represented by that indie web site.
- 1 Why
- 2 How to
- 3 IndieWeb Examples
- 4 Other independent examples
- 5 Silo Examples
- 6 Affiliate Programs
- 7 Implementations
- 8 Brainstorming
- 9 Articles
- 10 See Also
You should have a payment page (e.g. at you.example.com/pay) so:
- anyone who visits your website can easily pay you (for whatever) in the ways you prefer to be paid, similar to how communication links help people communicate with you in the ways you prefer.
- you can share a simple you.example.com/pay link to get paid
Why with amount
In addition, your payment page should support a specific amount from the URL so you can:
- message a friend a payment link like yoursite/pay/16/ for a specific amount, to split dinner, pay for something they got for you like donuts etc.
- provide a donation link like yoursite/pay/10 (e.g. for a donation optional yoga class)
There are several tutorials on how to create links / URLs for various payment services to put on your web site:
- Square Cash (cash.me - different from SquareUp!)
- Requires linking your debit card to your account to receive or send money. Can optionally link a credit card to your account.
- Doesn't work with UK postcode
- Personal account: none for debit card payments. 3% for credit card payments.
- Business account: 2.75% is automatically deducted from any payment accepted with Cash for Business.
- Create a simple-looking URL to share for people to pay you:
- An amount can be pre-selected by adding it to the URL, e.g.
- Fees: free with linked bank account and some debit, 3% for credit
- Create a simple-looking link to share for people to pay you:
- Flattr for one-time or recurring (monthly) micro-donations
- Monzo.me UK only, requires a Monzo card
- Fees: ?
Once you have a payment URL e.g. pay.example.com/username/usd/5, link to it with rel=payment, e.g.
<a href="https://pay.example.com/username/usd/5" rel="payment">Donate $5 to me</a>
Payment page with amount
/payment/10- to pay you $10
Alternatively this might read better as just "pay" (also less typing), e.g.
Provider link patterns (only these so far), for an amount of $13.37
For other providers, keep their icon / link - better to keep the option than make it curiously disappear.
Note: this can be handled fully serverside.
(add how to normalize URL numerical dollar values to something sensible)
(provide open source for sanitizing numerical values)
Specific rel=payment links:
- Aaron Parecki uses rel=payment to link to Venmo, Paypal and Square Cash on his home page.
- Pelle Wessman uses Jekyll to add Flattr rel=payment links to each blog post on voxpelli.com
- Bret Comnes has links to a bitcoin addresses hosted on coinbase a tip jar. I had a dogecoin address that was hosted on dogevault but dogecoin shut down after getting hacked.
- Peter Molnar added rel=payment links to PayPal and Monzo, displayed as a button at the end of each entry hoping it will encourage tipping
payment page examples
Overall /payment page. Just like having a /contact page, your indieweb site should have a /payment page with icons linked to various ways to pay you. Even better: /payment/nn support for auto-filling $ amounts
- Aaron Parecki provides links to his preferred payment methods on a separate payment page as of 2016-11-28:
- payment page will pre-fill the amount on the links to providers that support it when visiting a URL such as:
- 2017-12-10 payment page now supports Payment Request API using the Stripe library.
- Tantek Çelik provides a mobile-friendly payment page with preferred payment methods as of 2017-10-01 (built on IndieWebCamp NYC 2017 hack day!)
- http://tantek.com/pay (and corresponding tantek.com/request later that night for use at dinner!)
- 2017-12-10 added /pay/n support for auto-filling $ amounts (coded+deployed at IndieWebCamp Austin 2017 hack day!), e.g.
- 2017-12-18 Got it working with Venmo as well (in addition to Paypal and Square Cash) after some experimenting (so all three buttons now support explicit amount)
- Jeremy Cherfas has a page for supporters on his podcast site, offering various payment options and ways to pay.
Other independent examples
Quite a few podcasters include rel-payment metadata – mostly in their podcast feeds but also on their blog pages. This as podcatchers has started using the data to automate donations.
- The 5by5 network uses it in their feeds
- Big german podcaster Tim Pritlove uses it across all of his podcasts, both web pages and feeds
Intro slide from Scott Hanselman's talk at .NET Fringe 2017:
Patreon is a crowdfunding silo that encourages users to support artists and creators typically on a recurring basis. A variety of issues and critiques of the benefits of the site (and it's silo nature) can be found in No One Makes a Living on Patreon
Ko-fi is a service with embeddable widgets that allows patrons or supporters to reward or tip users with money, ostensibly the amount that would purchase a cup of coffee.
While not technically a direct payment method, Facebook during the 2017 holiday season encouraged users to add a donation button to their posts to encourage giving to non-profits.
An alternate, and less direct method of payment, is to utilize an affiliate payment program in which customized URLs to services or products which provide a payment or commission to the referring site.
Some common affiliate programs that creators frequently use include:
Plugins exist for some open source publishing software:
- WordPress Flattr plugin – adds rel-payment links to frontpage, blog post pages and feeds
- Rel-Payment Firefox Addon – shows a clickable icon in the address bar when a payment link is detected for a page
- Many podcatchers, like Instacast and gPodder, rely on rel-payment data in feeds for their integration with Flattr for eg. enabling automatic donations for listened episodes
- Gittip – publishes rel-payment links on their profile pages
- Flattr – publishes rel-payment links on their profile pages as well as on pages for each thing one can donate to. Also heavily uses rel-payment data in their open source browser add-ons.
- Square Cash - allows you to collect payment, e.g. https://cash.me/$aaronpk. An amount can be pre-selected by adding it to the URL, e.g. https://cash.me/$aaronpk/10
Payment page with reason
It would also be nice to be able to share a URL with the reason for the payment as well, so when the user taps a payment button, the provider has the reason pre-filled in as well.
Take a look at the PayPal.me and Square Cash cash.me UIs, which I *think* let you edit the amount and add a reason. Those may be good enhancements to consider for such pre-filled out payment subpage URLs. Then again if the payment service provides a final opportunity to edit amount/reason, then having that on your own site may see redundant.
- PayPal.me: unknown
- Square Cash: unknown
Note: this could be handled fully serverside.
Perhaps a pay URL could also just have the reason, without an amount like:
Aaron Parecki has two payment pages, one at /pay/ the other at /tip/.
There has been some discussion around using webmentions as a form of payment notification. Malcolm Blaney has suggested syndicating these webmentions to a 3rdparty website as a form of Escrow. The interaction would work as follows:
Alice creates a post on her site, representing a payment to Bob, and sends him a homepage webmention. The post includes a link to a 3rdparty site (let's call it Carol's site). Bob replies to Alice's post thanking her for the payment.
Carol runs a site that tracks payments, so she looks for specific markup in the original post and subsequent reply. When Alice creates the post, the payment is currently pending. When Bob replies, the transaction is settled.
If Carol's site was considered trustworthy by both parties, they could use a separate mechanism to transfer funds to her account. Carol could then clear the above transaction between Alice and Bob by paying Bob the outstanding amount.
In general though, transactions only need to be settled to calculate the new balance for Alice and Bob, and the low cost of tracking payments via webmention means no transaction fees are required, except when real funds are withdrawn via Carol's site.
Articles about various forms of payment from an independence perspective:
- 2005-03-17 privacy through prepaid credit cards
- 2014-07-23  Quick comparison of Square Cash and Venmo for splitting checks