rel-payment

Discover a rel="payment" donations URL given a URL for the containing page.

Usage no npm install needed!

<script type="module">
  import relPayment from 'https://cdn.skypack.dev/rel-payment';
</script>

README

rel-payment

Discover rel="payment" donation URIs given a URL for a page which may contain them.

Usage

import relPayment from 'rel-payment';

// The url parameter may also be a WHATWG URL object.
relPayment('https://qubyte.codes').then(
  paymentUris => console.log(paymentUris),
  err => console.error(err)
);

where paymentUris looks like:

{
  fromLinkHeaders: [], // Array of objects distilled from link headers.
  fromAnchors: [],     // Array of objects distilled from anchors tags.
  fromLinks: []        // Array of objects distilled from link tags.
}

and where each object looks like:

{
  url: new URL('https://example.com/payment'), // Absolute WHATWG URL object for payments.
  title: 'Some info about the payment.'
}

The title field is populated by the title attribute of the tag.

HTTP

Be default HTTP pages are not searched for payment links, since it's trivial to rewrite pages and add link headers. However, if you want to enable this behaviour you may pass { allowHttp: true } as the second argument to relPayment.

HTTPS

Pages with valid certificates will be searched as expected. Pages without a valid certificate will cause the call to relPayment to throw an error.