User Tools

Site Tools


http-micropayments

Cryptocoin HTTP Micropayments

Retrieving payment data for a resource/URI

  • GET <URI>
    • 200 or 402: receives json txout/addr in header.
    • OR second request with content-type: application/micropayment → receives json
  • Uses browser extension to handle bitcoin private keys and sign the txout.
  • POST <URI>
    • content-type: application/micropayment; sends {tx: 'tx', refund: 'addr', etc.}

HTTP Header

encoded in no-spaces json.

Paying to a txout is more featureful.

X-micropayment: {"type":"btc","txout":"..."}

or simply list receiving address

X-micropayment: {"type":"btc","addr":"..."}

(from https://gist.github.com/sipa/1237788)

  • “script” : base64-encoded txout script that must be present in the created transaction.
  • “amount” : bitcoin amount to be sent (optional, in which case the client asks the user).

processing payment

Fastest: client signs TX, hands to server (no bitcoin network involved). Server can selectively run various checks, including submitting to the bitcoin network and waiting, or trusting valid signature and recent balance.

Post of signed TX is optional. If donation/suggested, one option is to submit the payment and do nothing.

Cons

  • payment info in http headers is likely to be lost when content is re-uploaded (eg, uploaded to IPFS).
    • Better to embed in HTML doc
    • other mime types? png/jpeg/mp4

Implementations

  • Client
    • browser addon
  • Server
    • PHP snippet
    • Wordpress plugin
http-micropayments.txt · Last modified: 2016/06/25 11:25 (external edit)