{"id":24746610,"url":"https://github.com/samuelmarks/python-pin","last_synced_at":"2025-03-23T01:23:29.114Z","repository":{"id":28993946,"uuid":"32520748","full_name":"SamuelMarks/python-pin","owner":"SamuelMarks","description":"Python API to integrate with PIN Payment API","archived":false,"fork":false,"pushed_at":"2015-04-07T05:44:29.000Z","size":152,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-28T04:32:00.366Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SamuelMarks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-19T12:46:57.000Z","updated_at":"2015-04-07T05:44:29.000Z","dependencies_parsed_at":"2022-08-02T17:15:51.918Z","dependency_job_id":null,"html_url":"https://github.com/SamuelMarks/python-pin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelMarks%2Fpython-pin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelMarks%2Fpython-pin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelMarks%2Fpython-pin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelMarks%2Fpython-pin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamuelMarks","download_url":"https://codeload.github.com/SamuelMarks/python-pin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245042146,"owners_count":20551525,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-28T04:29:36.924Z","updated_at":"2025-03-23T01:23:29.074Z","avatar_url":"https://github.com/SamuelMarks.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"python-pin\n==========\n\n## Setup\n\nEnvironment variable needs to be setup:\n\n    PIN_TEST_SECRET_KEY\n    PIN_TEST_KEY\n    PIN_PROD_SECRET_KEY\n    PIN_PROD_KEY\n    PIN_TIER\n\nWhere `PIN_TIER` is set to `test` or `prod`.\n\n## Dependency resolution\n\n    pip install -r requirements.txt\n\n## Test suite\n\nI use [setuptools](https://pythonhosted.org/setuptools) and [unittest](https://docs.python.org/2/library/unittest.html):\n\n    python setup.py test\n\n## Example usage\n\n    from python_pin.request_wrapper import req as pin_api\n\n    \n    pin_api('charges')  # GET is default method\n    pin_api(method='POST', path='charges', data={'amount': 400,'currency': 'USD',\n                                                 'description': 'test charge',\n                                                 'email': 'roland@pin.net.au',\n                                                 'ip_address': '203.192.1.172',\n                                                 'card': {'number': 5520000000000000,\n                                                          'expiry_month': '05',\n                                                          'expiry_year': 2016,\n                                                          'cvc': 123,\n                                                          'name': 'Roland Robot',\n                                                          'address_line1': '42 Sevenoaks St',\n                                                          'address_line2': '',\n                                                          'address_city': 'Lathlain',\n                                                          'address_postcode': 6454,\n                                                          'address_state': 'WA',\n                                                          'address_country': 'AU'}\n                                                 })\n\n## Roadmap\n\nCurrently this API just exposes a simple wrapper over [python-requests](http://docs.python-requests.org).\n\nIf I get the chance, will: code-generate classes for a cleaner, more expressive, documented and code-completable interface.\n\n## Known bugs\n\nPOST method on charges fails even when given exact same data payload as [example `curl` command](https://pin.net.au/docs/api/charges#post-charges).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelmarks%2Fpython-pin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuelmarks%2Fpython-pin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelmarks%2Fpython-pin/lists"}