{"id":15559649,"url":"https://github.com/youknowone/itunes-iap","last_synced_at":"2025-04-05T15:05:34.160Z","repository":{"id":6308054,"uuid":"7542873","full_name":"youknowone/itunes-iap","owner":"youknowone","description":"Apple iTunes In-app purchase verification tool","archived":false,"fork":false,"pushed_at":"2022-06-05T05:06:11.000Z","size":184,"stargazers_count":136,"open_issues_count":5,"forks_count":50,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-04-29T13:02:39.360Z","etag":null,"topics":["itunes","pypi","python"],"latest_commit_sha":null,"homepage":"http://itunes-iap.readthedocs.io","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/youknowone.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-01-10T15:02:42.000Z","updated_at":"2024-01-19T23:36:12.000Z","dependencies_parsed_at":"2022-09-13T00:11:38.310Z","dependency_job_id":null,"html_url":"https://github.com/youknowone/itunes-iap","commit_stats":null,"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youknowone%2Fitunes-iap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youknowone%2Fitunes-iap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youknowone%2Fitunes-iap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/youknowone%2Fitunes-iap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/youknowone","download_url":"https://codeload.github.com/youknowone/itunes-iap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247353731,"owners_count":20925329,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["itunes","pypi","python"],"created_at":"2024-10-02T15:54:45.734Z","updated_at":"2025-04-05T15:05:34.140Z","avatar_url":"https://github.com/youknowone.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"itunes-iap v2\n~~~~~~~~~~~~~\n\nPython 2 \u0026 3 compatible! Even with :mod:`asyncio` support!\n\n.. image:: https://travis-ci.org/youknowone/itunes-iap.svg?branch=master\n    :target: https://travis-ci.org/youknowone/itunes-iap\n.. image:: https://coveralls.io/repos/github/youknowone/itunes-iap/badge.svg?branch=master\n    :target: https://coveralls.io/github/youknowone/itunes-iap?branch=master\n\n- Source code: `\u003chttps://github.com/youknowone/itunes-iap\u003e`_\n- Documentation: `\u003chttp://itunes-iap.readthedocs.io/\u003e`_\n- Distribution: `\u003chttps://pypi.python.org/pypi/itunes-iap/\u003e`_\n\n\nQuickstart\n----------\n\nCreate request to create a request to itunes verifying api.\n\n.. sourcecode:: python\n\n   \u003e\u003e\u003e import itunesiap\n   \u003e\u003e\u003e try:\n   \u003e\u003e\u003e     response = itunesiap.verify(raw_data)  # base64-encoded data\n   \u003e\u003e\u003e except itunesiap.exc.InvalidReceipt as e:\n   \u003e\u003e\u003e     print('invalid receipt')\n   \u003e\u003e\u003e print response.receipt.last_in_app.product_id  # other values are also available as property!\n\nThe common attributes are:\n    `product_id`, `original_transaction_id` and `quantity`.\n\nSee the full document in:\n    - :func:`itunesiap.verify`: The verifying function.\n    - :class:`itunesiap.receipt.Receipt`: The receipt object.\n\n\nasyncio\n-------\n\n.. sourcecode:: python\n\n   \u003e\u003e\u003e import itunesiap\n   \u003e\u003e\u003e response = await itunesiap.aioverify(raw_data)  # verify -\u003e aioverify\n\nThe other parts are the same.\n\nSee the full document in:\n    - :func:`itunesiap.aioverify`: The verifying function.\n\n\nInstallation\n------------\n\nPyPI is the recommended way.\n\n.. sourcecode:: shell\n\n    $ pip install itunes-iap\n\nTo browse versions and tarballs, visit:\n    `\u003chttps://pypi.python.org/pypi/itunes-iap/\u003e`_\n\n\nApple in-review mode\n--------------------\n\nIn review mode, your actual users who use older versions want to verify in\nproduction server but the reviewers in Apple office want to verify in sandbox\nserver.\n\nNote: The default env is `production` mode which doesn't allow any sandbox\nverifications.\n\nYou can change the verifying mode by specifying `env`.\n\n.. sourcecode:: python\n\n    \u003e\u003e\u003e # review mode\n    \u003e\u003e\u003e itunesiap.verify(raw_data, env=itunesiap.env.review)\n\n\nNote for v1 users\n-----------------\n\nThere was breaking changes between v1 and v2 APIs.\n\n- Specify version `0.6.6` for latest v1 API when you don't need new APIs.\n- Or use `import itunesiap.legacy as itunesiap` instead of `import itunesiap`. (`from itunesiap import xxx` to `from itunesiap.legacy import xxx`)\n\n\nContributors\n------------\n\nSee https://github.com/youknowone/itunes-iap/graphs/contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyouknowone%2Fitunes-iap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyouknowone%2Fitunes-iap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyouknowone%2Fitunes-iap/lists"}