From IndieWeb
Jump to: navigation, search

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.



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[1].


There are several tutorials on how to create links / URLs for various payment services to put on your web site:


  • Gittip for small recurring (weekly) donations
    • Gifts are anonymous and made from an escrow account
    • Fees: $0.30 + 2.9% fee each time your account is refilled.
  • Flattr for one-time or recurring (monthly) micro-donations
    • Gifts can be anonymous
    • Fees: 10% on all the money you receive
    • Encourages both buttons and rel-payment
  • PayPal
    • PayPal donate link -
      • Fees: free with linked bank account, $0.30 + 2.9% for credit/debit.
    • PayPal.Me - create a simple-looking link to share for people to pay you from their PayPal accounts
  • Square Cash
    • 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
    • Fees:
      • 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.
    • Creates a simple-looking$username URL to share for people to pay you. An amount can be pre-selected by adding it to the URL, e.g.$username/10.
  • Venmo
    • Fees: free with linked bank account and some debit, 3% for credit
  • UK only, requires a Monzo card
    • Fees: ?

Gift card(s):

Once you have a payment URL e.g., link to it with rel=payment, e.g.

<a href="" rel="payment">Donate $5 to me</a>

IndieWeb Examples

Specific rel=payment links:

  • Aaron Parecki uses rel=payment to link to Venmo, Paypal, Square Cash and Gratipay on his home page.
  • Pelle Wessman uses Jekyll to add Flattr rel=payment links to each blog post on
  • 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

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.

Overall /payment page with /payment/nn support for auto-filling $ amounts

Other independent examples

Podcast 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.

Notable examples:

  • 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

Scott Hanselman

Intro slide from Scott Hanselman's talk at .NET Fringe 2017:



Publishing Software

Plugins exist for some open source publishing software:


  • 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



Payment page with amount

Just like and Square Cash, your Payment page should allow a subdirectory component for a dollar amount, which it would then build into the specific payment method links:

  • /payment/10 - to pay you $10

Alternatively this might read better as just "pay" (also less typing), e.g.

  • /pay/10
  • ...

Note: this could be handled fully serverside.


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 and Square Cash 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.

  • /pay/5/coffee
  • /pay/20/atm
  • ...

Note: this could be handled fully serverside.


Perhaps a pay URL could also just have the reason, without an amount like:

  • /pay/tip/
  • /pay/donate/
  • ...

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:

See Also

Personal tools
Recent & Upcoming