{"id":25716316,"url":"https://github.com/interledgerjs/settlement-paypal","last_synced_at":"2025-07-11T19:34:04.748Z","repository":{"id":42105223,"uuid":"198971019","full_name":"interledgerjs/settlement-paypal","owner":"interledgerjs","description":"An Interledger settlement engine for PayPal","archived":false,"fork":false,"pushed_at":"2023-03-03T04:39:43.000Z","size":559,"stargazers_count":8,"open_issues_count":11,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-05T20:52:25.771Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/interledgerjs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-07-26T07:41:37.000Z","updated_at":"2022-05-26T14:17:42.000Z","dependencies_parsed_at":"2025-02-25T14:53:07.416Z","dependency_job_id":"9698237f-0e5e-4749-886f-88bf3ccad0c8","html_url":"https://github.com/interledgerjs/settlement-paypal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/interledgerjs/settlement-paypal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledgerjs%2Fsettlement-paypal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledgerjs%2Fsettlement-paypal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledgerjs%2Fsettlement-paypal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledgerjs%2Fsettlement-paypal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interledgerjs","download_url":"https://codeload.github.com/interledgerjs/settlement-paypal/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interledgerjs%2Fsettlement-paypal/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264886019,"owners_count":23678413,"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":"2025-02-25T14:52:58.651Z","updated_at":"2025-07-11T19:34:04.705Z","avatar_url":"https://github.com/interledgerjs.png","language":"TypeScript","funding_links":["https://developer.paypal.com/developer/applications/create","https://www.sandbox.paypal.com/businessmanage/settings/website","https://developer.paypal.com/developer/webhooksSimulator/"],"categories":[],"sub_categories":[],"readme":"# PayPal ILP Settlement Engine\n\nThis repository houses an implementation of an ILP settlement engine for PayPal per the proposed [Settlement RFC](https://github.com/interledger/rfcs/pull/536)!\n\nDue to the limitations of `paypal-rest-sdk`, this settlement engine requires transactions to occur between PayPal business accounts. In order to listen for payments, this engine requires manual configuration of account settings to include an endpoint for Instant Payment Notifications.\n\n## Usage\n\n[Create](https://developer.paypal.com/developer/applications/create) a PayPal application in live or sandbox mode on the developer site.\n\nConfigure `launch.ts` with the corresponding PayPal email, id, and secret of the application.\n\nIn the [settings](https://www.sandbox.paypal.com/businessmanage/settings/website) of the PayPal business account, add the endpoint url that listens for Instant Payment Notifications. The url is set to follow this format: `https://{hostname}/{clientid}/ipn`.\n\nTo launch, run:\n\n```\nnpm run start\n```\n\n## Testing\n\nUtilize the PayPal [Webhook Simulator](https://developer.paypal.com/developer/webhooksSimulator/) to simulate `Payment payouts-item succeeded`, which this engine listens for. \n\nIn order to test the handling of an incoming transaction, create a separate business account in the same mode to send a payout to the account on the engine. Configure `pay.ts` at the top of the script, and run:\n\n```\nnpm run build \u0026\u0026 node ./build/pay.js\n```\n\n## TODO\n\n- [ ] Add webhook and ipn verification logic\n- [ ] Add integration tests\n\n## Contributing\n\nPull requests are welcome. Please fork the repository and submit!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterledgerjs%2Fsettlement-paypal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterledgerjs%2Fsettlement-paypal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterledgerjs%2Fsettlement-paypal/lists"}