{"id":18772089,"url":"https://github.com/christianrich/paypal-node","last_synced_at":"2025-07-24T03:06:43.908Z","repository":{"id":150404382,"uuid":"141238075","full_name":"ChristianRich/paypal-node","owner":"ChristianRich","description":"Node.js Paypal integration example","archived":false,"fork":false,"pushed_at":"2018-07-23T04:37:56.000Z","size":68,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-04T10:08:48.669Z","etag":null,"topics":["es6","nodejs","paypal"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/ChristianRich.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-07-17T05:53:35.000Z","updated_at":"2025-04-04T14:29:34.000Z","dependencies_parsed_at":"2023-04-25T16:20:08.409Z","dependency_job_id":null,"html_url":"https://github.com/ChristianRich/paypal-node","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ChristianRich/paypal-node","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianRich%2Fpaypal-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianRich%2Fpaypal-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianRich%2Fpaypal-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianRich%2Fpaypal-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChristianRich","download_url":"https://codeload.github.com/ChristianRich/paypal-node/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChristianRich%2Fpaypal-node/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266786798,"owners_count":23983871,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["es6","nodejs","paypal"],"created_at":"2024-11-07T19:27:44.950Z","updated_at":"2025-07-24T03:06:43.887Z","avatar_url":"https://github.com/ChristianRich.png","language":"JavaScript","readme":"# Paypal server-side implementation with Node.js\n\nExample of Paypal client-side / server-side integration flow.  \nEssentially this is a full implementation of https://developer.paypal.com/demo/checkout/#/pattern/server  \n\nI have kept the files organised making the code portable.\n\n## Tooling\n* Node.js es6\n* Target version Node v8.9.4\n* Using Babel to transpile to es5\n\n## Prerequisites and configuration\n* Go to https://developer.paypal.com/\n* Create an account (sandbox)\n* Create an app under \"My Apps \u0026 Credentials\"\n* Copy the client ID / secret into `.env-sample`\n* Rename `.env-sample` to `.env`\n\n## Start the app\n```\nnpm i  \nnpm start\n```\nGo to http://localhost:3001 and click the \"Paypal Checkout\" button. This will start the payment flow.\nOpen your console to see the req / res flow.\n\n## Paypal SDK\nThis project uses the Node.js [Paypal REST SDK](https://www.npmjs.com/package/paypal-rest-sdk) which under the hood makes HTTP requests to the [Paypal API](https://developer.paypal.com/docs/api/payments/v1/).\n\nThe benefit of using the SDK means you don't need to authorise each request, that is all done for you.\n\n## Sample payloads\nThe folder `/test/mock` contains mock request / response payloads for the SDK. Useful for testing / debugging or just gaining an understanding of how it works.\n\n## File tree\n\u003cpre\u003e\n.\n├── LICENSE\n├── README.md\n├── logs\n│   └── 2018-07-18.log\n├── package-lock.json\n├── package.json\n├── public\n│   └── index.html\n├── src\n│   ├── controllers\n│   │   ├── pages.js\n│   │   └── paypal.js\n│   ├── domain\n│   │   ├── order.js\n│   │   └── paypal-authorisation.js\n│   ├── index.js\n│   └── services\n│       ├── logger.js\n│       └── paypal.js\n└── test\n    └── mock\n        ├── authorise.request.json\n        ├── authorise.response.json\n        ├── execute.request.json\n        ├── execute.response.json\n        └── sale.response.json\n\u003c/pre\u003e\n","funding_links":["https://developer.paypal.com/demo/checkout/","https://developer.paypal.com/","https://developer.paypal.com/docs/api/payments/v1/"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristianrich%2Fpaypal-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchristianrich%2Fpaypal-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchristianrich%2Fpaypal-node/lists"}