{"id":19045516,"url":"https://github.com/yoast/singer-tap-paypal","last_synced_at":"2025-04-23T23:48:08.961Z","repository":{"id":54412317,"uuid":"330613692","full_name":"Yoast/singer-tap-paypal","owner":"Yoast","description":"A singer tap for PayPal","archived":false,"fork":false,"pushed_at":"2022-09-30T08:43:23.000Z","size":49,"stargazers_count":1,"open_issues_count":2,"forks_count":9,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-04-23T23:48:03.549Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yoast.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}},"created_at":"2021-01-18T09:18:55.000Z","updated_at":"2022-04-03T19:18:04.000Z","dependencies_parsed_at":"2023-01-18T22:31:07.628Z","dependency_job_id":null,"html_url":"https://github.com/Yoast/singer-tap-paypal","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/Yoast%2Fsinger-tap-paypal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yoast%2Fsinger-tap-paypal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yoast%2Fsinger-tap-paypal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yoast%2Fsinger-tap-paypal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yoast","download_url":"https://codeload.github.com/Yoast/singer-tap-paypal/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250535098,"owners_count":21446505,"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-08T22:50:29.880Z","updated_at":"2025-04-23T23:48:08.937Z","avatar_url":"https://github.com/Yoast.png","language":"Python","funding_links":["https://developer.paypal.com/docs/api/overview/","https://developer.paypal.com/docs/api/transaction-search/v1","https://www.paypal.com/signin?returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fapplications"],"categories":[],"sub_categories":[],"readme":"# tap-paypal\n\nThis is a [Singer](https://singer.io) tap that produces JSON-formatted data\nfollowing the [Singer\nspec](https://github.com/singer-io/getting-started/blob/master/SPEC.md).\n\nThis tap:\n\n- Pulls raw data from [PayPal](https://developer.paypal.com/docs/api/overview/)\n- Extracts the following resources:\n  - [Transactions](https://developer.paypal.com/docs/api/transaction-search/v1)\n- Outputs the schema for each resource\n- Incrementally pulls data based on the input state\n\n### Step 1: Create a OAuth key in PayPal\n\n1. [Log in to the Developer Dashboard](https://www.paypal.com/signin?returnUri=https%3A%2F%2Fdeveloper.paypal.com%2Fdeveloper%2Fapplications) with your PayPal account.\n2. Under the DASHBOARD menu, select My Apps \u0026 Credentials.\n3. Make sure you're on the Live tab if you want to use the Live environment, to get the Live API credentials.\n4. Under the App Name column, select Default Application, which PayPal creates with a new Developer Dashboard account. Select Create App if you don't see the default app.\n\n### Step 2: Configure\n\nCreate a file called `paypal_config.json` in your working directory, following [config.json.example](config.json.example). The required parameters are the `client_id` and `secret`. The sandbox parameter determines whether to use the sandbox or live environment.\n\nThis requires a `state.json` file to let the tap know from when to retrieve data. For example:\n```\n{\n  \"bookmarks\": {\n    \"paypal_transactions\": {\n      \"start_date\": \"2021-01-01T00:00:00+0000\"\n    }\n  }\n}\n```\nWill replicate transaction data from 2021-01-01.\n\n### Step 3: Install and Run\n\nCreate a virtual Python environment for this tap. This tap has been tested with Python 3.7, 3.8 and 3.9 and might run on future versions without problems.\n```\npython -m venv singer-paypal\nsinger-paypal/bin/python -m pip install --upgrade pip\nsinger-paypal/bin/pip install git+https://github.com/Yoast/singer-tap-paypal.git\n```\n\nThis tap can be tested by piping the data to a local JSON target. For example:\n\nCreate a virtual Python environment with `singer-json`\n```\npython -m venv singer-json\nsinger-json/bin/python -m pip install --upgrade pip\nsinger-json/bin/pip install target-json\n```\n\nTest the tap:\n\n```\nsinger-paypal/bin/tap-paypal --state state.json -c paypal_config.json | singer-json/bin/target-json \u003e\u003e state_result.json\n```\n\nCopyright \u0026copy; 2021 Yoast","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoast%2Fsinger-tap-paypal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoast%2Fsinger-tap-paypal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoast%2Fsinger-tap-paypal/lists"}