3.6 KiB
Web Monetization using <podcast:value/>
To enable and promote Web Monetization (WM) in podcasting, necessary information for WM could be provided for a podcast by adding a <podcast:value/>
tag to the RSS feed.
https://github.com/Podcastindex-org/podcast-namespace/blob/main/value/value.md
This value
tag would have the following values for use with Web Monetization:
<podcast:value
type="webmonetization"
method="ILP"
></podcast:value>
The podcast:value.type
defines the cryptocurrency or protocol layer, which in this case is used to define Web Monetization payment information, using the value of webmonetization
.
The method
of ILP
specifies the use of Interledger Protocol (ILP) which is the protocol for payment providers in WM.
Within the podcast:value
tag we also need to designate recipients. In Web Monetization, payment info is discovered using the Simple Payment Setup Protocol with which the Open Payments protocol is designed to be backwards compatible.
Both SPSP and Open Payments use a recipient address in the form of a Payment Pointer which will be provided in the address
attribute, with the type
of paymentpointer
.
<podcast:value
type="webmonetization"
method="ILP"
>
<podcast:valueRecipient
name="Alice"
type="paymentpointer"
address="$example.now/~alice"
split="100"
>
</podcast:value>
While payments in WM are streamed to a single payment pointer at a time, the WM authors suggest splits can be implemented using Probabilistic Revenue Sharing or perhaps it should be implemented at the payment pointer rather than expecting the client to be responsible. In either case, the podcast:value
and podcast:valueRecipient
tags can provide sufficient information for a web player or page to setup Web Monetization for the podcast.
Current podcast:value\
https://github.com/Podcastindex-org/podcast-namespace/blob/main/value/value.md https://github.com/Podcastindex-org/podcast-namespace/blob/main/value/valueslugs.txt
Web Monetization and Podcasting Discussion
https://github.com/Podcastindex-org/podcast-namespace/issues/132 https://github.com/WICG/webmonetization/issues/70
Background WM (i.e. for podcast audio playing on a background tab)
https://github.com/coilhq/web-monetization-projects/issues/387 https://github.com/WICG/webmonetization/issues/17
PRX Player Implementation (in production)
Player repository: https://github.com/PRX/Play-Next.js
Component to implement monetization: https://github.com/PRX/Play-Next.js/tree/main/components/Player/WebMonetized
Parsing webmonetization
from the RSS feed: https://github.com/PRX/Play-Next.js/blob/main/lib/parse/data/parseEmbedData.ts#L33-L40
Castopod Implementation
https://podlibre.social/@Castopod/105278541687633547 https://blog.castopod.org/castopod-supports-web-monetization/ https://github.com/ad-aures/castopod/blob/v1.0.0-beta.14/app/Helpers/rss_helper.php#L85-L95