From 27abc6d88106e608a17bd772dbcce1641dd3ee81 Mon Sep 17 00:00:00 2001 From: Jose Gerardo Pineda Date: Fri, 16 Feb 2024 18:25:57 -0600 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Source=20Paypal=20Transactions:=20S?= =?UTF-8?q?iver=20Certification=20=20(#34510)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Alexandre Girard Co-authored-by: alafanechere Co-authored-by: Augustin --- .../source-paypal-transaction/.coveragerc | 3 + .../source-paypal-transaction/CHANGELOG.md | 9 + .../source-paypal-transaction/README.md | 138 +++++- .../acceptance-test-config.yml | 81 ++-- .../bin/disputes_generator.py | 89 ++++ .../source-paypal-transaction/bin/invoices.py | 197 ++++++++ .../bin/payments_generator.py | 106 ++++ .../bin/paypal_transaction_generator.py | 59 ++- .../bin/product_catalog.py | 115 +++++ .../integration_tests/configured_catalog.json | 52 ++ .../configured_catalog_list_disputes.json | 15 + .../configured_catalog_list_payments.json | 15 + .../configured_catalog_list_products.json | 14 + .../configured_catalog_search_invoices.json | 14 + ...nfigured_catalog_show_product_details.json | 14 + .../integration_tests/expected_records.jsonl | 1 - .../expected_records_sandbox.jsonl | 4 - .../full_refresh_catalog.json | 47 ++ .../incremental_catalog.json | 47 ++ .../invalid_config_oauth.json | 11 - .../integration_tests/sample_config.json | 6 - .../{ => sample_files}/abnormal_state.json | 22 + .../sample_files/expected_records.jsonl | 16 + .../expected_records_sandbox.jsonl | 85 ++++ .../{ => sample_files}/invalid_config.json | 0 .../sample_files/sample_config.json | 12 + .../{ => sample_files}/sample_state.json | 0 .../{ => sample_files}/state.json | 0 .../source-paypal-transaction/metadata.yaml | 9 +- .../source-paypal-transaction/poetry.lock | 263 ++++++++-- .../source-paypal-transaction/pyproject.toml | 10 +- .../source_paypal_transaction/components.py | 24 +- .../source_paypal_transaction/manifest.yaml | 323 ++++++++++--- .../schemas/list_disputes.json | 32 ++ .../schemas/list_payments.json | 204 ++++++++ .../schemas/list_products.json | 26 + .../schemas/search_invoices.json | 357 ++++++++++++++ .../schemas/show_product_details.json | 28 ++ .../source_paypal_transaction/source.py | 2 +- .../source_paypal_transaction/spec.yaml | 78 +++ .../unit_tests/auth_components_test.py | 88 ++++ .../unit_tests/conftest.py | 53 ++ .../unit_tests/pagination_cursor.py | 146 ++++++ .../unit_tests/pagination_increment.py | 79 +++ .../unit_tests/test_files/page_1.json | 135 ++++++ .../unit_tests/test_files/page_2.json | 160 +++++++ .../token_PAY-0L38757939422510JMW5ZJVA.json | 451 ++++++++++++++++++ .../token_PAYID-MW5XXZY5YL87592N34454913.json | 391 +++++++++++++++ .../test_files/token_page_init.json | 399 ++++++++++++++++ .../sources/paypal-transaction.md | 289 +++++++++-- 50 files changed, 4471 insertions(+), 248 deletions(-) create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/.coveragerc create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/bin/disputes_generator.py create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/bin/invoices.py create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/bin/payments_generator.py create mode 100755 airbyte-integrations/connectors/source-paypal-transaction/bin/product_catalog.py create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_disputes.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_payments.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_products.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_search_invoices.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_show_product_details.json delete mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/expected_records.jsonl delete mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/expected_records_sandbox.jsonl create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/full_refresh_catalog.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/incremental_catalog.json delete mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/invalid_config_oauth.json delete mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_config.json rename airbyte-integrations/connectors/source-paypal-transaction/integration_tests/{ => sample_files}/abnormal_state.json (50%) create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/expected_records.jsonl create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/expected_records_sandbox.jsonl rename airbyte-integrations/connectors/source-paypal-transaction/integration_tests/{ => sample_files}/invalid_config.json (100%) create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/sample_config.json rename airbyte-integrations/connectors/source-paypal-transaction/integration_tests/{ => sample_files}/sample_state.json (100%) rename airbyte-integrations/connectors/source-paypal-transaction/integration_tests/{ => sample_files}/state.json (100%) create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_disputes.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_payments.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_products.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/search_invoices.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/show_product_details.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/spec.yaml create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/auth_components_test.py create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/conftest.py create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/pagination_cursor.py create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/pagination_increment.py create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/page_1.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/page_2.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_PAY-0L38757939422510JMW5ZJVA.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_PAYID-MW5XXZY5YL87592N34454913.json create mode 100644 airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_page_init.json diff --git a/airbyte-integrations/connectors/source-paypal-transaction/.coveragerc b/airbyte-integrations/connectors/source-paypal-transaction/.coveragerc new file mode 100644 index 0000000000000..4e4eba3bda574 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/.coveragerc @@ -0,0 +1,3 @@ +[run] +omit = + source_paypal_transaction/run.py \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-paypal-transaction/CHANGELOG.md b/airbyte-integrations/connectors/source-paypal-transaction/CHANGELOG.md index d845575049005..7cddffd5f108c 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/CHANGELOG.md +++ b/airbyte-integrations/connectors/source-paypal-transaction/CHANGELOG.md @@ -2,3 +2,12 @@ ## 0.1.0 Source implementation with support of Transactions and Balances streams + +## 1.0.0 +Mark Client ID and Client Secret as required files + +## 2.1.0 +Migration to Low code + +## 2.3.0 +Adding New Streams - Payments, Disputes, Invoices, Product Catalog \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-paypal-transaction/README.md b/airbyte-integrations/connectors/source-paypal-transaction/README.md index 82d0043bf6e4a..6cff7acce3aad 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/README.md +++ b/airbyte-integrations/connectors/source-paypal-transaction/README.md @@ -1,54 +1,89 @@ # Paypal-Transaction source connector - This is the repository for the Paypal-Transaction source connector, written in Python. For information about how to use this connector within Airbyte, see [the documentation](https://docs.airbyte.com/integrations/sources/paypal-transaction). ## Local development -### Prerequisites -* Python (~=3.9) -* Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) +#### Prerequisites + * Python (~=3.9) + * Poetry (~=1.7) - installation instructions [here](https://python-poetry.org/docs/#installation) + * Paypal Client ID and Client Secret + * If you are going to use the data generator scripts you need to setup yourPaypal Sandbox and a Buyer user in your sandbox, to simulate the data. YOu cna get that information in the [Apps & Credentials page](https://developer.paypal.com/dashboard/applications/live). + * Buyer Username + * Buyer Password + * Payer ID (Account ID) ### Installing the connector + From this connector directory, run: ```bash poetry install --with dev ``` - ### Create credentials + **If you are a community contributor**, follow the instructions in the [documentation](https://docs.airbyte.com/integrations/sources/paypal-transaction) to generate the necessary credentials. Then create a file `secrets/config.json` conforming to the `source_paypal_transaction/spec.yaml` file. Note that any directory named `secrets` is gitignored across the entire Airbyte repo, so there is no danger of accidentally checking in sensitive information. See `sample_files/sample_config.json` for a sample config file. +* You must have created your credentials under the `secrets/` folder +* For the read command, you can create separate catalogs to test the streams individually. All catalogs are under the folder `integration_tests`. Select the one you want to test with the read command. + ### Locally running the connector + ``` poetry run source-paypal-transaction spec poetry run source-paypal-transaction check --config secrets/config.json poetry run source-paypal-transaction discover --config secrets/config.json -poetry run source-paypal-transaction read --config secrets/config.json --catalog sample_files/configured_catalog.json +#Example with list_payments catalog and the debug flag +poetry run source-paypal-transaction read --config secrets/config.json --catalog integration_tests/configured_catalog_list_payments.json --debug ``` ### Running unit tests To run unit tests locally, from the connector directory run: + ``` poetry run pytest unit_tests ``` ### Building the docker image + 1. Install [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md) 2. Run the following command to build the docker image: + + +### Installing the connector +From this connector directory, run: ```bash -airbyte-ci connectors --name=source-paypal-transaction build +poetry install --with dev +``` + +##### Customizing our build process +When contributing on our connector you might need to customize the build process to add a system dependency or set an env var. +You can customize our build process by adding a `build_customization.py` module to your connector. +This module should contain a `pre_connector_install` and `post_connector_install` async function that will mutate the base image and the connector container respectively. +It will be imported at runtime by our build process and the functions will be called if they exist. + +Here is an example of a `build_customization.py` module: +```python +from __future__ import annotations + +from typing import TYPE_CHECKING + +if TYPE_CHECKING: + # Feel free to check the dagger documentation for more information on the Container object and its methods. + # https://dagger-io.readthedocs.io/en/sdk-python-v0.6.4/ + from dagger import Container ``` An image will be available on your host with the tag `airbyte/source-paypal-transaction:dev`. + ### Running as a docker container Then run any of the connector commands as follows: ``` @@ -58,23 +93,110 @@ docker run --rm -v $(pwd)/secrets:/secrets airbyte/source-paypal-transaction:dev docker run --rm -v $(pwd)/secrets:/secrets -v $(pwd)/integration_tests:/integration_tests airbyte/source-paypal-transaction:dev read --config /secrets/config.json --catalog /integration_tests/configured_catalog.json ``` + ### Running our CI test suite + You can run our full test suite locally using [`airbyte-ci`](https://github.com/airbytehq/airbyte/blob/master/airbyte-ci/connectors/pipelines/README.md): + ```bash airbyte-ci connectors --name=source-paypal-transaction test ``` +If you are testing locally, you can use your local credentials (config.json file) by using `--use-local-secrets` + +```bash +airbyte-ci connectors --name source-paypal-transaction --use-local-secrets test +``` + ### Customizing acceptance Tests Customize `acceptance-test-config.yml` file to configure acceptance tests. See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) for more information. If your connector requires to create or destroy resources for use during acceptance tests create fixtures for it and place them inside integration_tests/acceptance.py. -### Dependency Management + +## Running Unit tests locally + +To run unit tests locally, form the root `source_paypal_transaction` directory run: + +```bash +python -m pytest unit_test +``` + +## Test changes in the sandbox + +If you have a [Paypal Sandbox](https://developer.paypal.com/tools/sandbox/accounts/) you will be able to use some APIs to create new data and test how data is being created in your destinaiton and choose the best syn strategy that suits better your use case. +Some endpoints will require special permissions on the sandbox to update and change some values. + +In the `bin` folder you will find several data generator scripts: + +* **disputes_generator.py:** + * Update dispute: Uses the _PATCH_ method of the `https://api-m.paypal.com/v1/customer/disputes/{dispute_id}` endpoint. You need the ID and create a payload to pass it as an argument. See more information [here](https://developer.paypal.com/docs/api/customer-disputes/v1/#disputes_patch). + + ```bash + python disputes_generator.py update DISPUTE_ID ''[{"op": "replace", "path": "/reason", "value": "The new reason"}]' + ``` + + * Update Evidence status: Uses the _POST_ method of the `https://api-m.paypal.com/v1/customer/disputes/{dispute_id}/require-evidence` endpoint. You need the ID and select an option to pass it as an argument. See more information [here](https://developer.paypal.com/docs/api/customer-disputes/v1/#disputes_require-evidence) + ```bash + python update_dispute.py require-evidence DISPUTE_ID SELLER_EVIDENCE + ``` + +* **invoices.py:** + * Create draft invoice: Uses the _POST_ method of the `https://api-m.sandbox.paypal.com/v2/invoicing/invoices` endpoint. It will automatically generate an invoice (no need to pass any parameters). See more information [here](https://developer.paypal.com/docs/api/invoicing/v2/#invoices_create). + + ```bash + python invoices.py create_draft + ``` + + * Send a Draft Invoice: Uses the _POST_ method of the `https://api-m.sandbox.paypal.com/v2/invoicing/invoices/{invoice_id}/send` endpoint. You need the Invoice ID, a subject and a note (just to have something to update) and an email as an argument. See more information [here](https://developer.paypal.com/docs/api/invoicing/v2/#invoices_send) + ```bash + python invoices.py send_draft --invoice_id "INV2-XXXX-XXXX-XXXX-XXXX" --subject "Your Invoice Subject" --note "Your custom note" --additional_recipients example@email.com + ``` + +* **payments_generator.py:** + * Partially update payment: Uses the _PATCH_ method of the `https://api-m.paypal.com/v1/payments/payment/{payment_id}` endpoint. You need the payment ID and a payload with new values. (no need to pass any parameters). See more information [here](https://developer.paypal.com/docs/api/invoicing/v2/#invoices_create). + + ```bash + python script_name.py update PAYMENT_ID '[{"op": "replace", "path": "/transactions/0/amount", "value": {"total": "50.00", "currency": "USD"}}]' + ``` + +* **paypal_transaction_generator.py:** + Make sure you have the `buyer_username`, `buyer_password` and `payer_id` in your config file. You can get the sample configuratin in the `sample_config.json`. + + * Generate transactions: This uses Selenium, so you will be prompted to your account to simulate the complete transaction flow. You can add a number at the end of the command to do more than one transaction. By default the script runs 3 transactions. + + **NOTE: Be midnfu of the number of transactions, as it will be interacting with your machine, and you may not be able to use it while creating the transactions** + + ```bash + python paypal_transaction_generator.py [NUMBER_OF_DESIRED_TRANSACTIONS] + ``` + +* **product_catalog.py:** + * Create a product: Uses the _POST_ method of the `https://api-m.sandbox.paypal.com/v1/catalogs/products` endpoint. You need to add the description and the category in the command line. For the proper category see more information [here](https://developer.paypal.com/docs/api/catalog-products/v1/#products_create). + + ```bash + python product_catalog.py --action create --description "YOUR DESCRIPTION" --category PAYPAL_CATEGORY + ``` + + * Update a product: Uses the _PATCH_ method of the `https://developer.paypal.com/docs/api/catalog-products/v1/#products_patch` endpoint. You need the product ID, a description and the Category as an argument. See more information [here](https://developer.paypal.com/docs/api/catalog-products/v1/#products_patch) + ```bash + python product_catalog.py --action update --product_id PRODUCT_ID --update_payload '[{"op": "replace", "path": "/description", "value": "My Update. Does it changes it?"}]' + ``` + +## Dependency Management +All of your dependencies should go in `setup.py`, NOT `requirements.txt`. The requirements file is only used to connect internal Airbyte dependencies in the monorepo for local development. +We split dependencies between two groups, dependencies that are: +* required for your connector to work need to go to `MAIN_REQUIREMENTS` list. +* required for the testing need to go to `TEST_REQUIREMENTS` list + + All of your dependencies should be managed via Poetry. + To add a new dependency, run: ```bash poetry add ``` + Please commit the changes to `pyproject.toml` and `poetry.lock` files. ## Publishing a new version of the connector diff --git a/airbyte-integrations/connectors/source-paypal-transaction/acceptance-test-config.yml b/airbyte-integrations/connectors/source-paypal-transaction/acceptance-test-config.yml index c4ebc718cf3b9..f4682c9534dac 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-paypal-transaction/acceptance-test-config.yml @@ -1,69 +1,84 @@ # See [Connector Acceptance Tests](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference) # for more information about how to configure these tests +# Make sure the paths you have in each path matches with your data. +#For multiple env testing, you can duplicate the tests and change the path to the proper credentials file connector_image: airbyte/source-paypal-transaction:dev test_strictness_level: high acceptance_tests: spec: tests: + #Test with Prod credentials (Make sure you purt the right ones) - spec_path: "source_paypal_transaction/spec.yaml" - config_path: secrets/config_oauth.json + config_path: secrets/config.json backward_compatibility_tests_config: disable_for_version: "0.1.13" connection: tests: - - config_path: secrets/config_oauth.json + #Test With Prod Credentials + - config_path: secrets/config.json status: succeed - - config_path: secrets/config_oauth_sandbox.json - status: succeed - - config_path: integration_tests/invalid_config.json - status: failed - - config_path: integration_tests/invalid_config_oauth.json + #Test with Invalid Credentials + - config_path: integration_tests/sample_files/invalid_config.json status: failed + #Test with Sandbox Credentials + # - config_path: secrets/config_sandbox.json + # status: succeed discovery: tests: - - config_path: secrets/config_oauth.json + - config_path: secrets/config.json + # - config_path: secrets/config_sandbox.json backward_compatibility_tests_config: disable_for_version: "2.0.0" # Change in cursor field for transactions stream basic_read: tests: - - config_path: secrets/config_oauth.json - ignored_fields: - balances: - - name: last_refresh_time - bypass_reason: "field changes during every read" + #Test Prod Environment - Uncomment and change according to your prod setup + #Change the expected records, remember to align them with the timeframe you have selected + #Do not select streams that take more than 5 mins to load data as that can lead to timeouts + #You can comment the lines if you are sure you have data for the below streams. + - config_path: secrets/config.json + # - config_path: secrets/config_sandbox.json empty_streams: - - name: transactions - bypass_reason: "can not populate" - timeout_seconds: 1200 - expect_records: - path: "integration_tests/expected_records.jsonl" - extra_fields: no - exact_order: no - extra_records: yes - - config_path: secrets/config_oauth_sandbox.json + - name: show_product_details + bypass_reason: "Products may not exist" + - name: list_products + bypass_reason: "Product List may be too big causing timeout errors" + - name: search_invoices + bypass_reason: "Order makes the diff fail." + #Have to add for testing PR CI. + - name: list_disputes + bypass_reason: "Disputes may not exist." ignored_fields: balances: - name: last_refresh_time bypass_reason: "field changes during every read" - timeout_seconds: 1200 + list_products: + - name: description + bypass_reason: "Sometimes it is not contained in the response" + timeout_seconds: 3200 expect_records: - path: "integration_tests/expected_records_sandbox.jsonl" - extra_fields: no - exact_order: no - extra_records: yes - fail_on_extra_columns: false + path: "integration_tests/sample_files/expected_records_sandbox.jsonl" + #path: "integration_tests/sample_files/expected_records.jsonl" + extra_fields: yes + exact_order: yes + extra_records: no + fail_on_extra_columns: False incremental: tests: - - config_path: secrets/config_oauth.json - configured_catalog_path: integration_tests/configured_catalog.json + - config_path: secrets/config.json + # - config_path: secrets/config_sandbox.json + configured_catalog_path: integration_tests/incremental_catalog.json future_state: - future_state_path: integration_tests/abnormal_state.json + future_state_path: integration_tests/sample_files/abnormal_state.json skip_comprehensive_incremental_tests: true full_refresh: tests: - - config_path: secrets/config_oauth.json + - config_path: secrets/config.json + # - config_path: secrets/config_sandbox.json + configured_catalog_path: integration_tests/full_refresh_catalog.json ignored_fields: balances: - name: last_refresh_time bypass_reason: "field changes during every read" - configured_catalog_path: integration_tests/configured_catalog.json + list_products: + - name: description + bypass_reason: "Sometimes it is not contained in the response" diff --git a/airbyte-integrations/connectors/source-paypal-transaction/bin/disputes_generator.py b/airbyte-integrations/connectors/source-paypal-transaction/bin/disputes_generator.py new file mode 100644 index 0000000000000..c371024b7ff94 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/bin/disputes_generator.py @@ -0,0 +1,89 @@ +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. + +# REQUIREMENTS: +# 1. Put your sandbox credentials in ../secrets/config.json (Create them if it doesn't exist). +# Use the following body (change all the values): +# { +# "client_id": "YOUT_CLIENT_ID", +# "client_secret": "YOUR_SECRET_CLIENT_ID", +# "start_date": "2021-06-01T00:00:00Z", +# "end_date": "2024-06-10T00:00:00Z", +# "is_sandbox": true +# } + +# HOW TO USE: +# To create a new payment: python script_name.py create +# To update an existing dispute: +# python disputes_generator.py update DISPUTE_ID ''[{"op": "replace", "path": "/reason", "value": "The new reason"}]' +# To update a dispute status +# python update_dispute.py require-evidence DISPUTE_ID SELLER_EVIDENCE + +import base64 +import json +import sys + +import requests + + +# Function to get a PayPal OAuth token +def get_paypal_token(client_id, secret_id): + url = "https://api-m.sandbox.paypal.com/v1/oauth2/token" + headers = { + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": "Basic " + base64.b64encode(f"{client_id}:{secret_id}".encode()).decode(), + } + payload = {"grant_type": "client_credentials"} + response = requests.post(url=url, data=payload, headers=headers) + return response.json().get("access_token") + + +def update_dispute(token, dispute_id, updates): + """Update a PayPal dispute.""" + url = f"https://api-m.paypal.com/v1/customer/disputes/{dispute_id}" + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {token}"} + response = requests.patch(url, headers=headers, json=updates) + print("RESPONSE: ", response.text) + return response.json() + + +def require_evidence(token, dispute_id, action): + """Require evidence for a PayPal dispute.""" + url = f"https://api-m.paypal.com/v1/customer/disputes/{dispute_id}/require-evidence" + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {token}"} + payload = {"action": action} + response = requests.post(url, headers=headers, json=payload) + print("RESPONSE: ", response.text) + return response.json() + + +def read_json(filepath): + with open(filepath, "r") as f: + return json.loads(f.read()) + + +def main(): + + operation = sys.argv[1] + + CREDS = read_json("../secrets/config.json") + client_id = CREDS.get("client_id") + secret_id = CREDS.get("client_secret") + token = get_paypal_token(client_id, secret_id) + + if operation == "update": + dispute_id = sys.argv[2] + updates = json.loads(sys.argv[3]) # Expecting JSON string as the third argument + update_response = update_dispute(token, dispute_id, updates) + print("Update Response:", update_response) + + elif sys.argv[1] == "require-evidence": + dispute_id = sys.argv[2] + action = sys.argv[3] # Either 'BUYER_EVIDENCE' or 'SELLER_EVIDENCE' + evidence_response = require_evidence(token, dispute_id, action) + print("Evidence Requirement Response:", evidence_response) + else: + print("Invalid command. Use 'create', 'update', or 'require-evidence'.") + + +if __name__ == "__main__": + main() diff --git a/airbyte-integrations/connectors/source-paypal-transaction/bin/invoices.py b/airbyte-integrations/connectors/source-paypal-transaction/bin/invoices.py new file mode 100644 index 0000000000000..005a11c06169a --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/bin/invoices.py @@ -0,0 +1,197 @@ +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. + +# REQUIREMENTS: +# 1. Put your sandbox credentials in ../secrets/config.json (Create them if it doesn't exist). +# Use the following body (change all the values): +# { +# "client_id": "YOUT_CLIENT_ID", +# "client_secret": "YOUR_SECRET_CLIENT_ID", +# "start_date": "2021-06-01T00:00:00Z", +# "end_date": "2024-06-10T00:00:00Z", +# "is_sandbox": true +# } +# How to Use: +# To Create a Draft Invoice: +# Execute the script with create_draft to generate a new invoice draft. +# The script automatically sets the invoice and due dates based on the current date and a 30-day term. +# python invoices.py create_draft +# To Send a Draft Invoice: +# Use send_draft action along with the required --invoice_id parameter, and optional parameters for email subject, note, and additional recipients. +# python invoices.py send_draft --invoice_id "INV2-XXXX-XXXX-XXXX-XXXX" --subject "Your Invoice Subject" --note "Your custom note" --additional_recipients example@email.com + +import argparse +import base64 +import json +import random +import string +from datetime import datetime, timedelta + +import requests + + +# Function to generate a random alphanumeric string +def generate_random_string(length=10): + return "".join(random.choices(string.ascii_letters + string.digits, k=length)) + + +def read_json(filepath): + with open(filepath, "r") as f: + return json.loads(f.read()) + + +# Function to get a PayPal OAuth token +def get_paypal_token(client_id, secret_id): + url = "https://api-m.sandbox.paypal.com/v1/oauth2/token" + headers = { + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": "Basic " + base64.b64encode(f"{client_id}:{secret_id}".encode()).decode(), + } + payload = {"grant_type": "client_credentials"} + response = requests.post(url=url, data=payload, headers=headers) + return response.json().get("access_token") + + +# Function to create a draft invoice +def create_draft_invoice(access_token, invoice_date, term_type, due_date): + url = "https://api-m.sandbox.paypal.com/v2/invoicing/invoices" + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {access_token}"} + data = { + "detail": { + "invoice_number": generate_random_string(8), + "invoice_date": invoice_date, + "payment_term": {"term_type": term_type, "due_date": due_date}, + "currency_code": "USD", + "reference": "", + "note": "", + "terms_and_conditions": "", + "memo": "", + }, + "invoicer": { + "name": {"given_name": "David", "surname": "Larusso"}, + "address": { + "address_line_1": "123 Townsend St", + "address_line_2": "Floor 6", + "admin_area_2": "San Francisco", + "admin_area_1": "CA", + "postal_code": "94107", + "country_code": "US", + }, + "phones": [{"country_code": "001", "national_number": "4085551234", "phone_type": "MOBILE"}], + "website": "www.example.com", + "tax_id": "XX-XXXXXXX", + "logo_url": "https://example.com/logo.png", + "additional_notes": "", + }, + "primary_recipients": [ + { + "billing_info": { + "name": {"given_name": "Stephanie", "surname": "Meyers"}, + "address": { + "address_line_1": "1234 Main Street", + "admin_area_2": "Anytown", + "admin_area_1": "CA", + "postal_code": "98765", + "country_code": "US", + }, + "email_address": "foobuyer@example.com", + "phones": [{"country_code": "001", "national_number": "4884551234", "phone_type": "HOME"}], + "additional_info_value": "add-info", + }, + "shipping_info": { + "name": {"given_name": "Stephanie", "surname": "Meyers"}, + "address": { + "address_line_1": "1234 Main Street", + "admin_area_2": "Anytown", + "admin_area_1": "CA", + "postal_code": "98765", + "country_code": "US", + }, + }, + } + ], + "items": [ + { + "name": "Yoga Mat", + "description": "Elastic mat to practice yoga.", + "quantity": "1", + "unit_amount": {"currency_code": "USD", "value": "50.00"}, + "tax": {"name": "Sales Tax", "percent": "7.25"}, + "discount": {"percent": "5"}, + "unit_of_measure": "QUANTITY", + }, + { + "name": "Yoga t-shirt", + "quantity": "1", + "unit_amount": {"currency_code": "USD", "value": "10.00"}, + "tax": {"name": "Sales Tax", "percent": "7.25"}, + "discount": {"amount": {"currency_code": "USD", "value": "5.00"}}, + "unit_of_measure": "QUANTITY", + }, + ], + "configuration": { + "partial_payment": {"allow_partial_payment": True, "minimum_amount_due": {"currency_code": "USD", "value": "20.00"}}, + "allow_tip": True, + "tax_calculated_after_discount": True, + "tax_inclusive": False, + }, + "amount": { + "breakdown": { + "custom": {"label": "Packing Charges", "amount": {"currency_code": "USD", "value": "10.00"}}, + "shipping": {"amount": {"currency_code": "USD", "value": "10.00"}, "tax": {"name": "Sales Tax", "percent": "7.25"}}, + "discount": {"invoice_discount": {"percent": "5"}}, + } + }, + } + response = requests.post(url, headers=headers, json=data) + return response.json() + + +# Function to send an existing draft invoice +def send_draft_invoice(access_token, invoice_id, subject, note, additional_recipients): + url = f"https://api-m.sandbox.paypal.com/v2/invoicing/invoices/{invoice_id}/send" + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {access_token}"} + data = { + "subject": subject, + "note": note, + "send_to_recipient": True, + "additional_recipients": additional_recipients, + "send_to_invoicer": False, + } + response = requests.post(url, headers=headers, json=data) + return response.json() + + +# Main function +def main(): + parser = argparse.ArgumentParser(description="PayPal Invoice Actions") + parser.add_argument("action", help="Action to perform: create_draft or send_draft") + parser.add_argument("--invoice_id", help="Invoice ID (required for send_draft)") + parser.add_argument("--subject", help="Subject for the invoice email") + parser.add_argument("--note", help="Note for the invoice email") + parser.add_argument("--additional_recipients", nargs="*", help="Additional recipients for the invoice email") + args = parser.parse_args() + + CREDS = read_json("../secrets/config.json") + + client_id = CREDS.get("client_id") + secret_id = CREDS.get("client_secret") + access_token = get_paypal_token(client_id, secret_id) + + if args.action == "create_draft": + invoice_date = datetime.now().strftime("%Y-%m-%d") + term_type = "NET_30" + due_date = (datetime.now() + timedelta(days=30)).strftime("%Y-%m-%d") + result = create_draft_invoice(access_token, invoice_date, term_type, due_date) + print("Draft Invoice Created:", result) + elif args.action == "send_draft": + if not args.invoice_id: + print("Invoice ID is required for sending a draft invoice.") + return + result = send_draft_invoice(access_token, args.invoice_id, args.subject, args.note, args.additional_recipients) + print("Draft Invoice Sent:", result) + else: + print("Invalid action specified") + + +if __name__ == "__main__": + main() diff --git a/airbyte-integrations/connectors/source-paypal-transaction/bin/payments_generator.py b/airbyte-integrations/connectors/source-paypal-transaction/bin/payments_generator.py new file mode 100644 index 0000000000000..6a2f46c3b5240 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/bin/payments_generator.py @@ -0,0 +1,106 @@ +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. + +# REQUIREMENTS: +# 1. Put your sandbox credentials in ../secrets/config.json (Create them if it doesn't exist). +# Use the following body (change all the values): +# { +# "client_id": "YOUT_CLIENT_ID", +# "client_secret": "YOUR_SECRET_CLIENT_ID", +# "start_date": "2021-06-01T00:00:00Z", +# "end_date": "2024-06-10T00:00:00Z", +# "is_sandbox": true +# } + +# HOW TO USE: +# To create a new payment: python script_name.py create +# To update an existing product: +# python script_name.py update PAYMENT_ID '[{"op": "replace", "path": "/transactions/0/amount", "value": {"total": "50.00", "currency": "USD"}}]' +# +# NOTE: This is version does not work for CREATE PAYMENT as the HEADER requires data I can't get +# +# You may need to add a security context, but you need the proper set of permissions in your account to be able to send this context +# security_context = '{"actor":{"account_number":"","party_id":"","auth_claims":["AUTHORIZATION_CODE"],"auth_state":"ANONYMOUS","client_id":"zf3..4BQ0T9aw-ngFr9dm....Zx9D-Lf4"},"auth_token":"","auth_token_type":"ACCESS_TOKEN","last_validated":1393560555,"scopes":["https://api-m.sandbox.paypal.com/v1/payments/.*","https://api-m.sandbox.paypal.com/v1/vault/credit-card/.*","openid","https://uri.paypal.com/services/payments/futurepayments","https://api-m.sandbox.paypal.com/v1/vault/credit-card","https://api-m.sandbox.paypal.com/v1/payments/.*"],"subjects":[{"subject":{"account_number":"","party_id":"","auth_claims":["PASSWORD"],"auth_state":"LOGGEDIN"}}]}' + + +import base64 +import json +import sys + +import requests + + +# Function to get a PayPal OAuth token +def get_paypal_token(client_id, secret_id): + url = "https://api-m.sandbox.paypal.com/v1/oauth2/token" + headers = { + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": "Basic " + base64.b64encode(f"{client_id}:{secret_id}".encode()).decode(), + } + payload = {"grant_type": "client_credentials"} + response = requests.post(url=url, data=payload, headers=headers) + return response.json().get("access_token") + + +def create_payment(token, security_context): + """Create a PayPal payment.""" + url = "https://api-m.paypal.com/v1/payments/payment" + headers = { + "Content-Type": "application/json", + # "Authorization": f"Bearer {token}", + "X-PAYPAL-SECURITY-CONTEXT": security_context, + } + payload = { + "intent": "sale", + "transactions": [ + { + "amount": {"total": "30.00", "currency": "USD", "details": {"subtotal": "30.00"}}, + "description": "This is a test - Pines test.", + "item_list": { + "items": [{"name": "My item", "sku": "123445667", "price": "15.00", "currency": "USD", "quantity": 2}], + }, + } + ], + "payer": {"payment_method": "paypal"}, + "redirect_urls": {"return_url": "https://example.com/return", "cancel_url": "https://example.com/cancel"}, + } + + response = requests.post(url, headers=headers, json=payload) + return response.json() + + +def update_payment(token, payment_id, updates): + """Update a PayPal payment.""" + url = f"https://api-m.paypal.com/v1/payments/payment/{payment_id}" + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {token}"} + response = requests.patch(url, headers=headers, json=updates) + return response.json() + + +def read_json(filepath): + with open(filepath, "r") as f: + return json.loads(f.read()) + + +def main(): + + CREDS = read_json("../secrets/config.json") + client_id = CREDS.get("client_id") + secret_id = CREDS.get("client_secret") + token = get_paypal_token(client_id, secret_id) + + if sys.argv[1] == "create": + payment = create_payment(token, security_context) + print("Created Payment:", payment) + + elif sys.argv[1] == "update": + payment_id = sys.argv[2] + updates = json.loads(sys.argv[3]) # Expecting JSON string as the third argument + update_response = update_payment(token, payment_id, updates) + print("Update Response:", update_response) + + else: + print("Invalid command. Use 'create' or 'update'.") + + +if __name__ == "__main__": + main() diff --git a/airbyte-integrations/connectors/source-paypal-transaction/bin/paypal_transaction_generator.py b/airbyte-integrations/connectors/source-paypal-transaction/bin/paypal_transaction_generator.py index 8fa96fae513fe..d8067ec1e2bf6 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/bin/paypal_transaction_generator.py +++ b/airbyte-integrations/connectors/source-paypal-transaction/bin/paypal_transaction_generator.py @@ -6,7 +6,18 @@ # REQUIREMENTS: # 1. sudo apt-get install chromium-chromedriver # 2. pip install selenium -# 3. ../secrets/creds.json with buyers email/password and account client_id/secret +# 3. ../secrets/config.json with buyers email/password and account client_id/secret +# { +# "client_id": "YOUT_CLIENT_ID", +# "client_secret": "YOUR_SECRET_CLIENT_ID", +# "start_date": "2021-06-01T00:00:00Z", +# "end_date": "2024-06-10T00:00:00Z", +# "is_sandbox": true, +# "buyer_username": "", #This could be also your test Sandbox email generated by the system +# "buyer_password": "", #This could be also your test Sandbox pawd generated by the system +# "payer_id": "" # This is the Account ID, yours or your Sandbox generated user + +# } # HOW TO USE: # python paypal_transaction_generator.py - will generate 3 transactions by default @@ -95,7 +106,7 @@ def read_json(filepath): def get_api_token(): client_id = CREDS.get("client_id") - secret = CREDS.get("secret") + secret = CREDS.get("client_secret") token_refresh_endpoint = "https://api-m.sandbox.paypal.com/v1/oauth2/token" data = "grant_type=client_credentials" @@ -103,7 +114,7 @@ def get_api_token(): auth = (client_id, secret) response = requests.request(method="POST", url=token_refresh_endpoint, data=data, headers=headers, auth=auth) response_json = response.json() - # print(response_json) + print("RESPONSE -->", response_json) API_TOKEN = response_json["access_token"] return API_TOKEN @@ -142,15 +153,16 @@ def make_payment(): # APPROVE PAYMENT def login(): - driver = webdriver.Chrome("/usr/bin/chromedriver") + # driver = webdriver.Chrome("/usr/bin/chromedriver") + driver = webdriver.Chrome() # SIGN_IN driver.get("https://www.sandbox.paypal.com/ua/signin") - driver.find_element_by_id("email").send_keys(CREDS["buyer_username"]) - driver.find_element_by_id("btnNext").click() + driver.find_element(By.ID, "email").send_keys(CREDS["buyer_username"]) + driver.find_element(By.ID, "btnNext").click() sleep(2) - driver.find_element_by_id("password").send_keys(CREDS["buyer_password"]) - driver.find_element_by_id("btnLogin").click() + driver.find_element(By.ID, "password").send_keys(CREDS["buyer_password"]) + driver.find_element(By.ID, "btnLogin").click() return driver @@ -160,13 +172,14 @@ def approve_payment(driver, url): sleep(3) if not cookies_accepted: - cookies = driver.find_element_by_id("acceptAllButton") - if cookies: - cookies.click() + try: + cookies_button = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.ID, "acceptAllButton"))) + cookies_button.click() + cookies_accepted = True + except Exception as e: + print("Could not find the accept all cookies button, exception:", e) - cookies_accepted = True driver.execute_script("window.scrollTo(0, document.body.scrollHeight);") - element = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "payment-submit-btn"))) sleep(1) element.click() @@ -180,14 +193,26 @@ def approve_payment(driver, url): def execute_payment(url): - response = requests.request(method="POST", url=url, data='{"payer_id": "ZE5533HZPGMC6"}', headers=headers) - response_json = response.json() - print(f'Payment executed: {url} with STATE: {response_json["state"]}') + try: + # Attempt to make the POST request + response = requests.post(url, data=json.dumps({"payer_id": CREDS.get("payer_id")}), headers=headers) + response_json = response.json() + # Check if the request was successful + if response.status_code == 200: + print(f"Your payment has been successfully executed to {url} with STATE: {response_json['state']}") + else: + # If the response code is not 200, print the error message + print( + f"Your payment execution was not successful. You got {response.status_code} with message {response.json().get('message', 'No message available')}." + ) + except requests.exceptions.RequestException as e: + # If an error occurs during the request, print the error + print(f"An error occurred: {e}") TOTAL_TRANSACTIONS = int(sys.argv[1]) if len(sys.argv) > 1 else 3 -CREDS = read_json("../secrets/creds.json") +CREDS = read_json("../secrets/config.json") headers = {"Authorization": f"Bearer {get_api_token()}", "Content-Type": "application/json"} driver = login() cookies_accepted = False diff --git a/airbyte-integrations/connectors/source-paypal-transaction/bin/product_catalog.py b/airbyte-integrations/connectors/source-paypal-transaction/bin/product_catalog.py new file mode 100755 index 0000000000000..9ad9a75538140 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/bin/product_catalog.py @@ -0,0 +1,115 @@ +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. + +# +# REQUIREMENTS: +# 1. Put your sandbox credentials in ../secrets/config.json (Create them if it doesn't exist). +# Use the following body (change all the values): +# { +# "client_id": "YOUT_CLIENT_ID", +# "client_secret": "YOUR_SECRET_CLIENT_ID", +# "start_date": "2021-06-01T00:00:00Z", +# "end_date": "2024-06-10T00:00:00Z", +# "is_sandbox": true +# } + +# HOW TO USE: +# To create a new product: +# python product_catalog.py --action create --description "This is a test product" --category TRAVEL +# To update an existing product: +# python product_catalog.py --action update --product_id PRODUCT_ID --update_payload '[{"op": "replace", "path": "/description", "value": "My Update. Does it changes it?"}]' +# The CATEGORY must be one of the listed in this page: https://developer.paypal.com/docs/api/catalog-products/v1/#products_create +# NOTE: This is version one, it conly creates 1 product at a time. This has not been parametrized +# TODO: Generate N products in one run. + +import argparse +import base64 +import json +import random +import string + +import requests + + +def read_json(filepath): + with open(filepath, "r") as f: + return json.loads(f.read()) + + +def generate_random_string(length=10): + """Generate a random string of fixed length.""" + letters = string.ascii_letters + return "".join(random.choice(letters) for i in range(length)) + + +def get_paypal_token(client_id, secret_id): + """Get a bearer token from PayPal.""" + url = "https://api-m.sandbox.paypal.com/v1/oauth2/token" + headers = { + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": "Basic " + base64.b64encode(f"{client_id}:{secret_id}".encode()).decode(), + } + payload = {"grant_type": "client_credentials"} + response = requests.post(url=url, data=payload, headers=headers) + return response.json().get("access_token") + + +def create_paypal_product(access_token, description="Cotton XL", category="clothing"): + """Create a product in PayPal.""" + url = "https://api-m.sandbox.paypal.com/v1/catalogs/products" + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {access_token}"} + payload = { + "name": "Pines-T-Shirt-" + generate_random_string(5), + "type": "PHYSICAL", + "id": generate_random_string(10), + "description": description, + "category": category, + "image_url": "https://example.com/gallary/images/" + generate_random_string(10) + ".jpg", + "home_url": "https://example.com/catalog/" + generate_random_string(10) + ".jpg", + } + response = requests.post(url=url, json=payload, headers=headers) + return response.json() + + +def update_paypal_product(access_token, product_id, updates): + """Update a product in PayPal.""" + url = f"https://api-m.sandbox.paypal.com/v1/catalogs/products/{product_id}" + headers = {"Content-Type": "application/json", "Authorization": f"Bearer {access_token}"} + response = requests.patch(url=url, json=updates, headers=headers) + if response.status_code == 204: + print(f"Update Successful. Response {response.status_code}. This succesful repsonse has no response body") + return None + else: + print(f"Error: {response.status_code}, {response.text}") + return None + + +# Parse command line arguments +parser = argparse.ArgumentParser(description="Create or Update a PayPal Product.") +parser.add_argument("--action", choices=["create", "update"], required=True, help="Action to perform: create or update") +parser.add_argument("--description", help="Product description for create action", required=True) +parser.add_argument("--category", help="Product category for create action", required=True) +parser.add_argument("--product_id", help="Product ID for update action", required=True) +parser.add_argument("--update_payload", help="Operation for update action", required=True) + +args = parser.parse_args() + +# Common setup +CREDS = read_json("../secrets/config.json") +client_id = CREDS.get("client_id") +secret_id = CREDS.get("client_secret") +access_token = get_paypal_token(client_id, secret_id) + +# Perform action based on arguments +if args.action == "create": + product = create_paypal_product(access_token, args.description, args.category) + print("Created product:", product) +elif args.action == "update" and args.product_id and args.update_payload: + try: + # updates = [{"op": "replace", "path": "/description", "value": "My Update. Does it changes it?"}] + operations = json.loads(args.update_payload) + product = update_paypal_product(access_token, args.product_id, operations) + print("Updated product:", product) + except json.JSONDecodeError: + print(f"Invalid JSON in update payload") +else: + print("Invalid arguments") diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog.json index e0992dea17b0f..0c7e6869f3a94 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog.json +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog.json @@ -20,6 +20,58 @@ }, "sync_mode": "incremental", "destination_sync_mode": "overwrite" + }, + { + "stream": { + "name": "list_products", + "json_schema": {}, + "source_defined_cursor": false, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "overwrite" + }, + { + "stream": { + "name": "show_product_details", + "json_schema": {}, + "source_defined_cursor": false, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "list_disputes", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["update_time_cut"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "search_invoices", + "json_schema": {}, + "source_defined_cursor": false, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "list_payments", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["update_time"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" } ] } diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_disputes.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_disputes.json new file mode 100644 index 0000000000000..ce3ee289234a2 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_disputes.json @@ -0,0 +1,15 @@ +{ + "streams": [ + { + "stream": { + "name": "list_disputes", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["update_time_cut"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_payments.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_payments.json new file mode 100644 index 0000000000000..07cca1e51c964 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_payments.json @@ -0,0 +1,15 @@ +{ + "streams": [ + { + "stream": { + "name": "list_payments", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["update_time"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_products.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_products.json new file mode 100644 index 0000000000000..2fc44b85cdb71 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_list_products.json @@ -0,0 +1,14 @@ +{ + "streams": [ + { + "stream": { + "name": "list_products", + "json_schema": {}, + "source_defined_cursor": false, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "overwrite" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_search_invoices.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_search_invoices.json new file mode 100644 index 0000000000000..32b0401ece61f --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_search_invoices.json @@ -0,0 +1,14 @@ +{ + "streams": [ + { + "stream": { + "name": "search_invoices", + "json_schema": {}, + "default_cursor_field": ["invoice_updated_date"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_show_product_details.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_show_product_details.json new file mode 100644 index 0000000000000..556bfd63366a9 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/configured_catalog_show_product_details.json @@ -0,0 +1,14 @@ +{ + "streams": [ + { + "stream": { + "name": "show_product_details", + "json_schema": {}, + "source_defined_cursor": false, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/expected_records.jsonl b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/expected_records.jsonl deleted file mode 100644 index 86cbdca7392bd..0000000000000 --- a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/expected_records.jsonl +++ /dev/null @@ -1 +0,0 @@ -{"stream": "balances", "data": {"balances": [{"currency": "USD", "primary": true, "total_balance": {"currency_code": "USD", "value": "0.00"}, "available_balance": {"currency_code": "USD", "value": "0.00"}, "withheld_balance": {"currency_code": "USD", "value": "0.00"}}], "account_id": "QJQSC8WXYCA2L", "as_of_time": "2021-07-03T00:00:00Z", "last_refresh_time": "2023-09-18T13:29:59Z"}, "emitted_at": 1695051482452} \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/expected_records_sandbox.jsonl b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/expected_records_sandbox.jsonl deleted file mode 100644 index da4775fecc297..0000000000000 --- a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/expected_records_sandbox.jsonl +++ /dev/null @@ -1,4 +0,0 @@ -{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "23N61105X92314351", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-04T17:13:23+0000", "transaction_updated_date": "2021-07-04T17:13:23+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "202.58"}, "available_balance": {"currency_code": "USD", "value": "202.58"}, "invoice_id": "48787580055", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "48787580055"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "48787580055"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-04T17:13:23Z", "transaction_id": "23N61105X92314351"}, "emitted_at": 1694795587519} -{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "1FN09943JY662130R", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T22:56:54+0000", "transaction_updated_date": "2021-07-05T22:56:54+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "231.52"}, "available_balance": {"currency_code": "USD", "value": "231.52"}, "invoice_id": "65095789448", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "65095789448"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "65095789448"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T22:56:54Z", "transaction_id": "1FN09943JY662130R"}, "emitted_at": 1694795587522} -{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "0M443597T0019954R", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:01:13+0000", "transaction_updated_date": "2021-07-05T23:01:13+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "260.46"}, "available_balance": {"currency_code": "USD", "value": "260.46"}, "invoice_id": "41468340464", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "41468340464"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "41468340464"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:01:13Z", "transaction_id": "0M443597T0019954R"}, "emitted_at": 1694795587524} -{"stream": "balances", "data": {"balances": [{"currency": "USD", "primary": true, "total_balance": {"currency_code": "USD", "value": "173.64"}, "available_balance": {"currency_code": "USD", "value": "173.64"}, "withheld_balance": {"currency_code": "USD", "value": "0.00"}}], "account_id": "MDXWPD67GEP5W", "as_of_time": "2021-07-03T00:00:00Z", "last_refresh_time": "2023-09-18T08:59:59Z"}, "emitted_at": 1695051579296} \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/full_refresh_catalog.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/full_refresh_catalog.json new file mode 100644 index 0000000000000..b50a9c88795a9 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/full_refresh_catalog.json @@ -0,0 +1,47 @@ +{ + "streams": [ + { + "stream": { + "name": "transactions", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["transaction_updated_date"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "overwrite" + }, + { + "stream": { + "name": "list_disputes", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["update_time_cut"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "search_invoices", + "json_schema": {}, + "source_defined_cursor": false, + "supported_sync_modes": ["full_refresh"] + }, + "sync_mode": "full_refresh", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "list_payments", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["update_time"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/incremental_catalog.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/incremental_catalog.json new file mode 100644 index 0000000000000..4d75f9e3b0609 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/incremental_catalog.json @@ -0,0 +1,47 @@ +{ + "streams": [ + { + "stream": { + "name": "transactions", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["transaction_updated_date"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "overwrite" + }, + { + "stream": { + "name": "balances", + "json_schema": {}, + "default_cursor_field": ["as_of_time"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "overwrite" + }, + { + "stream": { + "name": "list_disputes", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["update_time_cut"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + }, + { + "stream": { + "name": "list_payments", + "json_schema": {}, + "source_defined_cursor": true, + "default_cursor_field": ["update_time"], + "supported_sync_modes": ["full_refresh", "incremental"] + }, + "sync_mode": "incremental", + "destination_sync_mode": "append" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/invalid_config_oauth.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/invalid_config_oauth.json deleted file mode 100644 index 771ae5dbac0a5..0000000000000 --- a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/invalid_config_oauth.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "credentials": { - "auth_type": "oauth2.0", - "client_id": "AWA__", - "client_secret": "ENC__", - "refresh_token": "__" - }, - "start_date": "2021-07-03T00:00:00+00:00", - "end_date": "2021-07-04T23:59:59+00:00", - "is_sandbox": false -} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_config.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_config.json deleted file mode 100644 index 11d8539eeb3f2..0000000000000 --- a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_config.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "client_id": "PAYPAL_CLIENT_ID", - "client_secret": "PAYPAL_SECRET", - "start_date": "2021-06-01T00:00:00+00:00", - "is_sandbox": false -} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/abnormal_state.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/abnormal_state.json similarity index 50% rename from airbyte-integrations/connectors/source-paypal-transaction/integration_tests/abnormal_state.json rename to airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/abnormal_state.json index dc44c707ad24c..2465b3a531dcb 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/abnormal_state.json +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/abnormal_state.json @@ -20,5 +20,27 @@ "name": "transactions" } } + }, + { + "type": "STREAM", + "stream": { + "stream_state": { + "update_time": "2033-06-09T00:00:00Z" + }, + "stream_descriptor": { + "name": "list_payments" + } + } + }, + { + "type": "STREAM", + "stream": { + "stream_state": { + "updated_time_cut": "2033-06-09T00:00:00.000Z" + }, + "stream_descriptor": { + "name": "list_disputes" + } + } } ] diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/expected_records.jsonl b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/expected_records.jsonl new file mode 100644 index 0000000000000..dfc00c24767cf --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/expected_records.jsonl @@ -0,0 +1,16 @@ +{"stream": "transactions", "data": {"transaction_info": {"transaction_id": "69B759611M2733128","transaction_event_code": "T1503","transaction_initiation_date": "2024-02-01T00:01:23+0000","transaction_updated_date": "2024-02-01T00:01:23+0000","transaction_amount": {"currency_code": "USD","value": "-60.75"},"transaction_status": "S","ending_balance": {"currency_code": "USD","value": "309800.06"},"available_balance": {"currency_code": "USD","value": "309800.06"},"protection_eligibility": "02"},"payer_info": {"address_status": "N","payer_name": {}},"shipping_info": {},"cart_info": {},"store_info": {},"auction_info": {},"incentive_info": {}}, "emitted_at": 1695051482452} +{"stream": "transactions", "data": {"transaction_info": {"transaction_id": "1N809273356042704","transaction_event_code": "T0001","transaction_initiation_date": "2024-02-01T00:01:24+0000","transaction_updated_date": "2024-02-01T00:01:24+0000","transaction_amount": {"currency_code": "USD","value": "-10.00"},"fee_amount": {"currency_code": "USD","value": "-0.25"},"transaction_status": "P","transaction_subject": "You have a payout!","transaction_note": "Thanks for your patronage!","ending_balance": {"currency_code": "USD","value": "309789.81"},"available_balance": {"currency_code": "USD","value": "309789.81"},"custom_field": "201403140001","protection_eligibility": "02"},"payer_info": {"email_address": "Alexa.Dietrich@gmail.com","address_status": "N","payer_name": {}},"shipping_info": {"name": "John, Merchant"},"cart_info": {},"store_info": {},"auction_info": {},"incentive_info": {}}, "emitted_at": 1695052482453} +{"stream": "transactions", "data": {"transaction_info": {"transaction_id": "70B03706PU258313Y","paypal_reference_id": "1N809273356042704","paypal_reference_id_type": "TXN","transaction_event_code": "T1105","transaction_initiation_date": "2024-02-01T00:01:24+0000","transaction_updated_date": "2024-02-01T00:01:24+0000","transaction_amount": {"currency_code": "USD","value": "10.25"},"transaction_status": "S","transaction_subject": "You have a payout!","transaction_note": "Thanks for your patronage!","ending_balance": {"currency_code": "USD","value": "309800.06"},"available_balance": {"currency_code": "USD","value": "309800.06"},"protection_eligibility": "02"},"payer_info": {"address_status": "N","payer_name": {}},"shipping_info": {},"cart_info": {},"store_info": {},"auction_info": {},"incentive_info": {}}, "emitted_at": 1695053482454} +{"stream": "transactions", "data": {"transaction_info": {"transaction_id": "60D327402F0012324","transaction_event_code": "T0001","transaction_initiation_date": "2024-02-01T00:01:24+0000","transaction_updated_date": "2024-02-01T00:01:24+0000","transaction_amount": {"currency_code": "USD","value": "-20.00"},"fee_amount": {"currency_code": "USD","value": "-0.25"},"transaction_status": "P","transaction_subject": "You have a payout!","transaction_note": "Thanks for your support!","ending_balance": {"currency_code": "USD","value": "309779.81"},"available_balance": {"currency_code": "USD","value": "309779.81"},"custom_field": "201403140002","protection_eligibility": "02"},"payer_info": {"address_status": "N","payer_name": {}},"shipping_info": {"name": "John, Merchant"},"cart_info": {},"store_info": {},"auction_info": {},"incentive_info": {}}, "emitted_at": 1695054482455} +{"stream": "balances", "data": {"balances":[{"currency":"CHF","total_balance":{"currency_code":"CHF","value":"1001.19"},"available_balance":{"currency_code":"CHF","value":"1001.19"},"withheld_balance":{"currency_code":"CHF","value":"0.00"}},{"currency":"HKD","total_balance":{"currency_code":"HKD","value":"10833.47"},"available_balance":{"currency_code":"HKD","value":"10833.47"},"withheld_balance":{"currency_code":"HKD","value":"0.00"}},{"currency":"TWD","total_balance":{"currency_code":"TWD","value":"6289.00"},"available_balance":{"currency_code":"TWD","value":"6289.00"},"withheld_balance":{"currency_code":"TWD","value":"0.00"}},{"currency":"MXN","total_balance":{"currency_code":"MXN","value":"3827706.05"},"available_balance":{"currency_code":"MXN","value":"3827706.05"},"withheld_balance":{"currency_code":"MXN","value":"0.00"}},{"currency":"EUR","total_balance":{"currency_code":"EUR","value":"418736.68"},"available_balance":{"currency_code":"EUR","value":"418736.68"},"withheld_balance":{"currency_code":"EUR","value":"0.00"}},{"currency":"USD","primary":true,"total_balance":{"currency_code":"USD","value":"309860.81"},"available_balance":{"currency_code":"USD","value":"309860.81"},"withheld_balance":{"currency_code":"USD","value":"0.00"}},{"currency":"CAD","total_balance":{"currency_code":"CAD","value":"1158.92"},"available_balance":{"currency_code":"CAD","value":"1158.92"},"withheld_balance":{"currency_code":"CAD","value":"0.00"}},{"currency":"NOK","total_balance":{"currency_code":"NOK","value":"0.85"},"available_balance":{"currency_code":"NOK","value":"0.85"},"withheld_balance":{"currency_code":"NOK","value":"0.00"}},{"currency":"THB","total_balance":{"currency_code":"THB","value":"96658.02"},"available_balance":{"currency_code":"THB","value":"96658.02"},"withheld_balance":{"currency_code":"THB","value":"0.00"}},{"currency":"AUD","total_balance":{"currency_code":"AUD","value":"2405.19"},"available_balance":{"currency_code":"AUD","value":"2405.19"},"withheld_balance":{"currency_code":"AUD","value":"0.00"}},{"currency":"ILS","total_balance":{"currency_code":"ILS","value":"0.00"},"available_balance":{"currency_code":"ILS","value":"0.00"},"withheld_balance":{"currency_code":"ILS","value":"0.00"}},{"currency":"SGD","total_balance":{"currency_code":"SGD","value":"5841.51"},"available_balance":{"currency_code":"SGD","value":"5841.51"},"withheld_balance":{"currency_code":"SGD","value":"0.00"}},{"currency":"JPY","total_balance":{"currency_code":"JPY","value":"45608"},"available_balance":{"currency_code":"JPY","value":"45608"},"withheld_balance":{"currency_code":"JPY","value":"0"}},{"currency":"PLN","total_balance":{"currency_code":"PLN","value":"621.42"},"available_balance":{"currency_code":"PLN","value":"621.42"},"withheld_balance":{"currency_code":"PLN","value":"0.00"}},{"currency":"GBP","total_balance":{"currency_code":"GBP","value":"671250.65"},"available_balance":{"currency_code":"GBP","value":"671250.65"},"withheld_balance":{"currency_code":"GBP","value":"0.00"}},{"currency":"HUF","total_balance":{"currency_code":"HUF","value":"0.00"},"available_balance":{"currency_code":"HUF","value":"0.00"},"withheld_balance":{"currency_code":"HUF","value":"0.00"}},{"currency":"SEK","total_balance":{"currency_code":"SEK","value":"90.92"},"available_balance":{"currency_code":"SEK","value":"90.92"},"withheld_balance":{"currency_code":"SEK","value":"0.00"}},{"currency":"NZD","total_balance":{"currency_code":"NZD","value":"813.27"},"available_balance":{"currency_code":"NZD","value":"813.27"},"withheld_balance":{"currency_code":"NZD","value":"0.00"}},{"currency":"PHP","total_balance":{"currency_code":"PHP","value":"291489.92"},"available_balance":{"currency_code":"PHP","value":"291489.92"},"withheld_balance":{"currency_code":"PHP","value":"0.00"}},{"currency":"BRL","total_balance":{"currency_code":"BRL","value":"0.00"},"available_balance":{"currency_code":"BRL","value":"0.00"},"withheld_balance":{"currency_code":"BRL","value":"0.00"}},{"currency":"RUB","total_balance":{"currency_code":"RUB","value":"274.53"},"available_balance":{"currency_code":"RUB","value":"274.53"},"withheld_balance":{"currency_code":"RUB","value":"0.00"}}],"account_id":"C7CYMKZDG8D6E","as_of_time":"2024-02-01T00:00:00Z","last_refresh_time":"2024-02-05T17:59:59Z"}, "emitted_at": 1695051579296} +{"stream": "list_disputes", "data": {"dispute_id":"PP-R-PNP-10089600","create_time":"2024-01-26T15:31:02.000Z","update_time":"2024-02-04T12:06:03.000Z","disputed_transactions":[{"buyer_transaction_id":"5CW48839XK1160452","seller":{"merchant_id":"C7CYMKZDG8D6E"}}],"reason":"MERCHANDISE_OR_SERVICE_NOT_RECEIVED","status":"RESOLVED","dispute_state":"RESOLVED","dispute_amount":{"currency_code":"USD","value":"40.00"},"dispute_life_cycle_stage":"INQUIRY","dispute_channel":"INTERNAL","outcome":"LOST","links":[{"href":"https://api-m.sandbox.paypal.com/v1/customer/disputes/PP-R-PNP-10089600","rel":"self","method":"GET"}]}, "emitted_at": 1695051579296} +{"stream": "list_products", "data": {"id": "1647236710","name": "Blue M","description": "Blue M","create_time": "2022-03-14T05:45:06Z","links": [{"href": "https://api.sandbox.paypal.com/v1/catalogs/products/1647236710","rel": "self","method": "GET"}]}, "emitted_at": 1695051579296} +{"stream": "list_products", "data": {"id": "1647236727","name": "Licenza Oro","create_time": "2022-03-14T05:45:23Z","links": [{"href": "https://api.sandbox.paypal.com/v1/catalogs/products/1647236727","rel": "self","method": "GET"}]}, "emitted_at": 1695051579396} +{"stream": "list_products", "data": {"id": "1647285840","name": "Licenza Premium","create_time": "2022-03-14T19:24:00Z","links": [{"href": "https://api.sandbox.paypal.com/v1/catalogs/products/1647285840","rel": "self","method": "GET"}]}, "emitted_at": 1695051579496} +{"stream": "list_products", "data": {"id": "1647288288","name": "T-Shirt","description": "Blue M","create_time": "2022-03-14T20:04:47Z","links": [{"href": "https://api.sandbox.paypal.com/v1/catalogs/products/1647288288","rel": "self","method": "GET"}]}, "emitted_at": 1695051579596} +{"stream": "search_invoices", "data": {"id":"INV2-BGPS-PKE7-6XSD-YWC7","status":"DRAFT","detail":{"currency_code":"USD","invoice_number":"1706813643331","invoice_date":"2023-12-14","viewed_by_recipient":false,"group_draft":false,"metadata":{"create_time":"2024-02-01T18:54:03Z"}},"primary_recipients":[{"billing_info":{"name":{"given_name":"Shehroz","surname":"Asmat","full_name":"Shehroz Asmat"},"email_address":"sasmat@trythunderbird.com"}}],"amount":{"currency_code":"USD","value":"50.00"},"due_amount":{"currency_code":"USD","value":"50.00"},"links":[{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-BGPS-PKE7-6XSD-YWC7","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-BGPS-PKE7-6XSD-YWC7/send","rel":"send","method":"POST"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-BGPS-PKE7-6XSD-YWC7","rel":"replace","method":"PUT"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-BGPS-PKE7-6XSD-YWC7","rel":"delete","method":"DELETE"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-BGPS-PKE7-6XSD-YWC7/payments","rel":"record-payment","method":"POST"}],"unilateral":false}, "emitted_at": 1695051679296} +{"stream": "search_invoices", "data": {"id":"INV2-6GP9-WLLD-6Q7K-ZYQ2","status":"DRAFT","detail":{"reference":"","currency_code":"USD","note":"","memo":"","invoice_number":"0042","invoice_date":"2022-02-04","payment_term":{"due_date":"2022-02-14"},"viewed_by_recipient":false,"group_draft":false,"metadata":{"create_time":"2024-02-01T11:01:58Z"}},"primary_recipients":[{"billing_info":{"name":{"given_name":"Stephanie","surname":"Meyers","full_name":"Stephanie Meyers"},"email_address":"sb-yww0b28455377@personal.example.com"},"shipping_info":{"name":{"given_name":"Stephanie","surname":"Meyers","full_name":"Stephanie Meyers"}}}],"amount":{"currency_code":"USD","value":"74.21"},"due_amount":{"currency_code":"USD","value":"74.21"},"links":[{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-6GP9-WLLD-6Q7K-ZYQ2","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-6GP9-WLLD-6Q7K-ZYQ2/send","rel":"send","method":"POST"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-6GP9-WLLD-6Q7K-ZYQ2","rel":"replace","method":"PUT"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-6GP9-WLLD-6Q7K-ZYQ2","rel":"delete","method":"DELETE"},{"href":"https://api.sandbox.paypal.com/v2/invoicing/invoices/INV2-6GP9-WLLD-6Q7K-ZYQ2/payments","rel":"record-payment","method":"POST"}],"unilateral":false}, "emitted_at": 1695051779296} +{"stream": "list_payments", "data": {"id":"PAYID-MW55RCA31D103955T218492B","intent":"sale","state":"approved","cart":"06J27273EH485262V","payer":{"payment_method":"paypal","status":"VERIFIED","payer_info":{"email":"sb-vxpcr15413769@personal.example.com","first_name":"John","last_name":"Doe","payer_id":"TWL7BJVYNS7GU","shipping_address":{"recipient_name":"John Doe","line1":"1 Main St","city":"San Jose","state":"CA","postal_code":"95131","country_code":"US"},"phone":"4083068029","country_code":"US"}},"transactions":[{"reference_id":"1000000000047","amount":{"total":"343.80","currency":"USD","details":{"subtotal":"343.80","shipping":"0.00","insurance":"0.00","handling_fee":"0.00","shipping_discount":"0.00","discount":"0.00"}},"payee":{"merchant_id":"C7CYMKZDG8D6E","email":"john_merchant@example.com"},"item_list":{"shipping_address":{"recipient_name":"John Doe","line1":"1 Main St","city":"San Jose","state":"CA","postal_code":"95131","country_code":"US"}},"related_resources":[{"sale":{"id":"7PE037460E080360M","state":"completed","amount":{"total":"343.80","currency":"USD","details":{"subtotal":"343.80","shipping":"0.00","insurance":"0.00","handling_fee":"0.00","shipping_discount":"0.00","discount":"0.00"}},"payment_mode":"INSTANT_TRANSFER","protection_eligibility":"ELIGIBLE","protection_eligibility_type":"ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE","transaction_fee":{"value":"12.49","currency":"USD"},"purchase_unit_reference_id":"1000000000047","parent_payment":"PAYID-MW55RCA31D103955T218492B","create_time":"2024-02-01T17:44:40Z","update_time":"2024-02-01T17:44:40Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/sale/7PE037460E080360M","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/sale/7PE037460E080360M/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW55RCA31D103955T218492B","rel":"parent_payment","method":"GET"}]}}]}],"create_time":"2024-02-01T17:44:40Z","update_time":"2024-02-01T17:44:40Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW55RCA31D103955T218492B","rel":"self","method":"GET"}]}, "emitted_at": 1695051779296} +{"stream": "list_payments", "data": {"id":"PAYID-MW53UPA6UB45753B0034831X","intent":"sale","state":"approved","cart":"9A220393SG7753433","payer":{"payment_method":"paypal","status":"VERIFIED","payer_info":{"email":"sb-g43l4x28821325@personal.example.com","first_name":"John","last_name":"Doe","payer_id":"889X39VDHV8QY","shipping_address":{"recipient_name":"John Doe","line1":"Via Unit? d'Italia, 5783296","city":"Napoli","state":"Napoli","postal_code":"80127","country_code":"IT"},"phone":"9393358454","country_code":"IT"}},"transactions":[{"reference_id":"default","amount":{"total":"100.00","currency":"USD","details":{"subtotal":"100.00","shipping":"0.00","insurance":"0.00","handling_fee":"0.00","shipping_discount":"0.00","discount":"0.00"}},"payee":{"merchant_id":"C7CYMKZDG8D6E","email":"john_merchant@example.com"},"description":"T-Shirt","item_list":{"items":[{"name":"T-Shirt","description":"Green XL","price":"100.00","currency":"USD","tax":"0.00","quantity":1}],"shipping_address":{"recipient_name":"John Doe","line1":"Via Unit? d'Italia, 5783296","city":"Napoli","state":"Napoli","postal_code":"80127","country_code":"IT"}},"related_resources":[{"sale":{"id":"29N28023XB153584X","state":"completed","amount":{"total":"100.00","currency":"USD","details":{"subtotal":"100.00","shipping":"0.00","insurance":"0.00","handling_fee":"0.00","shipping_discount":"0.00","discount":"0.00"}},"payment_mode":"INSTANT_TRANSFER","protection_eligibility":"ELIGIBLE","protection_eligibility_type":"ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE","transaction_fee":{"value":"5.48","currency":"USD"},"receivable_amount":{"value":"100.00","currency":"USD"},"exchange_rate":"1.098848913950027","purchase_unit_reference_id":"default","parent_payment":"PAYID-MW53UPA6UB45753B0034831X","create_time":"2024-02-01T15:35:25Z","update_time":"2024-02-01T15:35:25Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/sale/29N28023XB153584X","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/sale/29N28023XB153584X/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW53UPA6UB45753B0034831X","rel":"parent_payment","method":"GET"}]}}]}],"create_time":"2024-02-01T15:35:24Z","update_time":"2024-02-01T15:35:25Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW53UPA6UB45753B0034831X","rel":"self","method":"GET"}]}, "emitted_at": 1695061579296} +{"stream": "list_payments", "data": {"id":"PAY-81S181868H8011217MW526OI","intent":"authorize","state":"approved","payer":{"payment_method":"paypal","status":"VERIFIED","payer_info":{"email":"mihai.streza1@mi-pay.com","first_name":"Mihai","last_name":"Streza","payer_id":"QHD3E8SRDDSQL","shipping_address":{"recipient_name":"Mihai Streza"},"phone":"07534201211","country_code":"GB"}},"transactions":[{"amount":{"total":"20.00","currency":"EUR","details":{"subtotal":"20.00"}},"payee":{"merchant_id":"C7CYMKZDG8D6E"},"description":"topup","invoice_number":"100000000188917","soft_descriptor":"PAYPAL *JOHNMERCHAN","item_list":{"items":[{"name":"topup","price":"20.00","currency":"EUR","tax":"0.00","quantity":1}],"shipping_address":{"recipient_name":"Mihai Streza"}},"related_resources":[{"authorization":{"id":"05D21713M12255848","state":"captured","amount":{"total":"20.00","currency":"EUR","details":{"subtotal":"20.00"}},"payment_mode":"INSTANT_TRANSFER","protection_eligibility":"ELIGIBLE","protection_eligibility_type":"ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE","billing_agreement_id":"B-2B029484VC167663Y","parent_payment":"PAY-81S181868H8011217MW526OI","valid_until":"2024-03-01T14:48:26Z","create_time":"2024-02-01T14:48:26Z","update_time":"2024-02-01T14:48:30Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848/capture","rel":"capture","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848/void","rel":"void","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848/reauthorize","rel":"reauthorize","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-81S181868H8011217MW526OI","rel":"parent_payment","method":"GET"}]}},{"capture":{"id":"546282867R0022639","amount":{"total":"20.00","currency":"EUR"},"state":"completed","custom":"","transaction_fee":{"value":"1.39","currency":"EUR"},"parent_payment":"PAY-81S181868H8011217MW526OI","invoice_number":"100000000188917","create_time":"2024-02-01T14:48:30Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/capture/546282867R0022639","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/capture/546282867R0022639/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848","rel":"authorization","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-81S181868H8011217MW526OI","rel":"parent_payment","method":"GET"}]}}]}],"create_time":"2024-02-01T14:48:25Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-81S181868H8011217MW526OI","rel":"self","method":"GET"}]}, "emitted_at": 1695071579296} +{"stream": "list_payments", "data": {"id":"PAY-0L38757939422510JMW5ZJVA","intent":"authorize","state":"approved","payer":{"payment_method":"paypal","status":"VERIFIED","payer_info":{"email":"mihai.streza1@mi-pay.com","first_name":"Mihai","last_name":"Streza","payer_id":"QHD3E8SRDDSQL","shipping_address":{"recipient_name":"Mihai Streza"},"phone":"07534201211","country_code":"GB"}},"transactions":[{"amount":{"total":"20.00","currency":"EUR","details":{"subtotal":"20.00"}},"payee":{"merchant_id":"C7CYMKZDG8D6E"},"description":"topup","invoice_number":"100000000188897","soft_descriptor":"PAYPAL *JOHNMERCHAN","item_list":{"items":[{"name":"topup","price":"20.00","currency":"EUR","tax":"0.00","quantity":1}],"shipping_address":{"recipient_name":"Mihai Streza"}},"related_resources":[{"authorization":{"id":"3S025738SW168153S","state":"captured","amount":{"total":"20.00","currency":"EUR","details":{"subtotal":"20.00"}},"payment_mode":"INSTANT_TRANSFER","protection_eligibility":"ELIGIBLE","protection_eligibility_type":"ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE","billing_agreement_id":"B-42217126VD515152H","parent_payment":"PAY-0L38757939422510JMW5ZJVA","valid_until":"2024-03-01T12:55:48Z","create_time":"2024-02-01T12:55:48Z","update_time":"2024-02-01T12:55:51Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S/capture","rel":"capture","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S/void","rel":"void","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S/reauthorize","rel":"reauthorize","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-0L38757939422510JMW5ZJVA","rel":"parent_payment","method":"GET"}]}},{"capture":{"id":"26U95072LD470800B","amount":{"total":"20.00","currency":"EUR"},"state":"completed","custom":"","transaction_fee":{"value":"1.39","currency":"EUR"},"parent_payment":"PAY-0L38757939422510JMW5ZJVA","invoice_number":"100000000188897","create_time":"2024-02-01T12:55:51Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/capture/26U95072LD470800B","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/capture/26U95072LD470800B/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S","rel":"authorization","method":"GET"},{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-0L38757939422510JMW5ZJVA","rel":"parent_payment","method":"GET"}]}}]}],"create_time":"2024-02-01T12:55:48Z","links":[{"href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-0L38757939422510JMW5ZJVA","rel":"self","method":"GET"}]}, "emitted_at": 1695081579296} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/expected_records_sandbox.jsonl b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/expected_records_sandbox.jsonl new file mode 100644 index 0000000000000..74d573c4ee731 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/expected_records_sandbox.jsonl @@ -0,0 +1,85 @@ +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "23N61105X92314351", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-04T17:13:23+0000", "transaction_updated_date": "2021-07-04T17:13:23+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "202.58"}, "available_balance": {"currency_code": "USD", "value": "202.58"}, "invoice_id": "48787580055", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "48787580055"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "48787580055"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-04T17:13:23Z", "transaction_id": "23N61105X92314351"}, "emitted_at": 1707238889137} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "1FN09943JY662130R", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T22:56:54+0000", "transaction_updated_date": "2021-07-05T22:56:54+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "231.52"}, "available_balance": {"currency_code": "USD", "value": "231.52"}, "invoice_id": "65095789448", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "65095789448"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "65095789448"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T22:56:54Z", "transaction_id": "1FN09943JY662130R"}, "emitted_at": 1707238889139} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "0M443597T0019954R", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:01:13+0000", "transaction_updated_date": "2021-07-05T23:01:13+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "260.46"}, "available_balance": {"currency_code": "USD", "value": "260.46"}, "invoice_id": "41468340464", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "41468340464"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "41468340464"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:01:13Z", "transaction_id": "0M443597T0019954R"}, "emitted_at": 1707238889142} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "19C257131E850262B", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:02:46+0000", "transaction_updated_date": "2021-07-05T23:02:46+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "289.40"}, "available_balance": {"currency_code": "USD", "value": "289.40"}, "invoice_id": "23749371955", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "23749371955"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "23749371955"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:02:46Z", "transaction_id": "19C257131E850262B"}, "emitted_at": 1707238889144} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "6S892278N6406494Y", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:06:12+0000", "transaction_updated_date": "2021-07-05T23:06:12+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "318.34"}, "available_balance": {"currency_code": "USD", "value": "318.34"}, "invoice_id": "62173333941", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "62173333941"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "62173333941"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:06:12Z", "transaction_id": "6S892278N6406494Y"}, "emitted_at": 1707238889146} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "0T320567TS5587836", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:09:04+0000", "transaction_updated_date": "2021-07-05T23:09:04+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "347.28"}, "available_balance": {"currency_code": "USD", "value": "347.28"}, "invoice_id": "56028534885", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "56028534885"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "56028534885"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:09:04Z", "transaction_id": "0T320567TS5587836"}, "emitted_at": 1707238889148} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "3DF69605L9958744R", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:12:40+0000", "transaction_updated_date": "2021-07-05T23:12:40+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "376.22"}, "available_balance": {"currency_code": "USD", "value": "376.22"}, "invoice_id": "31766547902", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "31766547902"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "31766547902"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:12:40Z", "transaction_id": "3DF69605L9958744R"}, "emitted_at": 1707238889150} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "2F535603PS249601F", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:12:57+0000", "transaction_updated_date": "2021-07-05T23:12:57+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "405.16"}, "available_balance": {"currency_code": "USD", "value": "405.16"}, "invoice_id": "32577611997", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "32577611997"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "32577611997"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:12:57Z", "transaction_id": "2F535603PS249601F"}, "emitted_at": 1707238889153} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "243514451L952570P", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:14:02+0000", "transaction_updated_date": "2021-07-05T23:14:02+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "434.10"}, "available_balance": {"currency_code": "USD", "value": "434.10"}, "invoice_id": "23612058730", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "23612058730"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "23612058730"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:14:02Z", "transaction_id": "243514451L952570P"}, "emitted_at": 1707238889155} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "27881589Y9461861H", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:14:19+0000", "transaction_updated_date": "2021-07-05T23:14:19+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "463.04"}, "available_balance": {"currency_code": "USD", "value": "463.04"}, "invoice_id": "53296156982", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "53296156982"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "53296156982"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:14:19Z", "transaction_id": "27881589Y9461861H"}, "emitted_at": 1707238889157} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "3MG39755337297727", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:14:36+0000", "transaction_updated_date": "2021-07-05T23:14:36+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "491.98"}, "available_balance": {"currency_code": "USD", "value": "491.98"}, "invoice_id": "53235397043", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "53235397043"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "53235397043"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:14:36Z", "transaction_id": "3MG39755337297727"}, "emitted_at": 1707238889159} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "32J59182JY5989507", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:14:52+0000", "transaction_updated_date": "2021-07-05T23:14:52+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "520.92"}, "available_balance": {"currency_code": "USD", "value": "520.92"}, "invoice_id": "18208641465", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "18208641465"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "18208641465"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:14:52Z", "transaction_id": "32J59182JY5989507"}, "emitted_at": 1707238889161} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "52795774C7828234R", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:15:09+0000", "transaction_updated_date": "2021-07-05T23:15:09+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "549.86"}, "available_balance": {"currency_code": "USD", "value": "549.86"}, "invoice_id": "32274344746", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "32274344746"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "32274344746"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:15:09Z", "transaction_id": "52795774C7828234R"}, "emitted_at": 1707238889163} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "19B82038T92822940", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:15:26+0000", "transaction_updated_date": "2021-07-05T23:15:26+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "578.80"}, "available_balance": {"currency_code": "USD", "value": "578.80"}, "invoice_id": "36419288277", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "36419288277"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "36419288277"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:15:26Z", "transaction_id": "19B82038T92822940"}, "emitted_at": 1707238889166} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "61G749036D552760G", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:15:42+0000", "transaction_updated_date": "2021-07-05T23:15:42+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "607.74"}, "available_balance": {"currency_code": "USD", "value": "607.74"}, "invoice_id": "88092228645", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "88092228645"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "88092228645"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:15:42Z", "transaction_id": "61G749036D552760G"}, "emitted_at": 1707238889168} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "5EL311302L108363J", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:15:58+0000", "transaction_updated_date": "2021-07-05T23:15:58+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "636.68"}, "available_balance": {"currency_code": "USD", "value": "636.68"}, "invoice_id": "25494061224", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "25494061224"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "25494061224"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:15:58Z", "transaction_id": "5EL311302L108363J"}, "emitted_at": 1707238889170} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "3VP82838NP358133N", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:16:15+0000", "transaction_updated_date": "2021-07-05T23:16:15+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "665.62"}, "available_balance": {"currency_code": "USD", "value": "665.62"}, "invoice_id": "82173600275", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "82173600275"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "82173600275"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:16:15Z", "transaction_id": "3VP82838NP358133N"}, "emitted_at": 1707238889172} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "2N796839EY2539153", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:16:32+0000", "transaction_updated_date": "2021-07-05T23:16:32+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "694.56"}, "available_balance": {"currency_code": "USD", "value": "694.56"}, "invoice_id": "10442581967", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "10442581967"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "10442581967"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:16:32Z", "transaction_id": "2N796839EY2539153"}, "emitted_at": 1707238889174} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "5WX252723D093564T", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:23:29+0000", "transaction_updated_date": "2021-07-05T23:23:29+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "723.50"}, "available_balance": {"currency_code": "USD", "value": "723.50"}, "invoice_id": "71987080514", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "71987080514"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "71987080514"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:23:29Z", "transaction_id": "5WX252723D093564T"}, "emitted_at": 1707238889176} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "4PW76195NN227720S", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:23:40+0000", "transaction_updated_date": "2021-07-05T23:23:40+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "752.44"}, "available_balance": {"currency_code": "USD", "value": "752.44"}, "invoice_id": "93025400757", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "93025400757"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "93025400757"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:23:40Z", "transaction_id": "4PW76195NN227720S"}, "emitted_at": 1707238889178} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "0VE851712U5895412", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:23:51+0000", "transaction_updated_date": "2021-07-05T23:23:51+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "781.38"}, "available_balance": {"currency_code": "USD", "value": "781.38"}, "invoice_id": "46225965444", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "46225965444"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "46225965444"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:23:51Z", "transaction_id": "0VE851712U5895412"}, "emitted_at": 1707238889180} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "63U003588S1135607", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:29:26+0000", "transaction_updated_date": "2021-07-05T23:29:26+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "810.32"}, "available_balance": {"currency_code": "USD", "value": "810.32"}, "invoice_id": "34635559567", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "34635559567"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "34635559567"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:29:26Z", "transaction_id": "63U003588S1135607"}, "emitted_at": 1707238889182} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "2AJ081444T051123A", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:29:37+0000", "transaction_updated_date": "2021-07-05T23:29:37+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "839.26"}, "available_balance": {"currency_code": "USD", "value": "839.26"}, "invoice_id": "92544485996", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "92544485996"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "92544485996"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:29:37Z", "transaction_id": "2AJ081444T051123A"}, "emitted_at": 1707238889184} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "2KU13114TJ604181E", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:29:48+0000", "transaction_updated_date": "2021-07-05T23:29:48+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "868.20"}, "available_balance": {"currency_code": "USD", "value": "868.20"}, "invoice_id": "10184574713", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "10184574713"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "10184574713"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:29:48Z", "transaction_id": "2KU13114TJ604181E"}, "emitted_at": 1707238889186} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "1ST090036H2235215", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:31:35+0000", "transaction_updated_date": "2021-07-05T23:31:35+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "897.14"}, "available_balance": {"currency_code": "USD", "value": "897.14"}, "invoice_id": "50350860865", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "50350860865"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "50350860865"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:31:35Z", "transaction_id": "1ST090036H2235215"}, "emitted_at": 1707238889188} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "5BJ418934Y425901G", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:31:46+0000", "transaction_updated_date": "2021-07-05T23:31:46+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "926.08"}, "available_balance": {"currency_code": "USD", "value": "926.08"}, "invoice_id": "12278283055", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "12278283055"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "12278283055"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:31:46Z", "transaction_id": "5BJ418934Y425901G"}, "emitted_at": 1707238889190} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "0SD21997LN026020M", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:31:56+0000", "transaction_updated_date": "2021-07-05T23:31:56+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "955.02"}, "available_balance": {"currency_code": "USD", "value": "955.02"}, "invoice_id": "52396214250", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "52396214250"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "52396214250"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:31:56Z", "transaction_id": "0SD21997LN026020M"}, "emitted_at": 1707238889192} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "3BH630398E562901G", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:42:41+0000", "transaction_updated_date": "2021-07-05T23:42:41+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "983.96"}, "available_balance": {"currency_code": "USD", "value": "983.96"}, "invoice_id": "18793521512", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "18793521512"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "18793521512"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:42:41Z", "transaction_id": "3BH630398E562901G"}, "emitted_at": 1707238889194} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "03D88325GF8461705", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:42:52+0000", "transaction_updated_date": "2021-07-05T23:42:52+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1012.90"}, "available_balance": {"currency_code": "USD", "value": "1012.90"}, "invoice_id": "71793513892", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "71793513892"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "71793513892"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:42:52Z", "transaction_id": "03D88325GF8461705"}, "emitted_at": 1707238889196} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "51852852PL0100404", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:43:03+0000", "transaction_updated_date": "2021-07-05T23:43:03+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1041.84"}, "available_balance": {"currency_code": "USD", "value": "1041.84"}, "invoice_id": "98653187889", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "98653187889"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "98653187889"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:43:03Z", "transaction_id": "51852852PL0100404"}, "emitted_at": 1707238889198} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "8MF4324694292993B", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:44:21+0000", "transaction_updated_date": "2021-07-05T23:44:21+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1070.78"}, "available_balance": {"currency_code": "USD", "value": "1070.78"}, "invoice_id": "12489150471", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "12489150471"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "12489150471"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:44:21Z", "transaction_id": "8MF4324694292993B"}, "emitted_at": 1707238889201} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "87S73342AS6001233", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:44:32+0000", "transaction_updated_date": "2021-07-05T23:44:32+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1099.72"}, "available_balance": {"currency_code": "USD", "value": "1099.72"}, "invoice_id": "99595079917", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "99595079917"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "99595079917"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:44:32Z", "transaction_id": "87S73342AS6001233"}, "emitted_at": 1707238889203} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "112146346A741221U", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:44:44+0000", "transaction_updated_date": "2021-07-05T23:44:44+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1128.66"}, "available_balance": {"currency_code": "USD", "value": "1128.66"}, "invoice_id": "93286331651", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "93286331651"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "93286331651"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:44:44Z", "transaction_id": "112146346A741221U"}, "emitted_at": 1707238889205} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "0N2242037Y9449344", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:44:54+0000", "transaction_updated_date": "2021-07-05T23:44:54+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1157.60"}, "available_balance": {"currency_code": "USD", "value": "1157.60"}, "invoice_id": "71349988314", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "71349988314"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "71349988314"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:44:54Z", "transaction_id": "0N2242037Y9449344"}, "emitted_at": 1707238889207} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "9NH78349H0388780F", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:45:05+0000", "transaction_updated_date": "2021-07-05T23:45:05+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1186.54"}, "available_balance": {"currency_code": "USD", "value": "1186.54"}, "invoice_id": "83951023481", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "83951023481"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "83951023481"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:45:05Z", "transaction_id": "9NH78349H0388780F"}, "emitted_at": 1707238889209} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "10S137566E4828249", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:45:16+0000", "transaction_updated_date": "2021-07-05T23:45:16+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1215.48"}, "available_balance": {"currency_code": "USD", "value": "1215.48"}, "invoice_id": "88168198250", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "88168198250"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "88168198250"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:45:16Z", "transaction_id": "10S137566E4828249"}, "emitted_at": 1707238889211} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "7N749695W59419057", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:45:27+0000", "transaction_updated_date": "2021-07-05T23:45:27+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1244.42"}, "available_balance": {"currency_code": "USD", "value": "1244.42"}, "invoice_id": "38296993497", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "38296993497"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "38296993497"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:45:27Z", "transaction_id": "7N749695W59419057"}, "emitted_at": 1707238889213} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "43X058357A257931N", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:45:39+0000", "transaction_updated_date": "2021-07-05T23:45:39+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1273.36"}, "available_balance": {"currency_code": "USD", "value": "1273.36"}, "invoice_id": "33391419042", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "33391419042"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "33391419042"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:45:39Z", "transaction_id": "43X058357A257931N"}, "emitted_at": 1707238889215} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "5WL82051VY277550S", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:45:50+0000", "transaction_updated_date": "2021-07-05T23:45:50+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1302.30"}, "available_balance": {"currency_code": "USD", "value": "1302.30"}, "invoice_id": "69341308548", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "69341308548"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "69341308548"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:45:50Z", "transaction_id": "5WL82051VY277550S"}, "emitted_at": 1707238889217} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "9CG36572NK0728016", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:46:01+0000", "transaction_updated_date": "2021-07-05T23:46:01+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1331.24"}, "available_balance": {"currency_code": "USD", "value": "1331.24"}, "invoice_id": "70491310163", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "70491310163"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "70491310163"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:46:01Z", "transaction_id": "9CG36572NK0728016"}, "emitted_at": 1707238889219} +{"stream": "transactions", "data": {"transaction_info": {"paypal_account_id": "ZE5533HZPGMC6", "transaction_id": "9K759703FU663194K", "transaction_event_code": "T0006", "transaction_initiation_date": "2021-07-05T23:46:43+0000", "transaction_updated_date": "2021-07-05T23:46:43+0000", "transaction_amount": {"currency_code": "USD", "value": "30.11"}, "fee_amount": {"currency_code": "USD", "value": "-1.17"}, "insurance_amount": {"currency_code": "USD", "value": "0.01"}, "shipping_amount": {"currency_code": "USD", "value": "1.03"}, "shipping_discount_amount": {"currency_code": "USD", "value": "1.00"}, "transaction_status": "S", "transaction_subject": "This is the payment transaction description.", "ending_balance": {"currency_code": "USD", "value": "1360.18"}, "available_balance": {"currency_code": "USD", "value": "1360.18"}, "invoice_id": "44794712899", "custom_field": "EBAY_EMS_90048630020055", "protection_eligibility": "01"}, "payer_info": {"account_id": "ZE5533HZPGMC6", "email_address": "integration-test-buyer@airbyte.io", "address_status": "Y", "payer_status": "Y", "payer_name": {"given_name": "test", "surname": "buyer", "alternate_full_name": "test buyer"}, "country_code": "US"}, "shipping_info": {"name": "Hello World", "address": {"line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "country_code": "US", "postal_code": "95131"}}, "cart_info": {"item_details": [{"item_code": "1", "item_name": "hat", "item_description": "Brown color hat", "item_quantity": "5", "item_unit_price": {"currency_code": "USD", "value": "3.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.05"}}], "total_item_amount": {"currency_code": "USD", "value": "15.05"}, "invoice_number": "44794712899"}, {"item_code": "product34", "item_name": "handbag", "item_description": "Black color hand bag", "item_quantity": "1", "item_unit_price": {"currency_code": "USD", "value": "15.00"}, "item_amount": {"currency_code": "USD", "value": "15.00"}, "tax_amounts": [{"tax_amount": {"currency_code": "USD", "value": "0.02"}}], "total_item_amount": {"currency_code": "USD", "value": "15.02"}, "invoice_number": "44794712899"}]}, "store_info": {}, "auction_info": {}, "incentive_info": {}, "transaction_updated_date": "2021-07-05T23:46:43Z", "transaction_id": "9K759703FU663194K"}, "emitted_at": 1707238889222} +{"stream": "balances", "data": {"balances": [{"currency": "USD", "primary": true, "total_balance": {"currency_code": "USD", "value": "173.64"}, "available_balance": {"currency_code": "USD", "value": "173.64"}, "withheld_balance": {"currency_code": "USD", "value": "0.00"}}], "account_id": "MDXWPD67GEP5W", "as_of_time": "2021-07-01T00:00:00Z", "last_refresh_time": "2024-02-06T09:59:59Z"}, "emitted_at": 1707239624675} +{"stream": "list_products", "data": {"id": "bELKLtzpiO", "name": "Pines-T-Shirt-sSUVV", "description": "Anothe rUpdate. Let's see if something changes or not", "create_time": "2024-01-25T20:16:36Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/catalogs/products/bELKLtzpiO", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239715683} +{"stream": "list_products", "data": {"id": "oObfKeWCTO", "name": "Pines-T-Shirt-HZBfE", "description": "My Update. Does it changes it?", "create_time": "2024-01-26T20:07:11Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/catalogs/products/oObfKeWCTO", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239715685} +{"stream": "list_products", "data": {"id": "GXASPmLVeA", "name": "Pines-T-Shirt-vtpna", "description": "Cotton XL", "create_time": "2024-01-26T23:00:52Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/catalogs/products/GXASPmLVeA", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239715687} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZTWI4W4210034A4751008", "intent": "sale", "state": "approved", "cart": "94M68693F5918712T", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "44794712899", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "9K759703FU663194K", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZTWI4W4210034A4751008", "create_time": "2021-07-05T23:46:43Z", "update_time": "2021-07-05T23:46:43Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/9K759703FU663194K", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/9K759703FU663194K/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTWI4W4210034A4751008", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:46:33Z", "update_time": "2021-07-05T23:46:43Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTWI4W4210034A4751008", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814718} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZTMA8WD99999KH443990H", "intent": "sale", "state": "approved", "cart": "8BD080945B510293Y", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "70491310163", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "9CG36572NK0728016", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZTMA8WD99999KH443990H", "create_time": "2021-07-05T23:46:01Z", "update_time": "2021-07-05T23:46:01Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/9CG36572NK0728016", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/9CG36572NK0728016/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTMA8WD99999KH443990H", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:45:52Z", "update_time": "2021-07-05T23:46:01Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTMA8WD99999KH443990H", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814721} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZTJA3GY064023P159724A", "intent": "sale", "state": "approved", "cart": "4XU51704H63205015", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "69341308548", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "5WL82051VY277550S", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZTJA3GY064023P159724A", "create_time": "2021-07-05T23:45:50Z", "update_time": "2021-07-05T23:45:50Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/5WL82051VY277550S", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/5WL82051VY277550S/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTJA3GY064023P159724A", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:45:40Z", "update_time": "2021-07-05T23:45:50Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTJA3GY064023P159724A", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814724} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZTGI9UK71240VU8020618", "intent": "sale", "state": "approved", "cart": "0RJ70999M3464401U", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "33391419042", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "43X058357A257931N", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZTGI9UK71240VU8020618", "create_time": "2021-07-05T23:45:39Z", "update_time": "2021-07-05T23:45:39Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/43X058357A257931N", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/43X058357A257931N/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTGI9UK71240VU8020618", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:45:29Z", "update_time": "2021-07-05T23:45:39Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTGI9UK71240VU8020618", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814727} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZTDQ5FS07530F9282151W", "intent": "sale", "state": "approved", "cart": "4JA813678M224812W", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "38296993497", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "7N749695W59419057", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZTDQ5FS07530F9282151W", "create_time": "2021-07-05T23:45:27Z", "update_time": "2021-07-05T23:45:27Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/7N749695W59419057", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/7N749695W59419057/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTDQ5FS07530F9282151W", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:45:18Z", "update_time": "2021-07-05T23:45:27Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTDQ5FS07530F9282151W", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814730} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZTAY2N7514653J745150Y", "intent": "sale", "state": "approved", "cart": "4VA72722KX1105219", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "88168198250", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "10S137566E4828249", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZTAY2N7514653J745150Y", "create_time": "2021-07-05T23:45:16Z", "update_time": "2021-07-05T23:45:16Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/10S137566E4828249", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/10S137566E4828249/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTAY2N7514653J745150Y", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:45:07Z", "update_time": "2021-07-05T23:45:16Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZTAY2N7514653J745150Y", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814733} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZS6A3M9912977L184341S", "intent": "sale", "state": "approved", "cart": "4JY24848DR959552K", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "83951023481", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "9NH78349H0388780F", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZS6A3M9912977L184341S", "create_time": "2021-07-05T23:45:05Z", "update_time": "2021-07-05T23:45:05Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/9NH78349H0388780F", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/9NH78349H0388780F/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZS6A3M9912977L184341S", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:44:56Z", "update_time": "2021-07-05T23:45:05Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZS6A3M9912977L184341S", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814735} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZS3I50756242KE8498014", "intent": "sale", "state": "approved", "cart": "3PS97109CA147652A", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "71349988314", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "0N2242037Y9449344", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZS3I50756242KE8498014", "create_time": "2021-07-05T23:44:54Z", "update_time": "2021-07-05T23:44:54Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/0N2242037Y9449344", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/0N2242037Y9449344/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZS3I50756242KE8498014", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:44:45Z", "update_time": "2021-07-05T23:44:54Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZS3I50756242KE8498014", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814738} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZSYQ8A757181MC817782A", "intent": "sale", "state": "approved", "cart": "4KH490105A375162P", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "93286331651", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "112146346A741221U", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZSYQ8A757181MC817782A", "create_time": "2021-07-05T23:44:44Z", "update_time": "2021-07-05T23:44:44Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/112146346A741221U", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/112146346A741221U/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZSYQ8A757181MC817782A", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:44:34Z", "update_time": "2021-07-05T23:44:44Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZSYQ8A757181MC817782A", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814741} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZSVY92X22655TL083163M", "intent": "sale", "state": "approved", "cart": "1K4366307V579334M", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "99595079917", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "87S73342AS6001233", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZSVY92X22655TL083163M", "create_time": "2021-07-05T23:44:32Z", "update_time": "2021-07-05T23:44:32Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/87S73342AS6001233", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/87S73342AS6001233/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZSVY92X22655TL083163M", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:44:23Z", "update_time": "2021-07-05T23:44:32Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZSVY92X22655TL083163M", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814743} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZSSY3AX23091XE567400S", "intent": "sale", "state": "approved", "cart": "5FW555787Y189635P", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "12489150471", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "8MF4324694292993B", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZSSY3AX23091XE567400S", "create_time": "2021-07-05T23:44:21Z", "update_time": "2021-07-05T23:44:21Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/8MF4324694292993B", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/8MF4324694292993B/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZSSY3AX23091XE567400S", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:44:11Z", "update_time": "2021-07-05T23:44:21Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZSSY3AX23091XE567400S", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814746} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZR7Q47A34643F6939564E", "intent": "sale", "state": "approved", "cart": "3CY93437B5650311M", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "98653187889", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "51852852PL0100404", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZR7Q47A34643F6939564E", "create_time": "2021-07-05T23:43:03Z", "update_time": "2021-07-05T23:43:03Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/51852852PL0100404", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/51852852PL0100404/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZR7Q47A34643F6939564E", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:42:54Z", "update_time": "2021-07-05T23:43:03Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZR7Q47A34643F6939564E", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814749} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZR4Y96946691TM615464M", "intent": "sale", "state": "approved", "cart": "0WG02233VF623084T", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "71793513892", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "03D88325GF8461705", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZR4Y96946691TM615464M", "create_time": "2021-07-05T23:42:52Z", "update_time": "2021-07-05T23:42:52Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/03D88325GF8461705", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/03D88325GF8461705/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZR4Y96946691TM615464M", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:42:43Z", "update_time": "2021-07-05T23:42:52Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZR4Y96946691TM615464M", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814751} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZRZY3BY320090L305572M", "intent": "sale", "state": "approved", "cart": "4RY36168C0517143X", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "18793521512", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "3BH630398E562901G", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZRZY3BY320090L305572M", "create_time": "2021-07-05T23:42:41Z", "update_time": "2021-07-05T23:42:41Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/3BH630398E562901G", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/3BH630398E562901G/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZRZY3BY320090L305572M", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:42:31Z", "update_time": "2021-07-05T23:42:41Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZRZY3BY320090L305572M", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814754} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZMYY6H275806JK843330N", "intent": "sale", "state": "approved", "cart": "9RC74442JD1611818", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "52396214250", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "0SD21997LN026020M", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZMYY6H275806JK843330N", "create_time": "2021-07-05T23:31:56Z", "update_time": "2021-07-05T23:31:56Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/0SD21997LN026020M", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/0SD21997LN026020M/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZMYY6H275806JK843330N", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:31:47Z", "update_time": "2021-07-05T23:31:56Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZMYY6H275806JK843330N", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814756} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZMWA7HV06523LM984963Y", "intent": "sale", "state": "approved", "cart": "4HC02299JX0560832", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "12278283055", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "5BJ418934Y425901G", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZMWA7HV06523LM984963Y", "create_time": "2021-07-05T23:31:46Z", "update_time": "2021-07-05T23:31:46Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/5BJ418934Y425901G", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/5BJ418934Y425901G/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZMWA7HV06523LM984963Y", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:31:36Z", "update_time": "2021-07-05T23:31:46Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZMWA7HV06523LM984963Y", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814758} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZMTI4X39217868749053E", "intent": "sale", "state": "approved", "cart": "5N3647919D810380T", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "50350860865", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "1ST090036H2235215", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZMTI4X39217868749053E", "create_time": "2021-07-05T23:31:35Z", "update_time": "2021-07-05T23:31:35Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/1ST090036H2235215", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/1ST090036H2235215/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZMTI4X39217868749053E", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:31:25Z", "update_time": "2021-07-05T23:31:35Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZMTI4X39217868749053E", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814760} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZLYY9RB64928LK030220F", "intent": "sale", "state": "approved", "cart": "31F66461BJ2308523", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "10184574713", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "2KU13114TJ604181E", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZLYY9RB64928LK030220F", "create_time": "2021-07-05T23:29:48Z", "update_time": "2021-07-05T23:29:48Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/2KU13114TJ604181E", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/2KU13114TJ604181E/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZLYY9RB64928LK030220F", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:29:39Z", "update_time": "2021-07-05T23:29:48Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZLYY9RB64928LK030220F", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814763} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZLWA09E67167RS362822V", "intent": "sale", "state": "approved", "cart": "1B944298P8820581S", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "92544485996", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "2AJ081444T051123A", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZLWA09E67167RS362822V", "create_time": "2021-07-05T23:29:37Z", "update_time": "2021-07-05T23:29:37Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/2AJ081444T051123A", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/2AJ081444T051123A/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZLWA09E67167RS362822V", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:29:28Z", "update_time": "2021-07-05T23:29:37Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZLWA09E67167RS362822V", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814765} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZLTA1857385502613571B", "intent": "sale", "state": "approved", "cart": "07W53209604004921", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "34635559567", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "63U003588S1135607", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZLTA1857385502613571B", "create_time": "2021-07-05T23:29:26Z", "update_time": "2021-07-05T23:29:26Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/63U003588S1135607", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/63U003588S1135607/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZLTA1857385502613571B", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:29:16Z", "update_time": "2021-07-05T23:29:26Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZLTA1857385502613571B", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239814767} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZI7Q61590832VE058581A", "intent": "sale", "state": "approved", "cart": "47F08854HR292433A", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "46225965444", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "0VE851712U5895412", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZI7Q61590832VE058581A", "create_time": "2021-07-05T23:23:51Z", "update_time": "2021-07-05T23:23:51Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/0VE851712U5895412", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/0VE851712U5895412/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZI7Q61590832VE058581A", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:23:42Z", "update_time": "2021-07-05T23:23:51Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZI7Q61590832VE058581A", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816765} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZI4Y1FS16045MX748772D", "intent": "sale", "state": "approved", "cart": "6JA90337U5912522U", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "93025400757", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "4PW76195NN227720S", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZI4Y1FS16045MX748772D", "create_time": "2021-07-05T23:23:40Z", "update_time": "2021-07-05T23:23:40Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/4PW76195NN227720S", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/4PW76195NN227720S/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZI4Y1FS16045MX748772D", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:23:31Z", "update_time": "2021-07-05T23:23:40Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZI4Y1FS16045MX748772D", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816770} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZIZY0YE90251N2470191A", "intent": "sale", "state": "approved", "cart": "79F61111E7201332F", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "71987080514", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "5WX252723D093564T", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZIZY0YE90251N2470191A", "create_time": "2021-07-05T23:23:29Z", "update_time": "2021-07-05T23:23:29Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/5WX252723D093564T", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/5WX252723D093564T/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZIZY0YE90251N2470191A", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:23:19Z", "update_time": "2021-07-05T23:23:29Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZIZY0YE90251N2470191A", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816774} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZFQI6GD87350UE545773N", "intent": "sale", "state": "approved", "cart": "1FP43302U0478942X", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "10442581967", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "2N796839EY2539153", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZFQI6GD87350UE545773N", "create_time": "2021-07-05T23:16:32Z", "update_time": "2021-07-05T23:16:32Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/2N796839EY2539153", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/2N796839EY2539153/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZFQI6GD87350UE545773N", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:16:17Z", "update_time": "2021-07-05T23:16:32Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZFQI6GD87350UE545773N", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816778} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZFMA0B969784C6725002V", "intent": "sale", "state": "approved", "cart": "8L091901278803646", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "82173600275", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "3VP82838NP358133N", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZFMA0B969784C6725002V", "create_time": "2021-07-05T23:16:15Z", "update_time": "2021-07-05T23:16:15Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/3VP82838NP358133N", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/3VP82838NP358133N/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZFMA0B969784C6725002V", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:16:00Z", "update_time": "2021-07-05T23:16:15Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZFMA0B969784C6725002V", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816781} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZFHY7SJ7565124295670P", "intent": "sale", "state": "approved", "cart": "2SM08874YP816313V", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "25494061224", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "5EL311302L108363J", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZFHY7SJ7565124295670P", "create_time": "2021-07-05T23:15:58Z", "update_time": "2021-07-05T23:15:58Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/5EL311302L108363J", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/5EL311302L108363J/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZFHY7SJ7565124295670P", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:15:43Z", "update_time": "2021-07-05T23:15:58Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZFHY7SJ7565124295670P", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816785} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZFDY16477729A65752911", "intent": "sale", "state": "approved", "cart": "31E8174415946984X", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "88092228645", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "61G749036D552760G", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZFDY16477729A65752911", "create_time": "2021-07-05T23:15:42Z", "update_time": "2021-07-05T23:15:42Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/61G749036D552760G", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/61G749036D552760G/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZFDY16477729A65752911", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:15:27Z", "update_time": "2021-07-05T23:15:42Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZFDY16477729A65752911", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816788} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZE7Y09K97910J19191835", "intent": "sale", "state": "approved", "cart": "52852967MK8398427", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "36419288277", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "19B82038T92822940", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZE7Y09K97910J19191835", "create_time": "2021-07-05T23:15:26Z", "update_time": "2021-07-05T23:15:26Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/19B82038T92822940", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/19B82038T92822940/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZE7Y09K97910J19191835", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:15:11Z", "update_time": "2021-07-05T23:15:26Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZE7Y09K97910J19191835", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816791} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZE3Q7MV3302078506752V", "intent": "sale", "state": "approved", "cart": "8DT33424FM6083023", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "32274344746", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "52795774C7828234R", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZE3Q7MV3302078506752V", "create_time": "2021-07-05T23:15:09Z", "update_time": "2021-07-05T23:15:09Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/52795774C7828234R", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/52795774C7828234R/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZE3Q7MV3302078506752V", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:14:54Z", "update_time": "2021-07-05T23:15:09Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZE3Q7MV3302078506752V", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816794} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZEXI6AC38094H2421312E", "intent": "sale", "state": "approved", "cart": "934109456G4946916", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "18208641465", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "32J59182JY5989507", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZEXI6AC38094H2421312E", "create_time": "2021-07-05T23:14:52Z", "update_time": "2021-07-05T23:14:52Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/32J59182JY5989507", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/32J59182JY5989507/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZEXI6AC38094H2421312E", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:14:37Z", "update_time": "2021-07-05T23:14:52Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZEXI6AC38094H2421312E", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816797} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZETI37A91239LN8311810", "intent": "sale", "state": "approved", "cart": "83D98649PY104524E", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "53235397043", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "3MG39755337297727", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZETI37A91239LN8311810", "create_time": "2021-07-05T23:14:36Z", "update_time": "2021-07-05T23:14:36Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/3MG39755337297727", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/3MG39755337297727/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZETI37A91239LN8311810", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:14:21Z", "update_time": "2021-07-05T23:14:36Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZETI37A91239LN8311810", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816799} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZEPA540480516L1460710", "intent": "sale", "state": "approved", "cart": "7GV22540700208350", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "53296156982", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "27881589Y9461861H", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZEPA540480516L1460710", "create_time": "2021-07-05T23:14:19Z", "update_time": "2021-07-05T23:14:19Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/27881589Y9461861H", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/27881589Y9461861H/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZEPA540480516L1460710", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:14:04Z", "update_time": "2021-07-05T23:14:19Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZEPA540480516L1460710", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816802} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZEKQ6CT67951NS8257540", "intent": "sale", "state": "approved", "cart": "9GV5180502759472M", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "23612058730", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "243514451L952570P", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZEKQ6CT67951NS8257540", "create_time": "2021-07-05T23:14:02Z", "update_time": "2021-07-05T23:14:02Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/243514451L952570P", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/243514451L952570P/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZEKQ6CT67951NS8257540", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:13:46Z", "update_time": "2021-07-05T23:14:02Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZEKQ6CT67951NS8257540", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816805} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZD2Q3A0909139J3152203", "intent": "sale", "state": "approved", "cart": "6AJ421654S4873922", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "32577611997", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "2F535603PS249601F", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZD2Q3A0909139J3152203", "create_time": "2021-07-05T23:12:57Z", "update_time": "2021-07-05T23:12:57Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/2F535603PS249601F", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/2F535603PS249601F/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZD2Q3A0909139J3152203", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:12:42Z", "update_time": "2021-07-05T23:12:57Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZD2Q3A0909139J3152203", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816807} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZDWI4V162188CW455701G", "intent": "sale", "state": "approved", "cart": "6D196635J17794229", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "31766547902", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "3DF69605L9958744R", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZDWI4V162188CW455701G", "create_time": "2021-07-05T23:12:40Z", "update_time": "2021-07-05T23:12:40Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/3DF69605L9958744R", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/3DF69605L9958744R/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZDWI4V162188CW455701G", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:12:25Z", "update_time": "2021-07-05T23:12:40Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZDWI4V162188CW455701G", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816810} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZB7Y8EC76174AW4613112", "intent": "sale", "state": "approved", "cart": "6FK6522150836620E", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "56028534885", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "0T320567TS5587836", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZB7Y8EC76174AW4613112", "create_time": "2021-07-05T23:09:04Z", "update_time": "2021-07-05T23:09:04Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/0T320567TS5587836", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/0T320567TS5587836/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZB7Y8EC76174AW4613112", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:08:47Z", "update_time": "2021-07-05T23:09:04Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZB7Y8EC76174AW4613112", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816813} +{"stream": "list_payments", "data": {"id": "PAYID-MDRZAUY1KV14872K8421472G", "intent": "sale", "state": "approved", "cart": "19W34946AD354311P", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "62173333941", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "6S892278N6406494Y", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRZAUY1KV14872K8421472G", "create_time": "2021-07-05T23:06:12Z", "update_time": "2021-07-05T23:06:12Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/6S892278N6406494Y", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/6S892278N6406494Y/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZAUY1KV14872K8421472G", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:05:55Z", "update_time": "2021-07-05T23:06:12Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRZAUY1KV14872K8421472G", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816816} +{"stream": "list_payments", "data": {"id": "PAYID-MDRY7BY3W991940VB486043B", "intent": "sale", "state": "approved", "cart": "1B350164A39756210", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "23749371955", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "19C257131E850262B", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRY7BY3W991940VB486043B", "create_time": "2021-07-05T23:02:46Z", "update_time": "2021-07-05T23:02:46Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/19C257131E850262B", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/19C257131E850262B/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRY7BY3W991940VB486043B", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:02:31Z", "update_time": "2021-07-05T23:02:46Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRY7BY3W991940VB486043B", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816818} +{"stream": "list_payments", "data": {"id": "PAYID-MDRY6KI3Y0452638X128114D", "intent": "sale", "state": "approved", "cart": "19Y331413K071511U", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "41468340464", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "0M443597T0019954R", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRY6KI3Y0452638X128114D", "create_time": "2021-07-05T23:01:13Z", "update_time": "2021-07-05T23:01:13Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/0M443597T0019954R", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/0M443597T0019954R/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRY6KI3Y0452638X128114D", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T23:00:57Z", "update_time": "2021-07-05T23:01:13Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRY6KI3Y0452638X128114D", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816820} +{"stream": "list_payments", "data": {"id": "PAYID-MDRY4JY42461888J3529050W", "intent": "sale", "state": "approved", "cart": "3NN161683Y756203T", "payer": {"payment_method": "paypal", "status": "VERIFIED", "payer_info": {"email": "integration-test-buyer@airbyte.io", "first_name": "test", "last_name": "buyer", "payer_id": "ZE5533HZPGMC6", "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}, "phone": "4086104434", "country_code": "US"}}, "transactions": [{"amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payee": {"merchant_id": "MDXWPD67GEP5W", "email": "integration-test-facilitator@airbyte.io"}, "description": "This is the payment transaction description.", "custom": "EBAY_EMS_90048630020055", "invoice_number": "65095789448", "item_list": {"items": [{"name": "hat", "sku": "1", "description": "Brown color hat", "price": "3.00", "currency": "USD", "tax": "0.01", "quantity": 5}, {"name": "handbag", "sku": "product34", "description": "Black color hand bag", "price": "15.00", "currency": "USD", "tax": "0.02", "quantity": 1}], "shipping_address": {"recipient_name": "Hello World", "line1": "4thFloor", "line2": "unit#34", "city": "SAn Jose", "state": "CA", "postal_code": "95131", "country_code": "US"}}, "related_resources": [{"sale": {"id": "1FN09943JY662130R", "state": "completed", "amount": {"total": "30.11", "currency": "USD", "details": {"subtotal": "30.00", "tax": "0.07", "shipping": "0.03", "insurance": "0.01", "handling_fee": "1.00", "shipping_discount": "-1.00", "discount": "0.00"}}, "payment_mode": "INSTANT_TRANSFER", "protection_eligibility": "ELIGIBLE", "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", "transaction_fee": {"value": "1.17", "currency": "USD"}, "parent_payment": "PAYID-MDRY4JY42461888J3529050W", "create_time": "2021-07-05T22:56:54Z", "update_time": "2021-07-05T22:56:54Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/sale/1FN09943JY662130R", "rel": "self", "method": "GET"}, {"href": "https://api.sandbox.paypal.com/v1/payments/sale/1FN09943JY662130R/refund", "rel": "refund", "method": "POST"}, {"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRY4JY42461888J3529050W", "rel": "parent_payment", "method": "GET"}]}}]}], "create_time": "2021-07-05T22:56:39Z", "update_time": "2021-07-05T22:56:54Z", "links": [{"href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MDRY4JY42461888J3529050W", "rel": "self", "method": "GET"}]}, "emitted_at": 1707239816823} \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/invalid_config.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/invalid_config.json similarity index 100% rename from airbyte-integrations/connectors/source-paypal-transaction/integration_tests/invalid_config.json rename to airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/invalid_config.json diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/sample_config.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/sample_config.json new file mode 100644 index 0000000000000..9cfcf4147ffe5 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/sample_config.json @@ -0,0 +1,12 @@ +{ + "client_id": "PAYPAL_CLIENT_ID", + "client_secret": "PAYPAL_SECRET", + "start_date": "2024-01-20T00:00:00Z", + "end_date": "2024-02-01T23:59:00Z", + "dispute_start_date": "2024-02-01T00:00:00.000Z", + "dispute_end_date": "2024-02-05T23:59:00.000Z", + "is_sandbox": true, + "buyer_username": "BUYER_USERNAME@SOMETHING.com", + "buyer_password": "BUYER_PASSWORD", + "payer_id": "ACCOUNT_ID" +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_state.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/sample_state.json similarity index 100% rename from airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_state.json rename to airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/sample_state.json diff --git a/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/state.json b/airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/state.json similarity index 100% rename from airbyte-integrations/connectors/source-paypal-transaction/integration_tests/state.json rename to airbyte-integrations/connectors/source-paypal-transaction/integration_tests/sample_files/state.json diff --git a/airbyte-integrations/connectors/source-paypal-transaction/metadata.yaml b/airbyte-integrations/connectors/source-paypal-transaction/metadata.yaml index 19cd8658d79b8..3449c818497cb 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/metadata.yaml +++ b/airbyte-integrations/connectors/source-paypal-transaction/metadata.yaml @@ -1,6 +1,6 @@ data: ab_internal: - ql: 200 + ql: 400 sl: 200 allowedHosts: hosts: @@ -11,7 +11,7 @@ data: connectorSubtype: api connectorType: source definitionId: d913b0f2-cc51-4e55-a44c-8ba1697b9239 - dockerImageTag: 2.2.2 + dockerImageTag: 2.3.0 dockerRepository: airbyte/source-paypal-transaction documentationUrl: https://docs.airbyte.com/integrations/sources/paypal-transaction githubIssueLabel: source-paypal-transaction @@ -34,6 +34,11 @@ data: 2.1.0: message: 'Version 2.1.0 changes the format of the state. The format of the cursor changed from "2021-06-18T16:24:13+03:00" to "2021-06-18T16:24:13Z". The state key for the transactions stream changed to "transaction_updated_date" and the key for the balances stream change to "as_of_time". The upgrade is safe, but rolling back is not.' upgradeDeadline: "2023-09-18" + suggestedStreams: + streams: + - transactions + - balances + - list_payments supportLevel: certified tags: - language:low-code diff --git a/airbyte-integrations/connectors/source-paypal-transaction/poetry.lock b/airbyte-integrations/connectors/source-paypal-transaction/poetry.lock index 38356ea1da73b..421031229419e 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/poetry.lock +++ b/airbyte-integrations/connectors/source-paypal-transaction/poetry.lock @@ -2,13 +2,13 @@ [[package]] name = "airbyte-cdk" -version = "0.58.8" +version = "0.62.0" description = "A framework for writing Airbyte Connectors." optional = false python-versions = ">=3.8" files = [ - {file = "airbyte-cdk-0.58.8.tar.gz", hash = "sha256:80cfad673302802e0f5d485879f1bd2f3679a4e3b12b2af42bd7bb37a3991a71"}, - {file = "airbyte_cdk-0.58.8-py3-none-any.whl", hash = "sha256:5b0b19745e96ba3f20683c48530d58a00be48361dfa34ec3c38cef8da03ba330"}, + {file = "airbyte-cdk-0.62.0.tar.gz", hash = "sha256:622f56bd7101493a74f11c33a45a31c251032333989996f137cac8370873c614"}, + {file = "airbyte_cdk-0.62.0-py3-none-any.whl", hash = "sha256:b21330a566b33dbdddde33243eb9855f086ad4272e3585ca626be1225451a3b8"}, ] [package.dependencies] @@ -51,16 +51,6 @@ files = [ [package.dependencies] pydantic = ">=1.9.2,<2.0.0" -[[package]] -name = "atomicwrites" -version = "1.4.1" -description = "Atomic file writes." -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "atomicwrites-1.4.1.tar.gz", hash = "sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11"}, -] - [[package]] name = "attrs" version = "23.2.0" @@ -149,6 +139,70 @@ files = [ {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, ] +[[package]] +name = "cffi" +version = "1.16.0" +description = "Foreign Function Interface for Python calling C code." +optional = false +python-versions = ">=3.8" +files = [ + {file = "cffi-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088"}, + {file = "cffi-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7"}, + {file = "cffi-1.16.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743"}, + {file = "cffi-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d"}, + {file = "cffi-1.16.0-cp310-cp310-win32.whl", hash = "sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a"}, + {file = "cffi-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404"}, + {file = "cffi-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56"}, + {file = "cffi-1.16.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc"}, + {file = "cffi-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb"}, + {file = "cffi-1.16.0-cp311-cp311-win32.whl", hash = "sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab"}, + {file = "cffi-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956"}, + {file = "cffi-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6"}, + {file = "cffi-1.16.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969"}, + {file = "cffi-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520"}, + {file = "cffi-1.16.0-cp312-cp312-win32.whl", hash = "sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b"}, + {file = "cffi-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235"}, + {file = "cffi-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b"}, + {file = "cffi-1.16.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324"}, + {file = "cffi-1.16.0-cp38-cp38-win32.whl", hash = "sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a"}, + {file = "cffi-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed"}, + {file = "cffi-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4"}, + {file = "cffi-1.16.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000"}, + {file = "cffi-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe"}, + {file = "cffi-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4"}, + {file = "cffi-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8"}, + {file = "cffi-1.16.0.tar.gz", hash = "sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0"}, +] + +[package.dependencies] +pycparser = "*" + [[package]] name = "charset-normalizer" version = "3.3.2" @@ -311,6 +365,17 @@ files = [ {file = "genson-1.2.2.tar.gz", hash = "sha256:8caf69aa10af7aee0e1a1351d1d06801f4696e005f06cedef438635384346a16"}, ] +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + [[package]] name = "idna" version = "3.6" @@ -465,6 +530,20 @@ files = [ {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] +[[package]] +name = "outcome" +version = "1.3.0.post0" +description = "Capture the outcome of Python function calls." +optional = false +python-versions = ">=3.7" +files = [ + {file = "outcome-1.3.0.post0-py2.py3-none-any.whl", hash = "sha256:e771c5ce06d1415e356078d3bdd68523f284b4ce5419828922b6871e65eda82b"}, + {file = "outcome-1.3.0.post0.tar.gz", hash = "sha256:9dcf02e65f2971b80047b377468e72a268e15c0af3cf1238e6ff14f7f91143b8"}, +] + +[package.dependencies] +attrs = ">=19.2.0" + [[package]] name = "packaging" version = "23.2" @@ -541,14 +620,14 @@ dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] [[package]] -name = "py" -version = "1.11.0" -description = "library with cross-python path, ini-parsing, io, code, log facilities" +name = "pycparser" +version = "2.21" +description = "C parser in Python" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"}, - {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"}, + {file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"}, + {file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"}, ] [[package]] @@ -659,29 +738,39 @@ files = [ {file = "pyrsistent-0.20.0.tar.gz", hash = "sha256:4c48f78f62ab596c679086084d0dd13254ae4f3d6c72a83ffdf5ebdef8f265a4"}, ] +[[package]] +name = "pysocks" +version = "1.7.1" +description = "A Python SOCKS client module. See https://github.com/Anorov/PySocks for more information." +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +files = [ + {file = "PySocks-1.7.1-py27-none-any.whl", hash = "sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299"}, + {file = "PySocks-1.7.1-py3-none-any.whl", hash = "sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5"}, + {file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"}, +] + [[package]] name = "pytest" -version = "6.2.5" +version = "8.0.0" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pytest-6.2.5-py3-none-any.whl", hash = "sha256:7310f8d27bc79ced999e760ca304d69f6ba6c6649c0b60fb0e04a4a77cacc134"}, - {file = "pytest-6.2.5.tar.gz", hash = "sha256:131b36680866a76e6781d13f101efb86cf674ebb9762eb70d3082b6f29889e89"}, + {file = "pytest-8.0.0-py3-none-any.whl", hash = "sha256:50fb9cbe836c3f20f0dfa99c565201fb75dc54c8d76373cd1bde06b06657bdb6"}, + {file = "pytest-8.0.0.tar.gz", hash = "sha256:249b1b0864530ba251b7438274c4d251c58d868edaaec8762893ad4a0d71c36c"}, ] [package.dependencies] -atomicwrites = {version = ">=1.0", markers = "sys_platform == \"win32\""} -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} +exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<2.0" -py = ">=1.8.2" -toml = "*" +pluggy = ">=1.3.0,<2.0" +tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xmlschema"] +testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-mock" @@ -750,7 +839,6 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, @@ -855,20 +943,38 @@ six = "*" fixture = ["fixtures"] test = ["fixtures", "mock", "purl", "pytest", "requests-futures", "sphinx", "testtools"] +[[package]] +name = "selenium" +version = "4.17.2" +description = "" +optional = false +python-versions = ">=3.8" +files = [ + {file = "selenium-4.17.2-py3-none-any.whl", hash = "sha256:5aee79026c07985dc1b0c909f34084aa996dfe5b307602de9016d7a621a473f2"}, + {file = "selenium-4.17.2.tar.gz", hash = "sha256:d43d6972e516855fb242ef9ce4ce759057b115070e702e7b1c1032fe7b38d87b"}, +] + +[package.dependencies] +certifi = ">=2021.10.8" +trio = ">=0.17,<1.0" +trio-websocket = ">=0.9,<1.0" +typing_extensions = ">=4.9.0" +urllib3 = {version = ">=1.26,<3", extras = ["socks"]} + [[package]] name = "setuptools" -version = "69.0.3" +version = "69.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.0.3-py3-none-any.whl", hash = "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05"}, - {file = "setuptools-69.0.3.tar.gz", hash = "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"}, + {file = "setuptools-69.1.0-py3-none-any.whl", hash = "sha256:c054629b81b946d63a9c6e732bc8b2513a7c3ea645f11d0139a2191d735c60c6"}, + {file = "setuptools-69.1.0.tar.gz", hash = "sha256:850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401"}, ] [package.extras] docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] @@ -883,16 +989,74 @@ files = [ ] [[package]] -name = "toml" -version = "0.10.2" -description = "Python Library for Tom's Obvious, Minimal Language" +name = "sniffio" +version = "1.3.0" +description = "Sniff out which async library your code is running under" +optional = false +python-versions = ">=3.7" +files = [ + {file = "sniffio-1.3.0-py3-none-any.whl", hash = "sha256:eecefdce1e5bbfb7ad2eeaabf7c1eeb404d7757c379bd1f7e5cce9d8bf425384"}, + {file = "sniffio-1.3.0.tar.gz", hash = "sha256:e60305c5e5d314f5389259b7f22aaa33d8f7dee49763119234af3755c55b9101"}, +] + +[[package]] +name = "sortedcontainers" +version = "2.4.0" +description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" optional = false -python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "*" files = [ - {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, - {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, + {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"}, + {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, ] +[[package]] +name = "tomli" +version = "2.0.1" +description = "A lil' TOML parser" +optional = false +python-versions = ">=3.7" +files = [ + {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, + {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, +] + +[[package]] +name = "trio" +version = "0.24.0" +description = "A friendly Python library for async concurrency and I/O" +optional = false +python-versions = ">=3.8" +files = [ + {file = "trio-0.24.0-py3-none-any.whl", hash = "sha256:c3bd3a4e3e3025cd9a2241eae75637c43fe0b9e88b4c97b9161a55b9e54cd72c"}, + {file = "trio-0.24.0.tar.gz", hash = "sha256:ffa09a74a6bf81b84f8613909fb0beaee84757450183a7a2e0b47b455c0cac5d"}, +] + +[package.dependencies] +attrs = ">=20.1.0" +cffi = {version = ">=1.14", markers = "os_name == \"nt\" and implementation_name != \"pypy\""} +exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +idna = "*" +outcome = "*" +sniffio = ">=1.3.0" +sortedcontainers = "*" + +[[package]] +name = "trio-websocket" +version = "0.11.1" +description = "WebSocket library for Trio" +optional = false +python-versions = ">=3.7" +files = [ + {file = "trio-websocket-0.11.1.tar.gz", hash = "sha256:18c11793647703c158b1f6e62de638acada927344d534e3c7628eedcb746839f"}, + {file = "trio_websocket-0.11.1-py3-none-any.whl", hash = "sha256:520d046b0d030cf970b8b2b2e00c4c2245b3807853ecd44214acd33d74581638"}, +] + +[package.dependencies] +exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} +trio = ">=0.11" +wsproto = ">=0.14" + [[package]] name = "typing-extensions" version = "4.9.0" @@ -929,6 +1093,9 @@ files = [ {file = "urllib3-2.2.0.tar.gz", hash = "sha256:051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20"}, ] +[package.dependencies] +pysocks = {version = ">=1.5.6,<1.5.7 || >1.5.7,<2.0", optional = true, markers = "extra == \"socks\""} + [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] h2 = ["h2 (>=4,<5)"] @@ -1028,7 +1195,21 @@ files = [ {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, ] +[[package]] +name = "wsproto" +version = "1.2.0" +description = "WebSockets state-machine based protocol implementation" +optional = false +python-versions = ">=3.7.0" +files = [ + {file = "wsproto-1.2.0-py3-none-any.whl", hash = "sha256:b9acddd652b585d75b20477888c56642fdade28bdfd3579aa24a4d2c037dd736"}, + {file = "wsproto-1.2.0.tar.gz", hash = "sha256:ad565f26ecb92588a3e43bc3d96164de84cd9902482b130d0ddbaa9664a85065"}, +] + +[package.dependencies] +h11 = ">=0.9.0,<1" + [metadata] lock-version = "2.0" python-versions = "^3.9,<3.12" -content-hash = "e84fb1ef10aa196681fe4654bd062fb4175cecb50abce5640cffe5b91b75ae12" +content-hash = "734a63a70fbb15f2bba2328a4f124785e30c369ad58062eb68afc53df56a5ef0" diff --git a/airbyte-integrations/connectors/source-paypal-transaction/pyproject.toml b/airbyte-integrations/connectors/source-paypal-transaction/pyproject.toml index 14b3120395c6e..00533e610e8a2 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/pyproject.toml +++ b/airbyte-integrations/connectors/source-paypal-transaction/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "2.2.2" +version = "2.3.0" name = "source-paypal-transaction" description = "Source implementation for Paypal Transaction." authors = [ "Airbyte ",] @@ -17,12 +17,14 @@ include = "source_paypal_transaction" [tool.poetry.dependencies] python = "^3.9,<3.12" -airbyte-cdk = "==0.58.8" +airbyte-cdk = "==0.62.0" + [tool.poetry.scripts] source-paypal-transaction = "source_paypal_transaction.run:run" [tool.poetry.group.dev.dependencies] -pytest = "^6.1" -pytest-mock = "^3.6" +pytest = "^8.0" +pytest-mock = "^3.12" requests-mock = "^1.11.0" +selenium = "^4.17.2" diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/components.py b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/components.py index 332549f3b6178..af883e9c1c19c 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/components.py +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/components.py @@ -5,10 +5,14 @@ import base64 import logging from dataclasses import dataclass +from datetime import datetime, timedelta +from typing import Any, Iterable, Mapping, MutableMapping, Optional import backoff import requests from airbyte_cdk.sources.declarative.auth import DeclarativeOauth2Authenticator +from airbyte_cdk.sources.declarative.requesters.http_requester import HttpRequester +from airbyte_cdk.sources.declarative.types import StreamSlice, StreamState from airbyte_cdk.sources.streams.http.exceptions import DefaultBackoffException logger = logging.getLogger("airbyte") @@ -42,6 +46,7 @@ def get_headers(self): @backoff.on_exception( backoff.expo, DefaultBackoffException, + max_tries=2, on_backoff=lambda details: logger.info( f"Caught retryable error after {details['tries']} tries. Waiting {details['wait']} seconds then retrying..." ), @@ -49,14 +54,25 @@ def get_headers(self): ) def _get_refresh_access_token_response(self): try: - response = requests.request( - method="POST", url=self.get_token_refresh_endpoint(), data=self.build_refresh_request_body(), headers=self.get_headers() - ) + request_url = self.get_token_refresh_endpoint() + request_headers = self.get_headers() + request_body = self.build_refresh_request_body() + + logger.info(f"Sending request to URL: {request_url}") + + response = requests.request(method="POST", url=request_url, data=request_body, headers=request_headers) + self._log_response(response) response.raise_for_status() + + response_json = response.json() + + self.access_token = response_json.get("access_token") + return response.json() + except requests.exceptions.RequestException as e: - if e.response.status_code == 429 or e.response.status_code >= 500: + if e.response and (e.response.status_code == 429 or e.response.status_code >= 500): raise DefaultBackoffException(request=e.response.request, response=e.response) raise except Exception as e: diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/manifest.yaml b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/manifest.yaml index 58f6d026171a9..ddc8283179c23 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/manifest.yaml +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/manifest.yaml @@ -1,11 +1,6 @@ version: 0.50.2 type: DeclarativeSource -check: - type: CheckStream - stream_names: - - balances - definitions: selector: type: RecordSelector @@ -16,7 +11,7 @@ definitions: requester: type: HttpRequester - url_base: 'https://api-m.{{ "sandbox." if config["is_sandbox"] }}paypal.com/v1/reporting/' + url_base: 'https://api-m.{{ "sandbox." if config["is_sandbox"] }}paypal.com/' path: "{{ parameters.path }}" http_method: GET request_headers: @@ -38,9 +33,15 @@ definitions: - type: DefaultErrorHandler backoff_strategies: - type: ConstantBackoffStrategy - backoff_time_in_seconds: 300 + backoff_time_in_seconds: 100 request_body_json: {} + #NOTE: The streams Payments, Orders and Subscriptions require a webhook so you can register + #the Ids of each event as these endpoints do not have a GET method to list the Ids and use it + #in other streams + + #Stream Transactions + #Paypal API only has V1 for this stream transactions_stream: type: DeclarativeStream primary_key: transaction_id @@ -67,6 +68,15 @@ definitions: $ref: "#/definitions/requester" request_parameters: fields: all + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + description: "Handle HTTP 400 with error message: Data for the given start date is not available. " + response_filters: + - http_codes: [400] + action: IGNORE + predicate: "{{ 'Data for the given start date is not available' in response['message']}}" transformations: - type: AddFields fields: @@ -89,26 +99,29 @@ definitions: start_datetime: type: MinMaxDatetime datetime: >- - {{ max( format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ'), day_delta(-1095, format='%Y-%m-%dT%H:%M:%SZ') ) }} + {{ max( format_datetime(config.get('start_date'), '%Y-%m-%dT%H:%M:%SZ'), day_delta(-1095, format='%Y-%m-%dT%H:%M:%SZ') ) }} datetime_format: "%Y-%m-%dT%H:%M:%SZ" start_time_option: type: RequestOption field_name: start_date inject_into: request_parameter + end_datetime: + type: MinMaxDatetime + datetime: >- + {{ format_datetime(config.get('end_date') if config.get('end_date') else now_utc(), '%Y-%m-%dT%H:%M:%SZ') }} end_time_option: type: RequestOption field_name: end_date inject_into: request_parameter - end_datetime: - type: MinMaxDatetime - datetime: "{{ now_utc().strftime('%Y-%m-%dT%H:%M:%SZ') }}" datetime_format: "%Y-%m-%dT%H:%M:%SZ" step: "P{{ config.get('time_window', 7) }}D" cursor_granularity: PT1S $parameters: - path: "transactions" + path: "v1/reporting/transactions" field_path: transaction_details + #Stream balances + #Paypal API only has V1 for this stream balances_stream: type: DeclarativeStream primary_key: as_of_time @@ -143,70 +156,244 @@ definitions: start_datetime: type: MinMaxDatetime datetime: >- - {{ max( format_datetime(config['start_date'], '%Y-%m-%dT%H:%M:%SZ'), day_delta(-1095, format='%Y-%m-%dT%H:%M:%SZ') ) }} + {{ max( format_datetime(config.get('start_date'), '%Y-%m-%dT%H:%M:%SZ'), day_delta(-1095, format='%Y-%m-%dT%H:%M:%SZ') ) }} datetime_format: "%Y-%m-%dT%H:%M:%SZ" start_time_option: type: RequestOption field_name: as_of_time inject_into: request_parameter $parameters: - path: "balances" + path: "v1/reporting/balances" + + #New Stream - List Product + #Paypal API only has V1 for this stream + list_products_stream: + type: DeclarativeStream + primary_key: id + name: "list_products" + retriever: + type: SimpleRetriever + record_selector: + $ref: "#/definitions/selector" + paginator: + type: DefaultPaginator + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 20 + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + inject_into: request_parameter + field_name: page_size + type: RequestOption + requester: + $ref: "#/definitions/requester" + http_method: GET + request_headers: + Content-Type: application/json + $parameters: + path: "v1/catalogs/products" + field_path: products + + # New Stream - Show Product Details + #Paypal API only has V1 for this stream + #This can't be incremental as there is no time filtering. If you need to have the updates, you need to Append in the full_sync + # This stream works, however has some challenges with performance. Whith a big catalog it can take up to 3 hrs. + show_product_details_stream: + type: DeclarativeStream + primary_key: id + name: "show_product_details" + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/requester" + path: "/v1/catalogs/products/{{ stream_slice.id }}" + record_selector: + $ref: "#/definitions/selector" + extractor: + type: DpathExtractor + field_path: [] + paginator: + type: NoPagination + partition_router: + type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: "id" + partition_field: "id" + stream: + $ref: "#/definitions/list_products_stream" + + #Stream List Disputes + #Paypal API only has V1 for this stream + list_disputes_stream: + type: DeclarativeStream + primary_key: dispute_id + name: "list_disputes" + retriever: + type: SimpleRetriever + record_selector: + $ref: "#/definitions/selector" + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: next_page_token + page_size_option: + type: RequestOption + inject_into: request_parameter + field_name: page_size + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 50 + requester: + $ref: "#/definitions/requester" + http_method: GET + transformations: + - type: AddFields + fields: + - path: + - updated_time_cut + value: >- + {{ record['update_time'] }} + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updated_time_cut + datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" + start_datetime: + type: MinMaxDatetime + datetime: "{{ format_datetime(config.get('dispute_start_date') if config.get('dispute_start_date') else (now_utc() - duration('P179D')), '%Y-%m-%dT%H:%M:%S.%fZ')[:23] + 'Z' }}" + datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" + end_datetime: + type: MinMaxDatetime + #Adding a time delta as the API has a problem with the slice being too close to the now_utc. Set to 30M + datetime: >- + {{ format_datetime(config.get('dispute_end_date') if config.get('dispute_end_date') else (now_utc() - duration('PT30M')), '%Y-%m-%dT%H:%M:%S.%fZ')[:23] + 'Z'}} + datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" + start_time_option: + type: RequestOption + field_name: update_time_after + inject_into: request_parameter + end_time_option: + type: RequestOption + field_name: update_time_before + inject_into: request_parameter + step: "P{{ config.get('time_window', 7) }}D" + cursor_granularity: PT1S + $parameters: + path: "v1/customer/disputes" + field_path: items + + #Stream Search Invoices + # Currently it does not support incremental sync as metadata does not contain last_update_date + search_invoices_stream: + type: DeclarativeStream + primary_key: id + name: "search_invoices" + retriever: + type: SimpleRetriever + record_selector: + $ref: "#/definitions/selector" + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + page_size_option: + inject_into: request_parameter + field_name: page_size + type: RequestOption + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 100 + requester: + $ref: "#/definitions/requester" + http_method: POST + request_headers: + Content-Type: application/json + request_body_json: + creation_date_range: + start: "{{ config.get('start_date') }}" + end: >- + {{ format_datetime(config.get('end_date') if config.get('end_date') else now_utc(), '%Y-%m-%dT%H:%M:%SZ') }} + $parameters: + field_path: items + path: "v2/invoicing/search-invoices" + + #Stream List Payments + #Currently uses V1 which is about to be derecated + #But there is no endpoint in v2 for listing payments + list_payments_stream: + type: DeclarativeStream + primary_key: id + name: "list_payments" + retriever: + type: SimpleRetriever + record_selector: + $ref: "#/definitions/selector" + paginator: + type: DefaultPaginator + pagination_strategy: + type: CursorPagination + cursor_value: "{{ response.next_id}}" + stop_condition: "{{ response.next_id == ''}}" + page_size: 20 + page_token_option: + type: RequestOption + field_name: start_id + inject_into: request_parameter + page_size_option: + type: RequestOption + field_name: count + inject_into: request_parameter + requester: + $ref: "#/definitions/requester" + request_parameters: + start_time: "{{ stream_interval.start_time.strftime('%Y-%m-%dT%H:%M:%SZ') }}" + end_time: "{{ stream_interval.end_time.strftime('%Y-%m-%dT%H:%M:%SZ') }}" + incremental_sync: + type: DatetimeBasedCursor + cursor_field: update_time + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_datetime: + #type: MinMaxDatetime + datetime: "{{ config.get('start_date') }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + end_datetime: + type: MinMaxDatetime + datetime: >- + {{ format_datetime(config.get('end_date') if config.get('end_date') else now_utc(), '%Y-%m-%dT%H:%M:%SZ') }} + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_time_option: + type: RequestOption + field_name: start_time + inject_into: request_parameter + end_time_option: + type: RequestOption + field_name: end_time + inject_into: request_parameter + step: "P{{ config.get('time_window', 7) }}D" + cursor_granularity: PT1S + $parameters: + path: "v1/payments/payment" + field_path: payments streams: - "#/definitions/transactions_stream" - "#/definitions/balances_stream" + - "#/definitions/list_products_stream" + - "#/definitions/show_product_details_stream" + - "#/definitions/list_disputes_stream" + - "#/definitions/search_invoices_stream" + - "#/definitions/list_payments_stream" -spec: - type: Spec - documentation_url: https://docs.airbyte.com/integrations/sources/paypal-transactions - connection_specification: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - required: - - client_id - - client_secret - - start_date - - is_sandbox - properties: - client_id: - type: string - title: Client ID - description: "The Client ID of your Paypal developer application." - airbyte_secret: true - order: 0 - client_secret: - type: string - title: Client secret - description: "The Client Secret of your Paypal developer application." - airbyte_secret: true - order: 1 - start_date: - title: Start Date - description: >- - Start Date for data extraction in ISO - format. Date must be in range from 3 years till 12 hrs before - present time. - type: string - examples: ["2021-06-11T23:59:59", "2021-06-11T23:59:59+00:00"] - pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(|Z|[+-][0-9]{2}:[0-9]{2})$ - format: "date-time" - order: 2 - is_sandbox: - title: "Sandbox" - description: "Determines whether to use the sandbox or production environment." - type: "boolean" - default: false - refresh_token: - type: "string" - title: "Refresh token" - description: "The key to refresh the expired access token." - airbyte_secret: true - time_window: - type: "integer" - title: "Number of days per request" - description: "The number of days per request. Must be a number between 1 and 31." - default: 7 - minimum: 1 - maximum: 31 +check: + stream_names: + - "balances" diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_disputes.json b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_disputes.json new file mode 100644 index 0000000000000..8d4c9ff57a974 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_disputes.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://json-schema.org/draft-07/schema#", + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "dispute_id": { "type": ["null", "string"] }, + "create_time": { "type": "string", "format": "date-time" }, + "update_time": { "type": "string", "format": "date-time" }, + "updated_time_cut": { "type": "string", "format": "date-time" }, + "status": { "type": ["null", "string"] }, + "reason": { "type": ["null", "string"] }, + "dispute_state": { "type": ["null", "string"] }, + "dispute_amount": { + "type": ["null", "object"], + "properties": { + "currency_code": { "type": ["null", "string"] }, + "value": { "type": ["null", "string"] } + } + }, + "links": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "href": { "type": ["null", "string"] }, + "rel": { "type": ["null", "string"] }, + "method": { "type": ["null", "string"] } + } + } + } + } +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_payments.json b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_payments.json new file mode 100644 index 0000000000000..6ce37d9d6d3e5 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_payments.json @@ -0,0 +1,204 @@ +{ + "$schema": "https://json-schema.org/draft-07/schema#", + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "id": { "type": ["null", "string"] }, + "intent": { "type": ["null", "string"] }, + "state": { "type": ["null", "string"] }, + "cart": { "type": ["null", "string"] }, + "payer": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "payment_method": { "type": ["null", "string"] }, + "status": { "type": ["null", "string"] }, + "payer_info": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "email": { "type": ["null", "string"] }, + "first_name": { "type": ["null", "string"] }, + "last_name": { "type": ["null", "string"] }, + "payer_id": { "type": ["null", "string"] }, + "shipping_address": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "recipient_name": { "type": ["null", "string"] }, + "line1": { "type": ["null", "string"] }, + "city": { "type": ["null", "string"] }, + "state": { "type": ["null", "string"] }, + "postal_code": { "type": ["null", "string"] }, + "country_code": { "type": ["null", "string"] } + } + }, + "phone": { "type": ["null", "string"] }, + "country_code": { "type": ["null", "string"] } + } + } + } + }, + "transactions": { + "type": ["null", "array"], + "items": { + "type": "object", + "properties": { + "reference_id": { "type": ["null", "string"] }, + "amount": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "total": { "type": ["null", "string"] }, + "currency": { "type": ["null", "string"] }, + "details": { + "type": ["null", "object"], + "properties": { + "subtotal": { "type": ["null", "string"] }, + "shipping": { "type": ["null", "string"] }, + "insurance": { "type": ["null", "string"] }, + "handling_fee": { "type": ["null", "string"] }, + "shipping_discount": { "type": ["null", "string"] }, + "discount": { "type": ["null", "string"] } + } + } + } + }, + "payee": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "merchant_id": { "type": ["null", "string"] }, + "email": { "type": ["null", "string"] } + } + }, + "description": { "type": ["null", "string"] }, + "item_list": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "items": { + "type": ["null", "array"], + "items": { + "type": "object", + "properties": { + "name": { "type": ["null", "string"] }, + "description": { "type": ["null", "string"] }, + "price": { "type": ["null", "string"] }, + "currency": { "type": ["null", "string"] }, + "tax": { "type": ["null", "string"] }, + "quantity": { "type": ["null", "integer"] }, + "image_url": { "type": ["null", "string"] } + } + } + }, + "shipping_address": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "recipient_name": { "type": ["null", "string"] }, + "line1": { "type": ["null", "string"] }, + "city": { "type": ["null", "string"] }, + "state": { "type": ["null", "string"] }, + "postal_code": { "type": ["null", "string"] }, + "country_code": { "type": ["null", "string"] } + } + } + } + }, + "related_resources": { + "type": ["null", "array"], + "items": { + "type": "object", + "properties": { + "sale": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "id": { "type": ["null", "string"] }, + "state": { "type": ["null", "string"] }, + "amount": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "total": { "type": ["null", "string"] }, + "currency": { "type": ["null", "string"] }, + "details": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "subtotal": { "type": ["null", "string"] }, + "shipping": { "type": ["null", "string"] }, + "insurance": { "type": ["null", "string"] }, + "handling_fee": { "type": ["null", "string"] }, + "shipping_discount": { "type": ["null", "string"] }, + "discount": { "type": ["null", "string"] } + } + } + } + }, + "payment_mode": { "type": ["null", "string"] }, + "protection_eligibility": { "type": ["null", "string"] }, + "protection_eligibility_type": { + "type": ["null", "string"] + }, + "transaction_fee": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "value": { "type": ["null", "string"] }, + "currency": { "type": ["null", "string"] } + } + }, + "purchase_unit_reference_id": { + "type": ["null", "string"] + }, + "parent_payment": { "type": ["null", "string"] }, + "create_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "update_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "href": { "type": ["null", "string"] }, + "rel": { "type": ["null", "string"] }, + "method": { "type": ["null", "string"] } + } + } + } + } + } + } + } + } + } + } + }, + "create_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "update_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "href": { "type": ["null", "string"] }, + "rel": { "type": ["null", "string"] }, + "method": { "type": ["null", "string"] } + } + } + } + } +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_products.json b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_products.json new file mode 100644 index 0000000000000..b700519c4c720 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/list_products.json @@ -0,0 +1,26 @@ +{ + "$schema": "https://json-schema.org/draft-07/schema#", + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "id": { "type": ["null", "string"] }, + "name": { "type": ["null", "string"] }, + "description": { "type": ["null", "string"] }, + "create_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "links": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "properties": { + "href": { "type": ["null", "string"] }, + "rel": { "type": ["null", "string"] }, + "method": { "type": ["null", "string"] } + } + } + } + } +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/search_invoices.json b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/search_invoices.json new file mode 100644 index 0000000000000..e0887a02b9e1e --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/search_invoices.json @@ -0,0 +1,357 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "id": { "type": ["null", "string"] }, + "status": { "type": ["null", "string"] }, + "primary_recipients": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "billing_info": { + "type": ["null", "object"], + "properties": { + "business_name": { "type": ["null", "string"] }, + "name": { + "type": ["null", "object"], + "properties": { + "prefix": { "type": ["null", "string"] }, + "given_name": { "type": ["null", "string"] }, + "surname": { "type": ["null", "string"] }, + "middle_name": { "type": ["null", "string"] }, + "suffix": { "type": ["null", "string"] }, + "alternate_full_name": { "type": ["null", "string"] }, + "full_name": { "type": ["null", "string"] } + } + }, + "address": { + "type": ["null", "object"], + "properties": { + "address_line_1": { "type": ["null", "string"] }, + "address_line_2": { "type": ["null", "string"] }, + "address_line_3": { "type": ["null", "string"] }, + "address_line_4": { "type": ["null", "string"] }, + "admin_area_1": { "type": ["null", "string"] }, + "admin_area_2": { "type": ["null", "string"] }, + "admin_area_3": { "type": ["null", "string"] }, + "postal_code": { "type": ["null", "string"] }, + "country_code": { "type": ["null", "string"] }, + "address_details": { "type": ["null", "object"] }, + "phones": { "type": ["null", "array"] }, + "additiona_info": { "type": ["null", "string"] }, + "email_address": { "type": ["null", "string"] }, + "language": { "type": ["null", "string"] } + } + } + } + }, + "shipping_info": { + "type": ["null", "object"], + "properties": { + "business_name": { "type": ["null", "string"] }, + "name": { + "type": ["null", "object"], + "properties": { + "prefix": { "type": ["null", "string"] }, + "given_name": { "type": ["null", "string"] }, + "surname": { "type": ["null", "string"] }, + "middle_name": { "type": ["null", "string"] }, + "suffix": { "type": ["null", "string"] }, + "alternate_full_name": { "type": ["null", "string"] }, + "full_name": { "type": ["null", "string"] } + } + }, + "address": { + "type": ["null", "object"], + "properties": { + "address_line_1": { "type": ["null", "string"] }, + "address_line_2": { "type": ["null", "string"] }, + "address_line_3": { "type": ["null", "string"] }, + "address_line_4": { "type": ["null", "string"] }, + "admin_area_1": { "type": ["null", "string"] }, + "admin_area_2": { "type": ["null", "string"] }, + "admin_area_3": { "type": ["null", "string"] }, + "postal_code": { "type": ["null", "string"] }, + "country_code": { "type": ["null", "string"] }, + "address_details": { "type": ["null", "object"] } + } + } + } + } + } + } + }, + "additional_recipients": { "type": ["null", "array"] }, + "detail": { + "type": ["null", "object"], + "properties": { + "reference": { "type": ["null", "string"] }, + "note": { "type": ["null", "string"] }, + "terms_and_conditions": { "type": ["null", "string"] }, + "memo": { "type": ["null", "string"] }, + "attachments": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "id": { "type": ["null", "string"] }, + "reference_url": { "type": ["null", "string"] }, + "content_type": { "type": ["null", "string"] }, + "size": { "type": ["null", "string"] }, + "create_time": { "type": ["null", "string"] } + } + } + }, + "currency_code": { "type": ["null", "string"] }, + "invoice_number": { "type": ["null", "string"] }, + "invoice_date": { "type": ["null", "string"], "format": "date" }, + "payment_term": { + "type": ["null", "object"], + "properties": { + "term_type": { "type": ["null", "string"] }, + "due_date": { "type": ["null", "string"], "format": "date" } + } + }, + "metadata": { + "type": ["null", "object"], + "properties": { + "created_by": { "type": ["null", "string"] }, + "last_updated_by": { "type": ["null", "string"] }, + "create_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "last_update_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "cancelled_by": { "type": ["null", "string"] }, + "last_seen_by": { "type": ["null", "string"] }, + "recipient_view_url": { "type": ["null", "string"] }, + "invoicer_view_url": { "type": ["null", "string"] }, + "cancel_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "first_sent_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "last_sent_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "created_by_flow": { "type": ["null", "string"] } + } + } + } + }, + "last_update_time": { + "type": ["null", "string"], + "format": "date-time" + }, + "invoicer": { + "type": ["null", "object"], + "properties": { + "business_name": { "type": ["null", "string"] }, + "name": { + "type": ["null", "object"], + "properties": { + "prefix": { "type": ["null", "string"] }, + "given_name": { "type": ["null", "string"] }, + "surname": { "type": ["null", "string"] }, + "middle_name": { "type": ["null", "string"] }, + "suffix": { "type": ["null", "string"] }, + "alternate_full_name": { "type": ["null", "string"] }, + "full_name": { "type": ["null", "string"] } + }, + "address": { + "type": ["null", "object"], + "properties": { + "address_line_1": { "type": ["null", "string"] }, + "address_line_2": { "type": ["null", "string"] }, + "address_line_3": { "type": ["null", "string"] }, + "admin_area_1": { "type": ["null", "string"] }, + "admin_area_2": { "type": ["null", "string"] }, + "admin_area_3": { "type": ["null", "string"] }, + "postal_code": { "type": ["null", "string"] }, + "country_code": { "type": ["null", "string"] }, + "address_details": { "type": ["null", "object"] } + }, + "phones": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "country_code": { "type": ["null", "string"] }, + "national_number": { "type": ["null", "string"] }, + "extension_number": { "type": ["null", "string"] }, + "phone_type": { "type": ["null", "string"] } + } + } + }, + "website": { "type": ["null", "string"] }, + "tax_id": { "type": ["null", "string"] }, + "additional_notes": { "type": ["null", "string"] }, + "email_address": { "type": ["null", "string"] } + } + } + } + }, + "configuration": { + "type": ["null", "object"], + "properties": { + "tax_calculated_after_discount": { "type": ["null", "string"] }, + "tax_inclusive": { "type": ["null", "string"] }, + "allow_tip": { "type": ["null", "string"] }, + "partial_payment": { + "type": ["null", "object"], + "properties": { + "allow_partial_payment": { "type": ["null", "string"] }, + "minimum_amount_due": { "type": ["null", "object"] } + } + }, + "template_id": { "type": ["null", "string"] } + } + }, + "amount": { + "type": ["null", "object"], + "properties": { + "currency_code": { "type": ["null", "string"] }, + "value": { "type": ["null", "string"] }, + "breakdown": { + "type": ["null", "object"], + "properties": { + "item_total": { "type": ["null", "object"] }, + "discount": { "type": ["null", "object"] }, + "tax_total": { "type": ["null", "object"] }, + "shipping": { "type": ["null", "object"] }, + "custom": { "type": ["null", "object"] } + } + } + } + }, + "due_amount": { + "type": ["null", "object"], + "properties": { + "currency_code": { "type": ["null", "string"] }, + "value": { "type": ["null", "string"] } + } + }, + "gratuity": { + "type": ["null", "object"], + "properties": { + "currency_code": { "type": ["null", "string"] }, + "value": { "type": ["null", "string"] } + } + }, + "payments": { + "transactions": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "payment_id": { "type": ["null", "string"] }, + "note": { "type": ["null", "string"] }, + "type": { "type": ["null", "string"] }, + "payment_date": { + "type": ["null", "string"], + "format": "date-time" + }, + "method": { "type": ["null", "string"] }, + "amount": { + "type": ["null", "object"], + "properties": { + "currency_code": { "type": ["null", "string"] }, + "value": { "type": ["null", "string"] } + } + }, + "shipping_info": { + "type": ["null", "object"], + "properties": { + "business_name": { "type": ["null", "string"] }, + "name": { + "type": ["null", "object"], + "properties": { + "prefix": { "type": ["null", "string"] }, + "given_name": { "type": ["null", "string"] }, + "surname": { "type": ["null", "string"] }, + "middle_name": { "type": ["null", "string"] }, + "suffix": { "type": ["null", "string"] }, + "alternate_full_name": { "type": ["null", "string"] }, + "full_name": { "type": ["null", "string"] } + } + }, + "address": { + "type": ["null", "object"], + "properties": { + "address_line_1": { "type": ["null", "string"] }, + "address_line_2": { "type": ["null", "string"] }, + "address_line_3": { "type": ["null", "string"] }, + "admin_area_1": { "type": ["null", "string"] }, + "admin_area_2": { "type": ["null", "string"] }, + "admin_area_3": { "type": ["null", "string"] }, + "postal_code": { "type": ["null", "string"] }, + "country_code": { "type": ["null", "string"] }, + "address_details": { "type": ["null", "object"] } + } + } + } + } + } + } + }, + "paid_amount": { + "type": ["null", "object"], + "properties": { + "currency_code": { "type": ["null", "string"] }, + "value": { "type": ["null", "string"] } + } + } + }, + "refunds": { + "transactions": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "refund_id": { "type": ["null", "string"] }, + "type": { "type": ["null", "string"] }, + "refund_date": { + "type": ["null", "string"], + "format": "date-time" + }, + "method": { "type": ["null", "string"] }, + "amount": { + "type": ["null", "object"], + "properties": { + "currency_code": { "type": ["null", "string"] }, + "value": { "type": ["null", "string"] } + } + } + } + } + }, + "refund_amount": { + "type": ["null", "object"], + "properties": { + "currency_code": { "type": ["null", "string"] }, + "value": { "type": ["null", "string"] } + } + } + }, + "links": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "href": { "type": ["null", "string"], "format": "uri" }, + "rel": { "type": ["null", "string"] }, + "method": { "type": ["null", "string"] } + } + } + } + } +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/show_product_details.json b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/show_product_details.json new file mode 100644 index 0000000000000..822b85737f60d --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/schemas/show_product_details.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://json-schema.org/draft-07/schema#", + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "id": { "type": ["null", "string"] }, + "name": { "type": ["null", "string"] }, + "description": { "type": ["null", "string"] }, + "type": { "type": ["null", "string"] }, + "category": { "type": ["null", "string"] }, + "image_url": { "type": ["null", "string"] }, + "home_url": { "type": ["null", "string"] }, + "create_time": { "type": ["null", "string"], "format": "date-time" }, + "update_time": { "type": ["null", "string"], "format": "date-time" }, + "links": { + "type": "array", + "items": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "href": { "type": ["null", "string"] }, + "rel": { "type": ["null", "string"] }, + "method": { "type": ["null", "string"] } + } + } + } + } +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/source.py b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/source.py index afd56a9278a1c..4260da59befa2 100644 --- a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/source.py +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/source.py @@ -2,6 +2,7 @@ # Copyright (c) 2023 Airbyte, Inc., all rights reserved. # +from airbyte_cdk import AirbyteLogger from airbyte_cdk.sources.declarative.yaml_declarative_source import YamlDeclarativeSource """ @@ -11,7 +12,6 @@ WARNING: Do not modify this file. """ - # Declarative Source class SourcePaypalTransaction(YamlDeclarativeSource): def __init__(self): diff --git a/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/spec.yaml b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/spec.yaml new file mode 100644 index 0000000000000..8f3379e51cf62 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/source_paypal_transaction/spec.yaml @@ -0,0 +1,78 @@ +documentationUrl: https://docs.airbyte.com/integrations/sources/paypal-transactions +connectionSpecification: + $schema: http://json-schema.org/draft-07/schema# + type: object + additionalProperties: true + required: + - client_id + - client_secret + - start_date + - is_sandbox + properties: + client_id: + type: string + title: Client ID + description: "The Client ID of your Paypal developer application." + airbyte_secret: true + order: 0 + client_secret: + type: string + title: Client secret + description: "The Client Secret of your Paypal developer application." + airbyte_secret: true + order: 1 + start_date: + title: Start Date + description: >- + Start Date for data extraction in ISO + format. Date must be in range from 3 years till 12 hrs before + present time. + type: string + examples: ["2021-06-11T23:59:59Z", "2021-06-11T23:59:59+00:00"] + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(|Z|[+-][0-9]{2}:[0-9]{2})$ + format: "date-time" + order: 2 + is_sandbox: + title: "Sandbox" + description: "Determines whether to use the sandbox or production environment." + type: "boolean" + default: false + dispute_start_date: + title: Dispute Start Date Range + description: >- + Start Date parameter for the list dispute endpoint in ISO + format. This Start Date must be in range within 180 days before + present time, and requires ONLY 3 miliseconds(mandatory). + If you don't use this option, it defaults to a start date set 180 days in the past. + type: string + examples: ["2021-06-11T23:59:59.000Z"] + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}Z$ + format: "date-time" + order: 3 + end_date: + title: End Date + description: >- + End Date for data extraction in ISO + format. This can be help you select specific range of time, mainly for test purposes + or data integrity tests. When this is not used, now_utc() is used by the streams. + This does not apply to Disputes and Product streams. + type: string + examples: ["2021-06-11T23:59:59Z", "2021-06-11T23:59:59+00:00"] + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(|Z|[+-][0-9]{2}:[0-9]{2})$ + format: "date-time" + order: 4 + refresh_token: + type: "string" + title: "Refresh token" + description: "The key to refresh the expired access token." + airbyte_secret: true + time_window: + type: "integer" + title: "Number of days per request" + description: "The number of days per request. Must be a number between 1 and 31." + default: 7 + minimum: 1 + maximum: 31 diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/auth_components_test.py b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/auth_components_test.py new file mode 100644 index 0000000000000..dd19b6306e770 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/auth_components_test.py @@ -0,0 +1,88 @@ +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. + +import logging +import time +from unittest.mock import patch + +import pytest +import requests +import requests_mock +from airbyte_cdk.sources.streams.http.exceptions import DefaultBackoffException +from source_paypal_transaction.components import PayPalOauth2Authenticator + + +@pytest.fixture +def mock_authenticator(): + return PayPalOauth2Authenticator( + config={}, + parameters={}, + client_id='test_client_id', + client_secret='test_client_secret', + token_refresh_endpoint='https://test.token.endpoint', + grant_type='test_grant_type' + ) + +def test_get_refresh_access_token_response(mock_authenticator): + expected_response_json = {'access_token': 'test_access_token', 'expires_in': 3600} + with requests_mock.Mocker() as mock_request: + mock_request.post('https://test.token.endpoint', json=expected_response_json, status_code=200) + # Call _get_refresh method + mock_authenticator._get_refresh_access_token_response() + + assert mock_authenticator.access_token == expected_response_json['access_token'] + +def test_token_expiration(mock_authenticator): + # Mock response for initial token request + initial_response_json = {'access_token': 'initial_access_token', 'expires_in': 1} + # Mock response for token refresh request + refresh_response_json = {'access_token': 'refreshed_access_token', 'expires_in': 3600} + with requests_mock.Mocker() as mock_request: + + mock_request.post('https://test.token.endpoint', json=initial_response_json, status_code=200) + mock_authenticator._get_refresh_access_token_response() + + # Assert that the initial access token is set correctly + assert mock_authenticator.access_token == initial_response_json['access_token'] + time.sleep(2) + + mock_request.post('https://test.token.endpoint', json=refresh_response_json, status_code=200) + mock_authenticator._get_refresh_access_token_response() + + # Assert that the access token is refreshed + assert mock_authenticator.access_token == refresh_response_json['access_token'] + + +def test_backoff_retry(mock_authenticator, caplog): + + mock_response = {'access_token': 'test_access_token', 'expires_in': 3600} + mock_reason = "Too Many Requests" + + with requests_mock.Mocker() as mock_request: + mock_request.post('https://test.token.endpoint', json=mock_response, status_code=429, reason=mock_reason) + with caplog.at_level(logging.INFO): + try: + mock_authenticator._get_refresh_access_token_response() + except requests.exceptions.HTTPError: + pass # Ignore the HTTPError + else: + pytest.fail("Expected DefaultBackoffException to be raised") + +@pytest.fixture +def authenticator_parameters(): + return { + "client_id": "test_client_id", + "client_secret": "test_client_secret", + "config": {}, + "parameters": {}, + "token_refresh_endpoint": "https://test.token.endpoint", + "grant_type": "test_grant_type" + } + +def test_get_headers(authenticator_parameters): + expected_basic_auth = "Basic dGVzdF9jbGllbnRfaWQ6dGVzdF9jbGllbnRfc2VjcmV0" + authenticator = PayPalOauth2Authenticator(**authenticator_parameters) + headers = authenticator.get_headers() + assert headers == {"Authorization": expected_basic_auth} + + + diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/conftest.py b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/conftest.py new file mode 100644 index 0000000000000..06dd08dc74a6d --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/conftest.py @@ -0,0 +1,53 @@ +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. + +# conftest.py +import json +from datetime import datetime +from unittest.mock import patch + +import pytest +from source_paypal_transaction import SourcePaypalTransaction + + +@pytest.fixture(name="config") +def config_fixture(): + #From File test + # with open('../secrets/config.json') as f: + # return json.load(f) + #Mock test + return { + "client_id": "your_client_id", + "client_secret": "your_client_secret", + "start_date": "2024-01-30T00:00:00Z", + "end_date": "2024-02-01T00:00:00Z", + "dispute_start_date": "2024-02-01T00:00:00.000Z", + "dispute_end_date": "2024-02-05T23:59:00.000Z", + "buyer_username": "Your Buyer email", + "buyer_password": "Your Buyer Password", + "payer_id": "ypur ACCOUNT ID", + "is_sandbox": True + } + + +@pytest.fixture(name="source") +def source_fixture(): + return SourcePaypalTransaction() + +def validate_date_format(date_str, format): + try: + datetime.strptime(date_str, format) + return True + except ValueError: + return False + +def test_date_formats_in_config(config): + start_date_format = "%Y-%m-%dT%H:%M:%SZ" + dispute_date_format = "%Y-%m-%dT%H:%M:%S.%fZ" + assert validate_date_format(config['start_date'], start_date_format), "Start date format is incorrect" + assert validate_date_format(config['end_date'], start_date_format), "End date format is incorrect" + assert validate_date_format(config['dispute_start_date'], dispute_date_format), "Dispute start date format is incorrect" + assert validate_date_format(config['dispute_end_date'], dispute_date_format), "Dispute end date format is incorrect" + +@pytest.fixture(name="logger_mock") +def logger_mock_fixture(): + return patch("source_paypal_transactions.source.AirbyteLogger") \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/pagination_cursor.py b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/pagination_cursor.py new file mode 100644 index 0000000000000..958db41262da2 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/pagination_cursor.py @@ -0,0 +1,146 @@ +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. + +import json +import os +from dataclasses import dataclass, field +from typing import Any, List, Mapping, Optional, Union + +import pytest +import requests +import requests_mock +from airbyte_cdk.sources.declarative.decoders.decoder import Decoder +from airbyte_cdk.sources.declarative.decoders.json_decoder import JsonDecoder +from airbyte_cdk.sources.declarative.interpolation.interpolated_boolean import InterpolatedBoolean +from airbyte_cdk.sources.declarative.interpolation.interpolated_string import InterpolatedString +from airbyte_cdk.sources.declarative.requesters.paginators.strategies.pagination_strategy import PaginationStrategy +from airbyte_cdk.sources.declarative.types import Config + + +@dataclass +class CursorPaginationStrategy(PaginationStrategy): + """ + Pagination strategy that evaluates an interpolated string to define the next page token + Attributes: + page_size (Optional[int]): the number of records to request + cursor_value (Union[InterpolatedString, str]): template string evaluating to the cursor value + config (Config): connection config + stop_condition (Optional[InterpolatedBoolean]): template string evaluating when to stop paginating + decoder (Decoder): decoder to decode the response + """ + cursor_value: Union[InterpolatedString, str] + config: Config + parameters: Mapping[str, Any] + page_size: Optional[int] = None + stop_condition: Optional[Union[InterpolatedBoolean, str]] = None + decoder: Decoder = field(default_factory=JsonDecoder) + + def __post_init__(self): + if isinstance(self.cursor_value, str): + self.cursor_value = InterpolatedString.create(self.cursor_value, parameters=self.parameters) + if isinstance(self.stop_condition, str): + self.stop_condition = InterpolatedBoolean(condition=self.stop_condition, parameters=self.parameters) + + @property + def initial_token(self) -> Optional[Any]: + return None + + + def next_page_token(self, response: requests.Response, last_records: List[Mapping[str, Any]]) -> Optional[Any]: + decoded_response = self.decoder.decode(response) + headers = response.headers + headers["link"] = response.links + + print("STOP CONDITION", self.stop_condition) + + if self.stop_condition: + should_stop = self.stop_condition.eval(self.config, response=decoded_response, headers=headers, last_records=last_records) + if should_stop: + print("Stopping...") + return None + + # Update cursor_value with the next_id from the response + self.cursor_value = InterpolatedString.create(decoded_response.get("next_id"), parameters=self.parameters) + token = self.cursor_value.eval(config=self.config, last_records=last_records, response=decoded_response, headers=headers) + print("TOKEN", token) + return token if token else None + + def reset(self): + pass + + def get_page_size(self) -> Optional[int]: + return self.page_size + + +@pytest.fixture +def mock_responses(): + return [ + "token_page_init.json", + "token_PAY-0L38757939422510JMW5ZJVA.json", + "token_PAYID-MW5XXZY5YL87592N34454913.json" + ] + +@pytest.fixture +def cursor_pagination_strategy(mock_responses, stop_condition = None): + parameters = {} + decoder = JsonDecoder(parameters=parameters) + cursor_value = "start_id" # Initialize with a default value + + for response_file in mock_responses: + if cursor_value == "start_id": + cursor_value = load_mock_data(response_file).get("next_id") + else: + break # Stop after getting the next_id from the first response + + return CursorPaginationStrategy( + cursor_value=cursor_value, + config={}, + parameters=parameters, + page_size=3, + stop_condition=stop_condition, + decoder=decoder + ) + + +def load_mock_data(filename): + with open(os.path.join("./unit_tests/test_files", filename), "r") as file: + return json.load(file) + +def test_cursor_pagination(cursor_pagination_strategy, mock_responses): + with requests_mock.Mocker() as m: + base_url = "http://example.com/api/resource" + + # Mock responses + for i, response_file in enumerate(mock_responses): + print("") + print("####################################") + if i == 0: + url = f"{base_url}?count=3" + print("FIRST ITERATION:", response_file, i, url) + + if i > 0: + url += f"&start_id={next_id}" + print("NEXT ITERATIONS:", response_file, i, url) + m.get(url, json=load_mock_data(response_file), status_code=200) + # Get next_id from the response if it's not the last response + + if i < len(mock_responses) - 1: + next_id = load_mock_data(response_file)["next_id"] + print("FOUND NEXT ID:", next_id) + + else: + next_id = None + cursor_pagination_strategy(mock_responses, stop_condition = True) + + # Make API call and process response + response = requests.get(url) + print("GET RESPONSE:", response) + assert response.status_code == 200 + + decoded_response = response.json() + last_records = decoded_response["payments"] + next_id = cursor_pagination_strategy.next_page_token(response, last_records) + print("NEXT ID:", next_id) + + # Verify the pagination stopped + assert next_id is None + print("No more pages") diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/pagination_increment.py b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/pagination_increment.py new file mode 100644 index 0000000000000..05b98d04f90a1 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/pagination_increment.py @@ -0,0 +1,79 @@ +# Copyright (c) 2023 Airbyte, Inc., all rights reserved. + +import os +import re + +import pytest +import requests +import requests_mock +from airbyte_cdk.sources.declarative.requesters.paginators import DefaultPaginator, PaginationStrategy + + +class MockPaginationStrategy(PaginationStrategy): + def __init__(self, page_size): + self.page_size = page_size + self.current_page = 1 + + @property + def initial_token(self): + return self.current_page + + def next_page_token(self, response, last_records): + self.current_page += 1 + return self.current_page if self.current_page <= 5 else None + + def reset(self): + self.current_page = 1 + + @property + def get_page_size(self): + return self.page_size + +@pytest.fixture +def mock_pagination_strategy(): + return MockPaginationStrategy(page_size=500) + +@pytest.fixture +def paginator(): + pagination_strategy = MockPaginationStrategy(page_size=3) + return DefaultPaginator( + pagination_strategy=pagination_strategy, + config={}, + url_base="http://example.com/v1/reporting/transactions", + parameters={} + ) + +def load_mock_data(page): + with open(f"./unit_tests/test_files/page_{page}.json", "r") as file: + return file.read() + +# Test to verify pagination logic transitions from page 1 to page 2 +def test_pagination_logic(paginator): + page_1_data = load_mock_data(1) + page_2_data = load_mock_data(2) + + paginator_url_1 = f"{paginator.url_base.string}?page=1&page_size={paginator.pagination_strategy.get_page_size}" + paginator_url_2 = f"{paginator.url_base.string}?page=2&page_size={paginator.pagination_strategy.get_page_size}" + + with requests_mock.Mocker() as m: + m.get(paginator_url_1, text=page_1_data, status_code=200) + m.get(paginator_url_2, text=page_2_data, status_code=200) + + response_page_1 = requests.get(paginator_url_1) + response_page_1._content = str.encode(page_1_data) + response_page_2 = requests.get(paginator_url_2) + response_page_2._content = str.encode(page_2_data) + + + # Simulate getting the next page token from page 1's response + next_page_token_page_1 = paginator.next_page_token(response_page_1, []) + print("NEXT PAGE TOKEN", next_page_token_page_1) + + # Assert that the next page token indicates moving to page 2 + assert next_page_token_page_1['next_page_token'] == 2, "Failed to transition from page 1 to page 2" + + + # Check that the correct page size is used in requests and that we have the right number of pages + assert len(m.request_history) == 2 + assert "page_size=3" in m.request_history[0].url + assert "page_size=3" in m.request_history[1].url \ No newline at end of file diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/page_1.json b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/page_1.json new file mode 100644 index 0000000000000..8e567afe7c7db --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/page_1.json @@ -0,0 +1,135 @@ +{ + "transaction_details": [ + { + "transaction_info": { + "transaction_id": "2N603077GD600560F", + "transaction_event_code": "T1503", + "transaction_initiation_date": "2024-02-10T00:01:56+0000", + "transaction_updated_date": "2024-02-10T00:01:56+0000", + "transaction_amount": { + "currency_code": "USD", + "value": "-60.75" + }, + "transaction_status": "S", + "ending_balance": { + "currency_code": "USD", + "value": "2048018.30" + }, + "available_balance": { + "currency_code": "USD", + "value": "2048018.30" + }, + "protection_eligibility": "02" + }, + "payer_info": { + "address_status": "N", + "payer_name": {} + }, + "shipping_info": {}, + "cart_info": {}, + "store_info": {}, + "auction_info": {}, + "incentive_info": {} + }, + { + "transaction_info": { + "transaction_id": "0JN65120FU073310V", + "transaction_event_code": "T0001", + "transaction_initiation_date": "2024-02-10T00:01:57+0000", + "transaction_updated_date": "2024-02-10T00:01:57+0000", + "transaction_amount": { + "currency_code": "USD", + "value": "-10.00" + }, + "fee_amount": { + "currency_code": "USD", + "value": "-0.25" + }, + "transaction_status": "P", + "transaction_subject": "You have a payout!", + "transaction_note": "Thanks for your patronage!", + "ending_balance": { + "currency_code": "USD", + "value": "2048008.05" + }, + "available_balance": { + "currency_code": "USD", + "value": "2048008.05" + }, + "custom_field": "201403140001", + "protection_eligibility": "02" + }, + "payer_info": { + "email_address": "Ernesto.Witting@yahoo.com", + "address_status": "N", + "payer_name": {} + }, + "shipping_info": { + "name": "John, Merchant" + }, + "cart_info": {}, + "store_info": {}, + "auction_info": {}, + "incentive_info": {} + }, + { + "transaction_info": { + "transaction_id": "4XL46752RR472362C", + "paypal_reference_id": "0JN65120FU073310V", + "paypal_reference_id_type": "TXN", + "transaction_event_code": "T1105", + "transaction_initiation_date": "2024-02-10T00:01:57+0000", + "transaction_updated_date": "2024-02-10T00:01:57+0000", + "transaction_amount": { + "currency_code": "USD", + "value": "10.25" + }, + "transaction_status": "S", + "transaction_subject": "You have a payout!", + "transaction_note": "Thanks for your patronage!", + "ending_balance": { + "currency_code": "USD", + "value": "2048018.30" + }, + "available_balance": { + "currency_code": "USD", + "value": "2048018.30" + }, + "protection_eligibility": "02" + }, + "payer_info": { + "address_status": "N", + "payer_name": {} + }, + "shipping_info": {}, + "cart_info": {}, + "store_info": {}, + "auction_info": {}, + "incentive_info": {} + } + ], + "account_number": "C7CYMKZDG8D6E", + "start_date": "2024-02-10T00:00:00+0000", + "end_date": "2024-02-10T05:20:00+0000", + "last_refreshed_datetime": "2024-02-14T01:59:59+0000", + "page": 1, + "total_items": 352, + "total_pages": 118, + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/reporting/transactions?fields=transaction_info%2Cpayer_info%2Cshipping_info%2Cauction_info%2Ccart_info%2Cincentive_info%2Cstore_info&end_date=2024-02-10T05%3A20%3A00Z&start_date=2024-02-10T00%3A00%3A00Z&page_size=3&page=118", + "rel": "last", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/reporting/transactions?fields=transaction_info%2Cpayer_info%2Cshipping_info%2Cauction_info%2Ccart_info%2Cincentive_info%2Cstore_info&end_date=2024-02-10T05%3A20%3A00Z&start_date=2024-02-10T00%3A00%3A00Z&page_size=3&page=2", + "rel": "next", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/reporting/transactions?fields=transaction_info%2Cpayer_info%2Cshipping_info%2Cauction_info%2Ccart_info%2Cincentive_info%2Cstore_info&end_date=2024-02-10T05%3A20%3A00Z&start_date=2024-02-10T00%3A00%3A00Z&page_size=3&page=1", + "rel": "self", + "method": "GET" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/page_2.json b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/page_2.json new file mode 100644 index 0000000000000..e27274a5d72f2 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/page_2.json @@ -0,0 +1,160 @@ +{ + "transaction_details": [ + { + "transaction_info": { + "transaction_id": "794702034R094742N", + "transaction_event_code": "T0001", + "transaction_initiation_date": "2024-02-10T00:01:57+0000", + "transaction_updated_date": "2024-02-10T00:01:57+0000", + "transaction_amount": { + "currency_code": "USD", + "value": "-20.00" + }, + "fee_amount": { + "currency_code": "USD", + "value": "-0.25" + }, + "transaction_status": "P", + "transaction_subject": "You have a payout!", + "transaction_note": "Thanks for your support!", + "ending_balance": { + "currency_code": "USD", + "value": "2047998.05" + }, + "available_balance": { + "currency_code": "USD", + "value": "2047998.05" + }, + "custom_field": "201403140002", + "protection_eligibility": "02" + }, + "payer_info": { + "address_status": "N", + "payer_name": {} + }, + "shipping_info": { + "name": "John, Merchant" + }, + "cart_info": {}, + "store_info": {}, + "auction_info": {}, + "incentive_info": {} + }, + { + "transaction_info": { + "transaction_id": "74734003LC191551G", + "paypal_reference_id": "794702034R094742N", + "paypal_reference_id_type": "TXN", + "transaction_event_code": "T1105", + "transaction_initiation_date": "2024-02-10T00:01:57+0000", + "transaction_updated_date": "2024-02-10T00:01:57+0000", + "transaction_amount": { + "currency_code": "USD", + "value": "20.25" + }, + "transaction_status": "S", + "transaction_subject": "You have a payout!", + "transaction_note": "Thanks for your support!", + "ending_balance": { + "currency_code": "USD", + "value": "2048018.30" + }, + "available_balance": { + "currency_code": "USD", + "value": "2048018.30" + }, + "protection_eligibility": "02" + }, + "payer_info": { + "address_status": "N", + "payer_name": {} + }, + "shipping_info": {}, + "cart_info": {}, + "store_info": {}, + "auction_info": {}, + "incentive_info": {} + }, + { + "transaction_info": { + "paypal_account_id": "5DEJUG27PZB9J", + "transaction_id": "44R34480PG8833736", + "transaction_event_code": "T0001", + "transaction_initiation_date": "2024-02-10T00:01:57+0000", + "transaction_updated_date": "2024-02-10T00:01:57+0000", + "transaction_amount": { + "currency_code": "USD", + "value": "-30.00" + }, + "fee_amount": { + "currency_code": "USD", + "value": "-0.25" + }, + "transaction_status": "S", + "transaction_subject": "You have a payout!", + "transaction_note": "Thanks for your patronage!", + "ending_balance": { + "currency_code": "USD", + "value": "2047988.05" + }, + "available_balance": { + "currency_code": "USD", + "value": "2047988.05" + }, + "custom_field": "201403140003", + "protection_eligibility": "02" + }, + "payer_info": { + "account_id": "5DEJUG27PZB9J", + "email_address": "sb-59loi25655860@business.example.com", + "address_status": "N", + "payer_status": "N", + "payer_name": { + "alternate_full_name": "Test Store" + }, + "country_code": "US" + }, + "shipping_info": { + "name": "John, Merchant" + }, + "cart_info": {}, + "store_info": {}, + "auction_info": {}, + "incentive_info": {} + } + ], + "account_number": "C7CYMKZDG8D6E", + "start_date": "2024-02-10T00:00:00+0000", + "end_date": "2024-02-10T05:20:00+0000", + "last_refreshed_datetime": "2024-02-14T01:59:59+0000", + "page": 2, + "total_items": 352, + "total_pages": 118, + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/reporting/transactions?fields=transaction_info%2Cpayer_info%2Cshipping_info%2Cauction_info%2Ccart_info%2Cincentive_info%2Cstore_info&start_date=2024-02-10T00%3A00%3A00Z&end_date=2024-02-10T05%3A20%3A00Z&page_size=3&page=1", + "rel": "first", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/reporting/transactions?fields=transaction_info%2Cpayer_info%2Cshipping_info%2Cauction_info%2Ccart_info%2Cincentive_info%2Cstore_info&start_date=2024-02-10T00%3A00%3A00Z&end_date=2024-02-10T05%3A20%3A00Z&page_size=3&page=118", + "rel": "last", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/reporting/transactions?fields=transaction_info%2Cpayer_info%2Cshipping_info%2Cauction_info%2Ccart_info%2Cincentive_info%2Cstore_info&start_date=2024-02-10T00%3A00%3A00Z&end_date=2024-02-10T05%3A20%3A00Z&page_size=3&page=3", + "rel": "next", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/reporting/transactions?fields=transaction_info%2Cpayer_info%2Cshipping_info%2Cauction_info%2Ccart_info%2Cincentive_info%2Cstore_info&start_date=2024-02-10T00%3A00%3A00Z&end_date=2024-02-10T05%3A20%3A00Z&page_size=3&page=1", + "rel": "prev", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/reporting/transactions?fields=transaction_info%2Cpayer_info%2Cshipping_info%2Cauction_info%2Ccart_info%2Cincentive_info%2Cstore_info&start_date=2024-02-10T00%3A00%3A00Z&end_date=2024-02-10T05%3A20%3A00Z&page_size=3&page=2", + "rel": "self", + "method": "GET" + } + ] +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_PAY-0L38757939422510JMW5ZJVA.json b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_PAY-0L38757939422510JMW5ZJVA.json new file mode 100644 index 0000000000000..b0a6520defeca --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_PAY-0L38757939422510JMW5ZJVA.json @@ -0,0 +1,451 @@ +{ + "payments": [ + { + "id": "PAY-0L38757939422510JMW5ZJVA", + "intent": "authorize", + "state": "approved", + "payer": { + "payment_method": "paypal", + "status": "VERIFIED", + "payer_info": { + "email": "mihai.streza1@mi-pay.com", + "first_name": "Mihai", + "last_name": "Streza", + "payer_id": "QHD3E8SRDDSQL", + "shipping_address": { + "recipient_name": "Mihai Streza" + }, + "phone": "07534201211", + "country_code": "GB" + } + }, + "transactions": [ + { + "amount": { + "total": "20.00", + "currency": "EUR", + "details": { + "subtotal": "20.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E" + }, + "description": "topup", + "invoice_number": "100000000188897", + "soft_descriptor": "PAYPAL *JOHNMERCHAN", + "item_list": { + "items": [ + { + "name": "topup", + "price": "20.00", + "currency": "EUR", + "tax": "0.00", + "quantity": 1 + } + ], + "shipping_address": { + "recipient_name": "Mihai Streza" + } + }, + "related_resources": [ + { + "authorization": { + "id": "3S025738SW168153S", + "state": "captured", + "amount": { + "total": "20.00", + "currency": "EUR", + "details": { + "subtotal": "20.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "billing_agreement_id": "B-42217126VD515152H", + "parent_payment": "PAY-0L38757939422510JMW5ZJVA", + "valid_until": "2024-03-01T12:55:48Z", + "create_time": "2024-02-01T12:55:48Z", + "update_time": "2024-02-01T12:55:51Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S/capture", + "rel": "capture", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S/void", + "rel": "void", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S/reauthorize", + "rel": "reauthorize", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-0L38757939422510JMW5ZJVA", + "rel": "parent_payment", + "method": "GET" + } + ] + } + }, + { + "capture": { + "id": "26U95072LD470800B", + "amount": { + "total": "20.00", + "currency": "EUR" + }, + "state": "completed", + "custom": "", + "transaction_fee": { + "value": "1.39", + "currency": "EUR" + }, + "parent_payment": "PAY-0L38757939422510JMW5ZJVA", + "invoice_number": "100000000188897", + "create_time": "2024-02-01T12:55:51Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/capture/26U95072LD470800B", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/capture/26U95072LD470800B/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/3S025738SW168153S", + "rel": "authorization", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-0L38757939422510JMW5ZJVA", + "rel": "parent_payment", + "method": "GET" + } + ] + } + } + ] + } + ], + "create_time": "2024-02-01T12:55:48Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-0L38757939422510JMW5ZJVA", + "rel": "self", + "method": "GET" + } + ] + }, + { + "id": "PAY-5UU821714H9319614MW5ZGTQ", + "intent": "authorize", + "state": "approved", + "payer": { + "payment_method": "paypal", + "status": "VERIFIED", + "payer_info": { + "email": "mihai.streza1@mi-pay.com", + "first_name": "Mihai", + "last_name": "Streza", + "payer_id": "QHD3E8SRDDSQL", + "shipping_address": { + "recipient_name": "Mihai Streza" + }, + "phone": "07534201211", + "country_code": "GB" + } + }, + "transactions": [ + { + "amount": { + "total": "20.00", + "currency": "EUR", + "details": { + "subtotal": "20.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E" + }, + "description": "topup", + "invoice_number": "100000000188890", + "soft_descriptor": "PAYPAL *JOHNMERCHAN", + "item_list": { + "items": [ + { + "name": "topup", + "price": "20.00", + "currency": "EUR", + "tax": "0.00", + "quantity": 1 + } + ], + "shipping_address": { + "recipient_name": "Mihai Streza" + } + }, + "related_resources": [ + { + "authorization": { + "id": "4MN954876H428782W", + "state": "captured", + "amount": { + "total": "20.00", + "currency": "EUR", + "details": { + "subtotal": "20.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "billing_agreement_id": "B-9YM05135W51321351", + "parent_payment": "PAY-5UU821714H9319614MW5ZGTQ", + "valid_until": "2024-03-01T12:49:18Z", + "create_time": "2024-02-01T12:49:18Z", + "update_time": "2024-02-01T12:49:21Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/4MN954876H428782W", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/4MN954876H428782W/capture", + "rel": "capture", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/4MN954876H428782W/void", + "rel": "void", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/4MN954876H428782W/reauthorize", + "rel": "reauthorize", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-5UU821714H9319614MW5ZGTQ", + "rel": "parent_payment", + "method": "GET" + } + ] + } + }, + { + "capture": { + "id": "3LS31047RT411632Y", + "amount": { + "total": "20.00", + "currency": "EUR" + }, + "state": "completed", + "custom": "", + "transaction_fee": { + "value": "1.39", + "currency": "EUR" + }, + "parent_payment": "PAY-5UU821714H9319614MW5ZGTQ", + "invoice_number": "100000000188890", + "create_time": "2024-02-01T12:49:21Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/capture/3LS31047RT411632Y", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/capture/3LS31047RT411632Y/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/4MN954876H428782W", + "rel": "authorization", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-5UU821714H9319614MW5ZGTQ", + "rel": "parent_payment", + "method": "GET" + } + ] + } + } + ] + } + ], + "create_time": "2024-02-01T12:49:18Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-5UU821714H9319614MW5ZGTQ", + "rel": "self", + "method": "GET" + } + ] + }, + { + "id": "PAYID-MW5Y7VQ3XR69795B78311812", + "intent": "sale", + "state": "approved", + "cart": "21D62257BL170881B", + "payer": { + "payment_method": "paypal", + "status": "VERIFIED", + "payer_info": { + "email": "ABpaypal@gmail.com", + "first_name": "kiran", + "last_name": "ingale", + "payer_id": "MEZSMT5X3R5HW", + "shipping_address": { + "recipient_name": "kiran ingale", + "line1": "3210 D Street", + "city": "SANFORD", + "state": "CA", + "postal_code": "27331", + "country_code": "US" + }, + "phone": "3333333333", + "country_code": "US" + } + }, + "transactions": [ + { + "reference_id": "default", + "amount": { + "total": "1434.45", + "currency": "USD", + "details": { + "subtotal": "1434.45", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E", + "email": "john_merchant@example.com" + }, + "soft_descriptor": "JOHNMERCHAN JOHNMERCHAN", + "item_list": { + "shipping_address": { + "recipient_name": "kiran ingale", + "line1": "3210 D Street", + "city": "SANFORD", + "state": "CA", + "postal_code": "27331", + "country_code": "US" + } + }, + "related_resources": [ + { + "sale": { + "id": "6UA65534T65937149", + "state": "refunded", + "amount": { + "total": "1434.45", + "currency": "USD", + "details": { + "subtotal": "1434.45", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "transaction_fee": { + "value": "50.55", + "currency": "USD" + }, + "purchase_unit_reference_id": "default", + "parent_payment": "PAYID-MW5Y7VQ3XR69795B78311812", + "create_time": "2024-02-01T12:34:30Z", + "update_time": "2024-02-01T12:35:49Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/6UA65534T65937149", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/6UA65534T65937149/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5Y7VQ3XR69795B78311812", + "rel": "parent_payment", + "method": "GET" + } + ], + "soft_descriptor": "JOHNMERCHAN JOHNMERCHAN" + } + }, + { + "refund": { + "id": "9JS27953SE332473L", + "state": "completed", + "amount": { + "total": "-1434.45", + "currency": "USD" + }, + "parent_payment": "PAYID-MW5Y7VQ3XR69795B78311812", + "sale_id": "6UA65534T65937149", + "create_time": "2024-02-01T12:35:49Z", + "update_time": "2024-02-01T12:35:49Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/refund/9JS27953SE332473L", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5Y7VQ3XR69795B78311812", + "rel": "parent_payment", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/6UA65534T65937149", + "rel": "sale", + "method": "GET" + } + ] + } + } + ] + } + ], + "create_time": "2024-02-01T12:34:30Z", + "update_time": "2024-02-01T12:35:49Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5Y7VQ3XR69795B78311812", + "rel": "self", + "method": "GET" + } + ] + } + ], + "count": 3, + "next_id": "PAYID-MW5XXZY5YL87592N34454913" +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_PAYID-MW5XXZY5YL87592N34454913.json b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_PAYID-MW5XXZY5YL87592N34454913.json new file mode 100644 index 0000000000000..dfee3371b093e --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_PAYID-MW5XXZY5YL87592N34454913.json @@ -0,0 +1,391 @@ +{ + "payments": [ + { + "id": "PAYID-MW5XXZY5YL87592N34454913", + "intent": "sale", + "state": "approved", + "cart": "2P498024GJ403825S", + "payer": { + "payment_method": "paypal", + "status": "UNVERIFIED", + "payer_info": { + "email": "rahul21@yopmail.com", + "first_name": "d", + "last_name": "d", + "payer_id": "KZAHJGF7B2SBU", + "shipping_address": { + "recipient_name": "d d", + "line1": "gfd", + "line2": "gdgd", + "city": "dfgd", + "state": "CA", + "postal_code": "95388", + "country_code": "US" + }, + "phone": "8219746756", + "country_code": "US" + } + }, + "transactions": [ + { + "reference_id": "default", + "amount": { + "total": "100.00", + "currency": "USD", + "details": { + "subtotal": "100.00", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E", + "email": "john_merchant@example.com" + }, + "soft_descriptor": "PAYPAL *JOHNMERCHAN JOHNMERCHAN", + "item_list": { + "shipping_address": { + "recipient_name": "d d", + "line1": "gfd", + "line2": "gdgd", + "city": "dfgd", + "state": "CA", + "postal_code": "95388", + "country_code": "US" + } + }, + "related_resources": [ + { + "sale": { + "id": "6W206643Y5829092B", + "state": "completed", + "amount": { + "total": "100.00", + "currency": "USD", + "details": { + "subtotal": "100.00", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "transaction_fee": { + "value": "3.48", + "currency": "USD" + }, + "purchase_unit_reference_id": "default", + "receipt_id": "1732798430780793", + "parent_payment": "PAYID-MW5XXZY5YL87592N34454913", + "create_time": "2024-02-01T11:09:27Z", + "update_time": "2024-02-01T11:09:27Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/6W206643Y5829092B", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/6W206643Y5829092B/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5XXZY5YL87592N34454913", + "rel": "parent_payment", + "method": "GET" + } + ], + "soft_descriptor": "PAYPAL *JOHNMERCHAN JOHNMERCHAN" + } + } + ] + } + ], + "create_time": "2024-02-01T11:09:27Z", + "update_time": "2024-02-01T11:09:27Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5XXZY5YL87592N34454913", + "rel": "self", + "method": "GET" + } + ] + }, + { + "id": "PAYID-MW5W3EQ07B7347381105242R", + "intent": "sale", + "state": "approved", + "cart": "2FM93347R66426228", + "payer": { + "payment_method": "paypal", + "status": "UNVERIFIED", + "payer_info": { + "email": "admin@admin.com", + "first_name": "d", + "last_name": "d", + "payer_id": "N4KZ3KK4C2DFQ", + "shipping_address": { + "recipient_name": "d d", + "line1": "ytu", + "line2": "tyut", + "city": "tyut", + "state": "CA", + "postal_code": "95388", + "country_code": "US" + }, + "phone": "8219746756", + "country_code": "US" + } + }, + "transactions": [ + { + "reference_id": "default", + "amount": { + "total": "100.00", + "currency": "USD", + "details": { + "subtotal": "100.00", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E", + "email": "john_merchant@example.com" + }, + "soft_descriptor": "PAYPAL *JOHNMERCHAN JOHNMERCHAN", + "item_list": { + "shipping_address": { + "recipient_name": "d d", + "line1": "ytu", + "line2": "tyut", + "city": "tyut", + "state": "CA", + "postal_code": "95388", + "country_code": "US" + } + }, + "related_resources": [ + { + "sale": { + "id": "17C62595GV9382350", + "state": "completed", + "amount": { + "total": "100.00", + "currency": "USD", + "details": { + "subtotal": "100.00", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "transaction_fee": { + "value": "3.48", + "currency": "USD" + }, + "purchase_unit_reference_id": "default", + "receipt_id": "2958849288346255", + "parent_payment": "PAYID-MW5W3EQ07B7347381105242R", + "create_time": "2024-02-01T10:08:18Z", + "update_time": "2024-02-01T10:08:18Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/17C62595GV9382350", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/17C62595GV9382350/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5W3EQ07B7347381105242R", + "rel": "parent_payment", + "method": "GET" + } + ], + "soft_descriptor": "PAYPAL *JOHNMERCHAN JOHNMERCHAN" + } + } + ] + } + ], + "create_time": "2024-02-01T10:08:18Z", + "update_time": "2024-02-01T10:08:18Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5W3EQ07B7347381105242R", + "rel": "self", + "method": "GET" + } + ] + }, + { + "id": "PAYID-MW5WOVY25V45764MA349022Y", + "intent": "sale", + "state": "approved", + "cart": "7CP287511G6711412", + "payer": { + "payment_method": "paypal", + "status": "VERIFIED", + "payer_info": { + "email": "ABpaypal@gmail.com", + "first_name": "kiran", + "last_name": "ingale", + "payer_id": "MEZSMT5X3R5HW", + "shipping_address": { + "recipient_name": "kiran ingale", + "line1": "3210 D Street", + "city": "SANFORD", + "state": "CA", + "postal_code": "27331", + "country_code": "US" + }, + "phone": "3333333333", + "country_code": "US" + } + }, + "transactions": [ + { + "reference_id": "default", + "amount": { + "total": "1434.45", + "currency": "USD", + "details": { + "subtotal": "1434.45", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E", + "email": "john_merchant@example.com" + }, + "soft_descriptor": "JOHNMERCHAN JOHNMERCHAN", + "item_list": { + "shipping_address": { + "recipient_name": "kiran ingale", + "line1": "3210 D Street", + "city": "SANFORD", + "state": "CA", + "postal_code": "27331", + "country_code": "US" + } + }, + "related_resources": [ + { + "sale": { + "id": "5SF16542W66927019", + "state": "refunded", + "amount": { + "total": "1434.45", + "currency": "USD", + "details": { + "subtotal": "1434.45", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "transaction_fee": { + "value": "50.55", + "currency": "USD" + }, + "purchase_unit_reference_id": "default", + "parent_payment": "PAYID-MW5WOVY25V45764MA349022Y", + "create_time": "2024-02-01T09:41:44Z", + "update_time": "2024-02-01T09:45:35Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/5SF16542W66927019", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/5SF16542W66927019/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5WOVY25V45764MA349022Y", + "rel": "parent_payment", + "method": "GET" + } + ], + "soft_descriptor": "JOHNMERCHAN JOHNMERCHAN" + } + }, + { + "refund": { + "id": "4P679266N7690881N", + "state": "completed", + "amount": { + "total": "-1434.45", + "currency": "USD" + }, + "parent_payment": "PAYID-MW5WOVY25V45764MA349022Y", + "sale_id": "5SF16542W66927019", + "create_time": "2024-02-01T09:45:35Z", + "update_time": "2024-02-01T09:45:35Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/refund/4P679266N7690881N", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5WOVY25V45764MA349022Y", + "rel": "parent_payment", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/5SF16542W66927019", + "rel": "sale", + "method": "GET" + } + ] + } + } + ] + } + ], + "create_time": "2024-02-01T09:41:43Z", + "update_time": "2024-02-01T09:45:35Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW5WOVY25V45764MA349022Y", + "rel": "self", + "method": "GET" + } + ] + } + ], + "count": 3, + "next_id": "" +} diff --git a/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_page_init.json b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_page_init.json new file mode 100644 index 0000000000000..025dfc513c850 --- /dev/null +++ b/airbyte-integrations/connectors/source-paypal-transaction/unit_tests/test_files/token_page_init.json @@ -0,0 +1,399 @@ +{ + "payments": [ + { + "id": "PAYID-MW55RCA31D103955T218492B", + "intent": "sale", + "state": "approved", + "cart": "06J27273EH485262V", + "payer": { + "payment_method": "paypal", + "status": "VERIFIED", + "payer_info": { + "email": "sb-vxpcr15413769@personal.example.com", + "first_name": "John", + "last_name": "Doe", + "payer_id": "TWL7BJVYNS7GU", + "shipping_address": { + "recipient_name": "John Doe", + "line1": "1 Main St", + "city": "San Jose", + "state": "CA", + "postal_code": "95131", + "country_code": "US" + }, + "phone": "4083068029", + "country_code": "US" + } + }, + "transactions": [ + { + "reference_id": "1000000000047", + "amount": { + "total": "343.80", + "currency": "USD", + "details": { + "subtotal": "343.80", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E", + "email": "john_merchant@example.com" + }, + "item_list": { + "shipping_address": { + "recipient_name": "John Doe", + "line1": "1 Main St", + "city": "San Jose", + "state": "CA", + "postal_code": "95131", + "country_code": "US" + } + }, + "related_resources": [ + { + "sale": { + "id": "7PE037460E080360M", + "state": "completed", + "amount": { + "total": "343.80", + "currency": "USD", + "details": { + "subtotal": "343.80", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "transaction_fee": { + "value": "12.49", + "currency": "USD" + }, + "purchase_unit_reference_id": "1000000000047", + "parent_payment": "PAYID-MW55RCA31D103955T218492B", + "create_time": "2024-02-01T17:44:40Z", + "update_time": "2024-02-01T17:44:40Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/7PE037460E080360M", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/7PE037460E080360M/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW55RCA31D103955T218492B", + "rel": "parent_payment", + "method": "GET" + } + ] + } + } + ] + } + ], + "create_time": "2024-02-01T17:44:40Z", + "update_time": "2024-02-01T17:44:40Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW55RCA31D103955T218492B", + "rel": "self", + "method": "GET" + } + ] + }, + { + "id": "PAYID-MW53UPA6UB45753B0034831X", + "intent": "sale", + "state": "approved", + "cart": "9A220393SG7753433", + "payer": { + "payment_method": "paypal", + "status": "VERIFIED", + "payer_info": { + "email": "sb-g43l4x28821325@personal.example.com", + "first_name": "John", + "last_name": "Doe", + "payer_id": "889X39VDHV8QY", + "shipping_address": { + "recipient_name": "John Doe", + "line1": "Via Unit? d'Italia, 5783296", + "city": "Napoli", + "state": "Napoli", + "postal_code": "80127", + "country_code": "IT" + }, + "phone": "9393358454", + "country_code": "IT" + } + }, + "transactions": [ + { + "reference_id": "default", + "amount": { + "total": "100.00", + "currency": "USD", + "details": { + "subtotal": "100.00", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E", + "email": "john_merchant@example.com" + }, + "description": "T-Shirt", + "item_list": { + "items": [ + { + "name": "T-Shirt", + "description": "Green XL", + "price": "100.00", + "currency": "USD", + "tax": "0.00", + "quantity": 1 + } + ], + "shipping_address": { + "recipient_name": "John Doe", + "line1": "Via Unit? d'Italia, 5783296", + "city": "Napoli", + "state": "Napoli", + "postal_code": "80127", + "country_code": "IT" + } + }, + "related_resources": [ + { + "sale": { + "id": "29N28023XB153584X", + "state": "completed", + "amount": { + "total": "100.00", + "currency": "USD", + "details": { + "subtotal": "100.00", + "shipping": "0.00", + "insurance": "0.00", + "handling_fee": "0.00", + "shipping_discount": "0.00", + "discount": "0.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "transaction_fee": { + "value": "5.48", + "currency": "USD" + }, + "receivable_amount": { + "value": "100.00", + "currency": "USD" + }, + "exchange_rate": "1.098848913950027", + "purchase_unit_reference_id": "default", + "parent_payment": "PAYID-MW53UPA6UB45753B0034831X", + "create_time": "2024-02-01T15:35:25Z", + "update_time": "2024-02-01T15:35:25Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/29N28023XB153584X", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/sale/29N28023XB153584X/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW53UPA6UB45753B0034831X", + "rel": "parent_payment", + "method": "GET" + } + ] + } + } + ] + } + ], + "create_time": "2024-02-01T15:35:24Z", + "update_time": "2024-02-01T15:35:25Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-MW53UPA6UB45753B0034831X", + "rel": "self", + "method": "GET" + } + ] + }, + { + "id": "PAY-81S181868H8011217MW526OI", + "intent": "authorize", + "state": "approved", + "payer": { + "payment_method": "paypal", + "status": "VERIFIED", + "payer_info": { + "email": "mihai.streza1@mi-pay.com", + "first_name": "Mihai", + "last_name": "Streza", + "payer_id": "QHD3E8SRDDSQL", + "shipping_address": { + "recipient_name": "Mihai Streza" + }, + "phone": "07534201211", + "country_code": "GB" + } + }, + "transactions": [ + { + "amount": { + "total": "20.00", + "currency": "EUR", + "details": { + "subtotal": "20.00" + } + }, + "payee": { + "merchant_id": "C7CYMKZDG8D6E" + }, + "description": "topup", + "invoice_number": "100000000188917", + "soft_descriptor": "PAYPAL *JOHNMERCHAN", + "item_list": { + "items": [ + { + "name": "topup", + "price": "20.00", + "currency": "EUR", + "tax": "0.00", + "quantity": 1 + } + ], + "shipping_address": { + "recipient_name": "Mihai Streza" + } + }, + "related_resources": [ + { + "authorization": { + "id": "05D21713M12255848", + "state": "captured", + "amount": { + "total": "20.00", + "currency": "EUR", + "details": { + "subtotal": "20.00" + } + }, + "payment_mode": "INSTANT_TRANSFER", + "protection_eligibility": "ELIGIBLE", + "protection_eligibility_type": "ITEM_NOT_RECEIVED_ELIGIBLE,UNAUTHORIZED_PAYMENT_ELIGIBLE", + "billing_agreement_id": "B-2B029484VC167663Y", + "parent_payment": "PAY-81S181868H8011217MW526OI", + "valid_until": "2024-03-01T14:48:26Z", + "create_time": "2024-02-01T14:48:26Z", + "update_time": "2024-02-01T14:48:30Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848/capture", + "rel": "capture", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848/void", + "rel": "void", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848/reauthorize", + "rel": "reauthorize", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-81S181868H8011217MW526OI", + "rel": "parent_payment", + "method": "GET" + } + ] + } + }, + { + "capture": { + "id": "546282867R0022639", + "amount": { + "total": "20.00", + "currency": "EUR" + }, + "state": "completed", + "custom": "", + "transaction_fee": { + "value": "1.39", + "currency": "EUR" + }, + "parent_payment": "PAY-81S181868H8011217MW526OI", + "invoice_number": "100000000188917", + "create_time": "2024-02-01T14:48:30Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/capture/546282867R0022639", + "rel": "self", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/capture/546282867R0022639/refund", + "rel": "refund", + "method": "POST" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/authorization/05D21713M12255848", + "rel": "authorization", + "method": "GET" + }, + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-81S181868H8011217MW526OI", + "rel": "parent_payment", + "method": "GET" + } + ] + } + } + ] + } + ], + "create_time": "2024-02-01T14:48:25Z", + "links": [ + { + "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-81S181868H8011217MW526OI", + "rel": "self", + "method": "GET" + } + ] + } + ], + "count": 3, + "next_id": "PAY-0L38757939422510JMW5ZJVA" +} diff --git a/docs/integrations/sources/paypal-transaction.md b/docs/integrations/sources/paypal-transaction.md index 8d3cf7c61b901..1c9504f55344e 100644 --- a/docs/integrations/sources/paypal-transaction.md +++ b/docs/integrations/sources/paypal-transaction.md @@ -1,48 +1,60 @@ -# Paypal Transaction +# Paypal -This page contains the setup guide and reference information for the Paypal Transaction source connector. +This page contains the setup guide and reference information for the Paypal source connector. + +This connector uses [PayPal APIs](https://developer.paypal.com/api/rest/authentication/) OAuth 2.0 access token to authenticate requests. ## Prerequisites -The [Paypal Transaction API](https://developer.paypal.com/docs/api/transaction-search/v1/) is used to get the history of transactions for a PayPal account. +You will need a Paypal account, which you can get following [these steps](https://developer.paypal.com/docs/platforms/get-started/) + +In the same page, you will also find how to setup a Sandbox so you can test the connector before using it in production. ## Setup guide -### Step 1: Set up Paypal Transaction +### Step 1: Get your Paypal secrets + +After creating your account you will be able to get your `Client ID` and `Secret`. You can find them in your [Apps & Credentials page](https://developer.paypal.com/dashboard/applications/live). + + +### Step 2: Set up the Paypal Transaction connector in Airbyte + + +1. Log into your Airbyte account + - For Cloud [Log in here](https://cloud.airbyte.com/workspaces). + +2. In the left navigation bar, click **Sources**. + + a. If this is your first time creating a source, use the search bar and enter **Paypal Transaction** and select it. + + b. If you already have sources configured, go to the top-right corner and click **+new source**. Then enter **Paypal Transaction** in the searech bar and select the connector. + +3. Set the name for your source +4. Enter your `Client ID` +5. Enter your `Client secret` +6. `Start Date`: Use the provided datepicker or enter manually a UTC date and time in the format `YYYY-MM-DDTHH:MM:SSZ`. +7. Switch ON/Off the Sandbox toggle. By defaukt the toggle is OFF, meaning it work only in a produciton environment. +8. _(Optional) `Dispute Start Date Range`: Use the provided datepicker or enter manually a UTC date and time in the format `YYYY-MM-DDTHH:MM:SS.sssZ`. + - If you don't add a date and you sync the `lists_disputes stream`, it will use the default value of 180 days in the past to retrieve data + - It is mandatory to add the milliseconds is you enter a datetime. + - This option only works for `lists_disputes stream` -In order to get an `Client ID` and `Secret` please go to [this](https://developer.paypal.com/docs/platforms/get-started/) page and follow the instructions. After registration you may find your `Client ID` and `Secret` [here](https://developer.paypal.com/developer/accounts/). +9. _(Optional)`Refresh Token`:_ You can enter manually a refresh token. Right now the stream does this automatically. +10. _(Optional)`Number of days per request`:_ You can specify the days used by the connector when requesting data from the Paypal API. This helps in cases when you have a rate limit and you want to lower the window of retrieving data. + - Paypal has a 10K record limit per request. This option is useful if your sync is every week and you have more than 10K per week + - The default value is 7 + - This Max value you can enter is 31 days + +11. Click **Set up source** -:::note +:::info -Our Paypal Transactions Source Connector does not support OAuth at this time due to limitations outside of our control. If OAuth for Paypal Transactions is critical to your business, [please reach out to us](mailto:product@airbyte.io) to discuss how we may be able to partner on this effort. +By default, syncs are run with a slice period of 7 days. If you see errors with the message `Result set size is greater than the maximum limit` or an error code like `RESULTSET_TOO_LARGE`: + +- Try lower the the size of the slice period in your optional parameters in your connection configuration. +- You can try to lower the scheduling sync window in case a day slice period is not enough. Lowering the sync period it may help avoid reaching the 10K limit. ::: -## Step 2: Set up the Paypal Transaction connector in Airbyte - - -**For Airbyte Cloud:** - -1. [Log into your Airbyte Cloud](https://cloud.airbyte.com/workspaces) account. -2. In the left navigation bar, click **Sources**. In the top-right corner, click **+new source**. -3. On the Set up the source page, enter the name for the Paypal Transaction connector and select **Paypal Transaction** from the Source type dropdown. -4. Enter your client id -5. Enter your secret -6. Choose if your account is sandbox -7. Enter the date you want your sync to start from -8. Click **Set up source**. - - - -**For Airbyte Open Source:** - -1. Navigate to the Airbyte Open Source dashboard -2. Set the name for your source -3. Enter your client id -4. Enter your secret -5. Choose if your account is sandbox -6. Enter the date you want your sync to start from -7. Click **Set up source** - ## Supported sync modes @@ -54,25 +66,204 @@ The PayPal Transaction source connector supports the following [sync modes](http | Incremental - Append Sync | Yes | | Namespaces | No | + ## Supported Streams This Source is capable of syncing the following core Streams: * [Transactions](https://developer.paypal.com/docs/api/transaction-search/v1/#transactions) * [Balances](https://developer.paypal.com/docs/api/transaction-search/v1/#balances) +* [List Products](https://developer.paypal.com/docs/api/catalog-products/v1/#products_list) +* [Show Product Details](https://developer.paypal.com/docs/api/catalog-products/v1/#products_get) +* [List Disputes](https://developer.paypal.com/docs/api/customer-disputes/v1/#disputes_list) +* [Search Invoices](https://developer.paypal.com/docs/api/invoicing/v2/#invoices_search-invoices) +* [List Payments](https://developer.paypal.com/docs/api/payments/v1/#payment_list) + + +### Transactions Stream + +The below table contains the configuraiton parameters available for this connector and the default values and available features + +| **Param/Feature** | `Transactions` | +| :-------------------------- | :------------------------ | +| `Start Date` | Timestamp with TZ (no ms) | +| `Dispute Start Date Range` | NA | +| `Refresh token` | Auto | +| `Number of days per request`| Max 31 , 7(D) | +| `Pagination Strategy` | Page Increment | +| `Page size ` | Max 500 (F) | +| `Full Refresh` | :white_check_mark: | +| `Incremental` | :white_check_mark: (D) | + +**D:** Default configured Value + +**F:** Fixed Value. This means it is not configurable. + +___ + +### Balances Stream + +The below table contains the configuraiton parameters available for this connector and the default values and available features + +| **Param/Feature** |`Balances` | +| :-------------------------- |:------------------------ | +| `Start Date` |Timestamp with TZ (no ms) | +| `Dispute Start Date Range` |NA | +| `Refresh token` |Auto | +| `Number of days per request`|NA | +| `Pagination Strategy` |NA | +| `Page size ` |NA | +| `Full Refresh` |:white_check_mark: | +| `Incremental` |:white_check_mark: (D) | + +**D:** Default configured Value + +**F:** Fixed Value. This means it is not configurable. + +___ + + +### List Products Stream + +The below table contains the configuraiton parameters available for this connector and the default values and available features + + +| **Param/Feature** |`List Products` | +| :-------------------------- |:------------------------ | +| `Start Date` |NA | +| `Dispute Start Date Range` |NA | +| `Refresh token` |Auto | +| `Number of days per request`|NA | +| `Pagination Strategy` |Page Increment | +| `Page size ` |Max 20 (F) | +| `Full Refresh` |:white_check_mark: (D) | +| `Incremental` |:x: | + +**D:** Default configured Value + +**F:** Fixed Value. This means it is not configurable. + +:::caution + +When configuring your stream take in consideration that the way the API works limits the speed on retreiving data. In some cases a +30K catalog retrieval could take between 10-15 minutes. + +::: + +___ + +### Show Products Stream -## Performance considerations +The below table contains the configuraiton parameters available for this connector and the default values and available features -Paypal transaction API has some [limits](https://developer.paypal.com/docs/integration/direct/transaction-search/) +| **Param/Feature** |`Show Prod. Details` | +| :-------------------------- |:------------------------ | +| `Start Date` |NA | +| `Dispute Start Date Range` |NA | +| `Refresh token` |Auto | +| `Number of days per request`|NA | +| `Pagination Strategy` |NA | +| `Page size ` |NA | +| `Full Refresh` |:white_check_mark: (D) | +| `Incremental` |:x: | + +**D:** Default configured Value + +**F:** Fixed Value. This means it is not configurable. + + +:::caution + +When configuring this stream consider that the parent stream paginates with 20 number of items (Max alowed page size). The Paypal API calls are not concurrent, so the time it takes depends entirely on the server side. +This stream could take a considerable time syncing, so you should consider running the sync of this and the parent stream (`list_products`) at the end of the day. +Depending on the size of the catalog it could take several hours to sync. + +::: + +___ + +### List Disputes Stream + +The below table contains the configuraiton parameters available for this connector and the default values and available features + +| **Param/Feature** |`List Disputes` | +| :-------------------------- |:------------------------ | +| `Start Date` |NA | +| `Dispute Start Date Range` |Timestamp with TZ (w/ms) | +| `Refresh token` |Auto | +| `Number of days per request`|Max 180 , 7(D) | +| `Pagination Strategy` |Page Token | +| `Page size ` |Max 50 (F) | +| `Full Refresh` |:white_check_mark: | +| `Incremental` |:white_check_mark: (D) | + +**D:** Default configured Value + +**F:** Fixed Value. This means it is not configurable. + +___ + +### Search Invoices Stream + +The below table contains the configuraiton parameters available for this connector and the default values and available features + +| **Param/Feature** |`Search Invoices` | +| :-------------------------- |:------------------------ | +| `Start Date` |Timestamp with TZ (no ms) | +| `Dispute Start Date Range` |NA | +| `Refresh token` |Auto | +| `Number of days per request`|ND | +| `Pagination Strategy` |Page Number | +| `Page size ` |Max 100 (F) | +| `Full Refresh` |:white_check_mark: (D) | +| `Incremental` |:x: | + +**D:** Default configured Value + +**F:** Fixed Value. This means it is not configurable. + +**ND:** Not Defined in the source. + + +:::info + +The `start_end` from the configuration, is passed to the body of the request and uses the `creation_date_range.start` and `creation_date_range.end`. More information in the [Paypal Developer API documentation](https://developer.paypal.com/docs/api/invoicing/v2/#invoices_search-invoices). + +::: + + +___ + +### List Payments Stream + +The below table contains the configuraiton parameters available for this connector and the default values and available features. + +| **Param/Feature** |`List Payments` | +| :-------------------------- |:------------------------ | +| `Start Date` |Timestamp with TZ (no ms) | +| `Dispute Start Date Range` |NA | +| `Refresh token` |Auto | +| `Number of days per request`|NA , 7(D) | +| `Pagination Strategy` |Page Cursor | +| `Page size ` |Max 20 (F) | +| `Full Refresh` |:white_check_mark: | +| `Incremental` |:white_check_mark: (D) | + +**D:** Default configured Value + +**F:** Fixed Value. This means it is not configurable. + +___ + +## Performance Considerations + +* **Data Availability:** It takes a maximum of 3 hours for executed transactions to appear in the list transactions call. +* **Number of days per request:** The maximum supported date range is 31 days. +* **Historical Data:** You can't retrieve more than 3yrs of data for the `transactions` stream. For `dispute_start_date` you can only retrieve 180 days of data (see specifications per stream) +* `records_per_request`: The maximum number of records in a single request are 10K (API Server restriction) +* `page_size`: The maximum page size is 500. This has been configured by default. +* `requests_per_minute` = The maximum limit is 50 requests per minute from IP address to all endpoint (API Server restriction). -* `start_date_min` = 3 years, API call lists transaction for the previous three years. -* `start_date_max` = 1.5 days, it takes a maximum of three hours for executed transactions to appear in the list transactions call. It is set to 1.5 days by default based on experience, otherwise API throw an error. -* `stream_slice_period` = 7 day, the maximum supported date range is 31 days. -* `records_per_request` = 10000, the maximum number of records in a single request. -* `page_size` = 500, the maximum page size is 500. -* `requests_per_minute` = 30, maximum limit is 50 requests per minute from IP address to all endpoint -By default, syncs are performed with a slice period of 7 days. If you see errors with the message `Result set size is greater than the maximum limit. Change the filter criteria and try again.`, lower the size of the slice period in your connection configuration. ## Data type map @@ -83,15 +274,17 @@ By default, syncs are performed with a slice period of 7 days. If you see errors | `array` | `array` | | `object` | `object` | + ## Changelog | Version | Date | Pull Request | Subject | -| :------ | :--------- | :------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- | -| 2.2.2 | 2024-02-09 | [35075](https://github.com/airbytehq/airbyte/pull/35075) | Manage dependencies with Poetry. | -| 2.2.1 | 2024-01-11 | [34155](https://github.com/airbytehq/airbyte/pull/34155) | prepare for airbyte-lib | -| 2.2.0 | 2023-10-25 | [31852](https://github.com/airbytehq/airbyte/pull/31852) | The size of the time_window can be configured | -| 2.1.2 | 2023-10-23 | [31759](https://github.com/airbytehq/airbyte/pull/31759) | Keep transaction_id as a string and fetch data in 7-day batches | -| 2.1.1 | 2023-10-19 | [31599](https://github.com/airbytehq/airbyte/pull/31599) | Base image migration: remove Dockerfile and use the python-connector-base image | +|:--------|:-----------|:---------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------| +| 2.3.0 | 2024-02-014 | [34510](https://github.com/airbytehq/airbyte/pull/34510) | Silver certified. New Streams Added | +| 2.2.2 | 2024-02-09 | [35075](https://github.com/airbytehq/airbyte/pull/35075) | Manage dependencies with Poetry. +| 2.2.1 | 2024-01-11 | [34155](https://github.com/airbytehq/airbyte/pull/34155) | prepare for airbyte-lib | +| 2.2.0 | 2023-10-25 | [31852](https://github.com/airbytehq/airbyte/pull/31852) | The size of the time_window can be configured | +| 2.1.2 | 2023-10-23 | [31759](https://github.com/airbytehq/airbyte/pull/31759) | Keep transaction_id as a string and fetch data in 7-day batches +| 2.1.1 | 2023-10-19 | [31599](https://github.com/airbytehq/airbyte/pull/31599) | Base image migration: remove Dockerfile and use the python-connector-base image | | 2.1.0 | 2023-08-14 | [29223](https://github.com/airbytehq/airbyte/pull/29223) | Migrate Python CDK to Low Code schema | | 2.0.0 | 2023-07-05 | [27916](https://github.com/airbytehq/airbyte/pull/27916) | Update `Balances` schema | | 1.0.0 | 2023-07-03 | [27968](https://github.com/airbytehq/airbyte/pull/27968) | mark `Client ID` and `Client Secret` as required fields |