{"id":16562993,"url":"https://github.com/alexk111/debitpay-nodejs","last_synced_at":"2026-04-16T15:04:50.917Z","repository":{"id":75137088,"uuid":"133965113","full_name":"alexk111/DeBitpay-nodejs","owner":"alexk111","description":"DeBitpay is a simple app which decodes Bitpay payment links into Bitcoin transaction requirements, so that you could make the payments with Bitcoin wallets not supporting Bitpay. **NodeJS edition**","archived":false,"fork":false,"pushed_at":"2018-05-21T10:18:10.000Z","size":244,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-15T17:15:59.978Z","etag":null,"topics":["bitcoin","bitcoin-payments","bitpay","nodejs"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexk111.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-18T14:27:29.000Z","updated_at":"2024-08-29T17:17:49.000Z","dependencies_parsed_at":"2023-06-05T13:40:34.809Z","dependency_job_id":null,"html_url":"https://github.com/alexk111/DeBitpay-nodejs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexk111%2FDeBitpay-nodejs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexk111%2FDeBitpay-nodejs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexk111%2FDeBitpay-nodejs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexk111%2FDeBitpay-nodejs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexk111","download_url":"https://codeload.github.com/alexk111/DeBitpay-nodejs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241975135,"owners_count":20051428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","bitcoin-payments","bitpay","nodejs"],"created_at":"2024-10-11T20:38:11.857Z","updated_at":"2026-04-16T15:04:50.513Z","avatar_url":"https://github.com/alexk111.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DeBitpay *(NodeJS edition)*\n\nThis is a server-side NodeJS version of DeBitpay. [More about DeBitpay...](https://github.com/alexk111/DeBitpay)\n\n## What is this edition for?\n\nBitpay Payment protocol has an additional layer of security which creates a hash digest and puts it in the response header before sending the Bitcoin transaction details. This enables us to create own hash digest for the received data, compare the two hashes and be sure that the data hasn't been modified by a man-in-the-middle.\n\nFor some reason responses from Bitpay server don't have 'digest' in [Access-Control-Expose-Headers](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers). That causes browsers to prohibit access to the digest data created by Bitpay. As the original DeBitpay is executed in Browser, it can't get the digest. That's why I had to skip the hash verification in the original client-side DeBitpay and created the alternative NodeJS version for those who want that additional layer of security implemented by Bitpay. Maybe in future Bitpay servers would allow browsers to access the digest data and we could enable the verification in the original DeBitpay (the verification code is already there, commented out at this moment).\n\nActually that hash verification adds not so much, if you use DeBitpay to decode HTTPS Bitpay payment links. Because the HTTPS data is encrypted, MITM wouldn't be able to make any changes to the traffic. So if an invoice link begins with \"**https**://bitpay.com/invoice?id=\" or a payment link begins with \"bitcoin:?r=**https**://bitpay.com/i/\", it's secure to use.\n\nUse this edition of DeBitpay if you want to enable the hash verification skipped in the original DeBitpay.\n\n## Install\n\n1. [Download DeBitpay - NodeJS edition](https://github.com/alexk111/DeBitpay-nodejs/archive/master.zip) from GitHub.\n2. Unpack the downloaded zip and install dependencies:\n\n```\nnpm install\n```\n\n## Launch\n\n```\nnpm start\n```\n\n## Open\n\nOpen in your web browser:\n\n```\nlocalhost:8080\n```\n\n## Changing host/port\n\nTo change the host/port, modify the host/port values in the *.env* file.\n\n## License\n\nMIT © Alex Kaul\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexk111%2Fdebitpay-nodejs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexk111%2Fdebitpay-nodejs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexk111%2Fdebitpay-nodejs/lists"}