{"id":19123031,"url":"https://github.com/digitalbazaar/p3","last_synced_at":"2025-05-05T18:33:32.354Z","repository":{"id":25780635,"uuid":"29219045","full_name":"digitalbazaar/p3","owner":"digitalbazaar","description":"The PaySwarm Payment Processor (p3)","archived":false,"fork":false,"pushed_at":"2019-02-15T23:50:01.000Z","size":6428,"stargazers_count":14,"open_issues_count":0,"forks_count":4,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-04-18T06:54:19.173Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://dev.payswarm.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/digitalbazaar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-14T00:29:06.000Z","updated_at":"2024-12-02T03:03:08.000Z","dependencies_parsed_at":"2022-08-25T21:11:55.446Z","dependency_job_id":null,"html_url":"https://github.com/digitalbazaar/p3","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalbazaar%2Fp3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalbazaar%2Fp3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalbazaar%2Fp3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/digitalbazaar%2Fp3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/digitalbazaar","download_url":"https://codeload.github.com/digitalbazaar/p3/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252552980,"owners_count":21766810,"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":[],"created_at":"2024-11-09T05:24:07.583Z","updated_at":"2025-05-05T18:33:32.288Z","avatar_url":"https://github.com/digitalbazaar.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"PaySwarm Payment Processor (p3)\n===============================\n\nPaySwarm is the world's first implementation of a set\nof technologies that make payments a core part of \nthe Web.\n\nThis repository contains a reference implementation of \na Web Payments Processor based on the specifications \nat: https://web-payments.org/specs/\n\nP3 is a Web application and REST API service that can \nbe used to deploy Web Payments As a Service (WPaaS) for \nbanks, financial insitutions, and individuals that want \nto manage their own financial accounts.\n\nA demo of what P3 can do can be found here:\n\nhttps://dev.payswarm.com/\n\nQuickstart \n----------\n\nYou can follow the following tutorial to setup and use \np3 on a Linux or Mac OS X development machine.\n\nRequirements\n------------\n\n* Linux or Mac OS X\n* node.js \u003e= 0.10.x\n* npm \u003e= 1.4.x\n* mongodb ~= 2.4.x\n\nSetup\n-----\n\n1. Setup an admin user on mongodb (see below)\n2. Map the `payswarm.dev` hostname to your machine (see below).\n3. cd \u003cYOUR_SOURCE_DIRECTORY\u003e\n3. git clone git@github.com:digitalbazaar/bedrock.git\n4. cd bedrock \u0026\u0026 npm install \u0026\u0026 cd ..\n3. git clone git@github.com:digitalbazaar/p3.git\n4. cd p3 \u0026\u0026 mkdir node_modules\n5. ln -s ../../bedrock node_modules/\n6. npm install\n5. [optional] Tweak config settings in configs/payswarm.dev.js\n\nTo setup an admin user on mongodb:\n\n1. mongo\n2. use admin\n3. db.addUser( { user: \"admin\", pwd: \"password\", roles: [ \"clusterAdmin\", \"readWriteAnyDatabase\", \"userAdminAnyDatabase\", \"dbAdminAnyDatabase\"] } )\n\nTo setup the `payswarm.dev` hostname:\n\n1. Edit the /etc/hosts file as the administrator/root.\n2. Add an entry mapping the IP address to `payswarm.dev`. \n   For example: `192.168.0.15 payswarm.dev` (where `192.168.0.15` \n   is the IP address of your primary network device.\n\nRunning P3\n----------\n\nRun the following to start up a development server from the source directory:\n\n    node payswarm.dev.js\n\nTo add more verbose debugging, use the `--log-level` option:\n\n    node payswarm.dev.js --log-level debug\n\nTo access the server:\n\n1. Go to: https://payswarm.dev:22443/\n2. The certificate warning is normal for development mode. Accept it and \n   continue to the landing page. \n3. Login as the admin `admin` with the password `password` or create a new account.\n\nRunning the Tests\n-----------------\n\nInstall protractor (before first test run):\n\n    npm run install-protractor\n\nRun all backend and frontend tests:\n\n    npm run test\n\nRun just the backend tests:\n\n    npm run test-backend\n\nRun just the frontend tests:\n\n    npm run test-frontend\n\nRun a specific frontend test suite:\n\n    nodejs test.js --frontend --suite unit\n\nRunning the Code Coverage Tool\n------------------------------\n\n    npm run coverage\n\nLook at 'coverage.html' using a web browser\n\nMinimizing the RequireJS client-side JS\n---------------------------------------\n\n    npm run minify\n\nTo test in dev mode, set the website config var 'minify' to true.\n\nGenerating a new self-signed SSL certificate for testing\n--------------------------------------------------------\n\n    nodejs create-credentials.js\n\nSave the generated private key and certificate PEMs in the appropriate files\n(in ./pki/ if using the default config).\n\nFeatures\n--------\n\nFor a complete list of features included in p3, see the [FEATURES][] file.\n\nFAQ\n---\n\nSee the [FAQ][] file for answers to frequently asked questions.\n\nHacking\n-------\n\nSee the [HACKING][] file for various details for coders about\nhacking on this project.\n\nAuthors\n-------\n\nSee the [AUTHORS][] file for author contact information.\n\nLicense\n-------\n\nP3 and all p3 modules are:\n\n    Copyright (c) 2010-2015 Digital Bazaar, Inc.\n    All Rights Reserved\n\nYou can use P3 for non-commercial purposes such as self-study, \nresearch, personal projects, or for evaluation purposes. See \nthe [LICENSE][] file for details about the included \nnon-commercial license information.\n\n[AUTHORS]: AUTHORS.md\n[FEATURES]: FEATURES.md\n[HACKING]: HACKING.md\n[FAQ]: FAQ.md\n[LICENSE]: LICENSE.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalbazaar%2Fp3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitalbazaar%2Fp3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitalbazaar%2Fp3/lists"}