In-browser script fetches the payment request from the URL you enter, decodes it, and displays a QR code for a "normal" Bitcoin invoice: just an amount and an address. You can then send that amount of Bitcoin to that address from ANY wallet, without completing the BIP70 protocol.
This makes some wallets unusable with BitPay merchants
BIP70 support was removed from bcoin on Oct 30, 2017
Using the source code from before that date, I rebased the BIP70 module on top of bcoin's current master. You can see my hacked-together branch here. I had to the same sort of hack on the bcoin "bcrypto" module as well.
Once I had BIP70 working again in Node.JS, I compiled the module for the browser with webpack:
$ webpack-cli --entry ./lib/bip70/index.js --output ./lib/bip70/bip70webpack.js --output-library bip70
To correctly use the BIP70 module in the browser I had to import support for "Buffer" data types normally found only in Node.JS:
Pre-compiled browser-buffer library for browser!
Then I added some UI elements: