{ "info": { "author": "Alon Diamant", "author_email": "alon@mayple.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# bluesnap\n\n[![PyPI version](https://badge.fury.io/py/bluesnap.svg)](https://badge.fury.io/py/bluesnap)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/bluesnap.svg)](https://pypi.python.org/pypi/bluesnap/)\n[![Build Status](https://travis-ci.com/mayple/bluesnap.svg?branch=master)](https://travis-ci.com/mayple/bluesnap)\n\n> A Python 3 module to interact with the Bluesnap API.\n\nDeveloped in [Mayple](https://www.mayple.com).\n\n## Install\n\n```sh\npip install bluesnap\n```\n\n## Example\n\n```python\nimport logging\nimport math\nimport random\n\nimport bluesnap\nfrom bluesnap.resources import PaymentFieldsTokenResource, VaultedShopperResource, TransactionResource, \\\n TransactionMetadata, VaultedShopperInfo, ShippingContactInfo, TransactionFraudInfo, BillingContactInfo, Level3Data, \\\n Level3DataItem\n\nlogging.basicConfig()\n\nclient = \\\n bluesnap.client.configure(\n # Or use \"live\"\n env=\"sandbox\",\n # Get credentials from BlueSnap\n username=\"...\",\n password=\"...\",\n # Default store Id\n default_store_id=\"...\",\n # Seller id\n seller_id='...',\n # Default currency\n default_currency=\"usd\",\n # Locale\n locale='en',\n # Logger\n logger=logging.root\n )\n\nprint(client.endpoint_url)\nprint(bluesnap.client.default_user_agent())\nprint(client.currency)\nprint(client.store_id)\n\npaymentFieldsTokenResource = PaymentFieldsTokenResource()\nvaultedShopperResource = VaultedShopperResource()\ntransactionResource = TransactionResource()\n\n# Create a token\n# --------------\n\ntokenId = paymentFieldsTokenResource.create()\nprint(tokenId)\n\n# Use it in your frontend: https://developers.bluesnap.com/docs/build-a-form\ninput('Press enter to continue...')\n\n# Create vaulted shopper\n# ----------------------\n\nbillingContactInfo = BillingContactInfo(\n firstName=\"Credit Card\",\n lastName=\"Owner\",\n personalIdentificationNumber=\"1234123123\",\n address1=\"5 Somewhere\",\n city=\"Tel Aviv\",\n country=\"il\",\n zip=\"123456\"\n)\n\nshippingContactInfo = ShippingContactInfo(\n firstName=\"Package\",\n lastName=\"Receiver\",\n address1=\"18 Otherplace\",\n city=\"Ramat Gan\",\n country=\"il\",\n zip=\"123123\"\n)\n\ntransactionFraudInfo = TransactionFraudInfo(\n # Have a look here: https://developers.bluesnap.com/docs/fraud-prevention#section-device-data-checks\n fraudSessionId=\"12345678123456781234567812345678\",\n shippingContactInfo=shippingContactInfo,\n)\n\nvaultedShopperInfo = VaultedShopperInfo(\n firstName=\"Customer Name\",\n lastName=\"for Invoicing\",\n companyName=\"Company LTD\",\n personalIdentificationNumber=\"123123123\",\n shopperCurrency=\"USD\",\n softDescriptor=\"AppearInCreditCard\",\n descriptorPhoneNumber=\"+972-1231-123123\",\n merchantShopperId=\"12345\",\n address=\"More Place 4\",\n city=\"Givatayim\",\n country=\"IL\",\n zip=\"123123\",\n email=\"customer@email.com\",\n phone=\"+972-123123123\",\n shippingContactInfo=shippingContactInfo,\n transactionFraudInfo=transactionFraudInfo,\n)\n\nvaultedShopper = vaultedShopperResource.createFromPaymentFieldsToken(\n vaultedShopperInfo=vaultedShopperInfo,\n paymentFieldsTokenId=tokenId,\n billingContactInfo=billingContactInfo\n)\nprint(vaultedShopper)\nvaultedShopperId = vaultedShopper['vaultedShopperId']\n\n# Retrieve again, if you want\nexistingVaultedShopper = vaultedShopperResource.retrieve('22823473')\nprint(existingVaultedShopper)\n\n# Validate credit card set to shopper\n# -----------------------------------\n\n# Validate the vaulted shopper\nvalidatingTransaction = transactionResource.auth(\n vaultedShopperId=vaultedShopperId,\n amount='0',\n currency='USD',\n)\nprint(validatingTransaction)\nvaultedShopperIsValid = validatingTransaction['processingInfo']['processingStatus'] == 'success'\nprint(\"vaultedShopperIsValid:\", vaultedShopperIsValid)\n\n# Create a transaction\n# --------------------\n\namount = random.randint(100, 10000)\nshippingRate = 0.08\nstateTaxRate = 0.17\nshippingAmount = math.ceil(float(amount) * shippingRate)\nstateTaxAmount = math.ceil(float(amount) * stateTaxRate)\ntotal = amount + shippingAmount + stateTaxAmount\n\namount = float(amount) / 100.0\nshippingAmount = float(shippingAmount) / 100.0\nstateTaxAmount = float(stateTaxAmount) / 100.0\ntotal = float(total) / 100.0\n\nlevel3Data = Level3Data(\n customerReferenceNumber=\"12345234234\",\n salesTaxAmount=str(stateTaxRate),\n freightAmount=str(shippingAmount),\n dutyAmount=\"0\",\n level3DataItems=[\n Level3DataItem(\n description=\"Item description\",\n lineItemTotal=str(amount),\n commodityCode=\"96345345\",\n grossNetIndicator=\"N\",\n productCode=\"123123123123\",\n itemQuantity=\"1\",\n unitCost=\"1\",\n unitOfMeasure=\"USD\"\n )\n ]\n)\n\nnewTransaction = transactionResource.authCapture(\n vaultedShopperId=22823473,\n amount=total,\n currency='USD',\n level3Data=level3Data,\n transactionMetadataObjectList=[\n TransactionMetadata(value=f'{amount}', key='amount', description='Amount'),\n TransactionMetadata(value=f'{shippingAmount}', key='shippingAmount', description='Shipping Amount'),\n TransactionMetadata(value=f'{stateTaxAmount}', key='stateTaxAmount', description='State Tax Amount')\n ]\n)\nprint(newTransaction)\n\n# Retrieve a transaction\nnewlyCreatedTransaction = transactionResource.retrieve(newTransaction['transactionId'])\nprint(newlyCreatedTransaction)\n\n# Is it valid?\nnewlyCreatedTransactionIsValid = (newlyCreatedTransactionTransaction['processing-info']['processing-status'] == 'SUCCESS')\nprint(newlyCreatedTransactionIsValid)\n```\n\n## Related projects\n\nYou might also be interested in these projects:\n\n* [python-bluesnap](https://github.com/justyoyo/bluesnap-python): This project was forked from it, but adds Python 3 support and includes new support for Standard JSON API resources.\n\n## Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](https://github.com/mayple/bluesnap/issues/new).\n\nInstall with:\n```sh\n$ virtualenv .venv -p python3\n$ . .venv/bin/activate\n(.venv) $ pip install -r requirements.txt\n```\nand run the tests with:\n```sh\n(.venv) $ pip install -r tests/requirements.txt\n(.venv) $ nosetests tests/\n```\n\n## Author\n\n**Alon Diamant (advance512)**\n\n* [github/advance512](https://github.com/advance512)\n* [Homepage](http://www.alondiamant.com)\n\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mayple/bluesnap", "keywords": "", "license": "LICENSE", "maintainer": "", "maintainer_email": "", "name": "bluesnap", "package_url": "https://pypi.org/project/bluesnap/", "platform": "", "project_url": "https://pypi.org/project/bluesnap/", "project_urls": { "Homepage": "https://github.com/mayple/bluesnap" }, "release_url": "https://pypi.org/project/bluesnap/1.2019.9.1/", "requires_dist": [ "certifi (==2018.4.16)", "chardet (==3.0.4)", "idna (==2.7)", "lxml (==4.2.3)", "requests (>=2.22.0)", "urllib3 (>=1.25.3)", "xmltodict (>=0.11.0)" ], "requires_python": "", "summary": "A Python 3 module to interact with the Bluesnap API.", "version": "1.2019.9.1" }, "last_serial": 5766948, "releases": { "1.2018.7.26": [ { "comment_text": "", "digests": { "md5": "fef515cbad5cbb0fce7083817ba4d38d", "sha256": "04b92db4b5ccf2d73c776441ebc4f81357f0b78abf2a25fdfe22fff487a413b7" }, "downloads": -1, "filename": "bluesnap-1.2018.7.26-py3-none-any.whl", "has_sig": false, "md5_digest": "fef515cbad5cbb0fce7083817ba4d38d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 23937, "upload_time": "2018-07-26T17:57:44", "url": "https://files.pythonhosted.org/packages/5b/26/ed013bfbdcce336c871b5bfb5641afaff33c237e84c85836d00d4dab71ca/bluesnap-1.2018.7.26-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74aa2f3b2ad28233df9fb98e6c8dfb22", "sha256": "2b01477729bb551f0fe1d6ee4c61d4e049bc2b27427cf266e6bb09f590b52935" }, "downloads": -1, "filename": "bluesnap-1.2018.7.26.tar.gz", "has_sig": false, "md5_digest": "74aa2f3b2ad28233df9fb98e6c8dfb22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23850, "upload_time": "2018-07-26T17:57:45", "url": "https://files.pythonhosted.org/packages/e1/5e/301c5a9ac71e8ae43a8ca6c922ce5fc60732c2bf77633f67f2523d5c9247/bluesnap-1.2018.7.26.tar.gz" } ], "1.2018.7.29": [ { "comment_text": "", "digests": { "md5": "09cf542170729822ead7278b6c409d79", "sha256": "20201891ee4ccd3732dbb22d4790c9133a8df891f0a876f4d5d9ed662719ac9d" }, "downloads": -1, "filename": "bluesnap-1.2018.7.29-py3-none-any.whl", "has_sig": false, "md5_digest": "09cf542170729822ead7278b6c409d79", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27455, "upload_time": "2018-07-29T16:59:05", "url": "https://files.pythonhosted.org/packages/27/e8/cbaa8ffc6cfe3f2858a06367a2d34496dd6f70a5b757ff1730363f1f90da/bluesnap-1.2018.7.29-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5b32969d2f2980d6cbe557f8fb014ba", "sha256": "cd3b620c24b9ae4afe2f131b1f70055074411448bb0e637f987c91fadcc58ec3" }, "downloads": -1, "filename": "bluesnap-1.2018.7.29.tar.gz", "has_sig": false, "md5_digest": "c5b32969d2f2980d6cbe557f8fb014ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28805, "upload_time": "2018-07-29T16:59:07", "url": "https://files.pythonhosted.org/packages/24/dc/3422e49b51887239672d030d440721f6f6b1f674b93597b9067ab239ac71/bluesnap-1.2018.7.29.tar.gz" } ], "1.2018.9.13": [ { "comment_text": "", "digests": { "md5": "f727cd661930da51cea4ed8c1e85a453", "sha256": "25c17be0fb09fd8d6a729e6eda5b4809553cf32f3855f2a02cde02f274ea216d" }, "downloads": -1, "filename": "bluesnap-1.2018.9.13-py3-none-any.whl", "has_sig": false, "md5_digest": "f727cd661930da51cea4ed8c1e85a453", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28588, "upload_time": "2018-09-13T15:18:56", "url": "https://files.pythonhosted.org/packages/09/ba/41676a8789db6de968abbd7721630d64504c5b1eb24a4b168f325d366b7b/bluesnap-1.2018.9.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "978f3aae833b906d9a93af7ea6f41984", "sha256": "5714b4a942c2d3f547e28a833b199e3146054992848152f827654f6c81f94cd3" }, "downloads": -1, "filename": "bluesnap-1.2018.9.13.tar.gz", "has_sig": false, "md5_digest": "978f3aae833b906d9a93af7ea6f41984", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29958, "upload_time": "2018-09-13T15:19:01", "url": "https://files.pythonhosted.org/packages/ab/1a/c7c3443914acc2184ce3d991528f6e170b4823370ed82f74076206259c94/bluesnap-1.2018.9.13.tar.gz" } ], "1.2018.9.4": [ { "comment_text": "", "digests": { "md5": "760834814402bfa0f78076cc011dd578", "sha256": "0ac0cab00f216428766232921dd5e706bdde06d551f9202f732901d26a7cc0a5" }, "downloads": -1, "filename": "bluesnap-1.2018.9.4-py3-none-any.whl", "has_sig": false, "md5_digest": "760834814402bfa0f78076cc011dd578", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 27681, "upload_time": "2018-09-04T14:54:42", "url": "https://files.pythonhosted.org/packages/ec/fe/b3ca6d15128a3e89185968f87ac30f7d6b1f3341685d9b07c17395f86dda/bluesnap-1.2018.9.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2fc1bff9989e3b5e90010912ce30508", "sha256": "d2f1c3ae2944aa5adf018929e943f28a6cd79f833e35dbf91a75f6087d080490" }, "downloads": -1, "filename": "bluesnap-1.2018.9.4.tar.gz", "has_sig": false, "md5_digest": "a2fc1bff9989e3b5e90010912ce30508", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29044, "upload_time": "2018-09-04T14:54:45", "url": "https://files.pythonhosted.org/packages/90/17/6a590b607d13c4ca66d07f4e8da721bd15913d902dc7b7aefd8322c6c078/bluesnap-1.2018.9.4.tar.gz" } ], "1.2018.9.6": [ { "comment_text": "", "digests": { "md5": "ebc01217c7e0bc8ad1d1027c92d90039", "sha256": "02186ca0e9c41f20c362d26d80975386c9adb8c5298029878c7aab1305ed91ee" }, "downloads": -1, "filename": "bluesnap-1.2018.9.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ebc01217c7e0bc8ad1d1027c92d90039", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28135, "upload_time": "2018-09-05T23:01:52", "url": "https://files.pythonhosted.org/packages/e1/53/184b5c3d3b0037b8ed94d76ee5c7f4b0da20cdd2dd9075872ef66228fb57/bluesnap-1.2018.9.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ee66fbd1e0757a8f378c6ba374d9162", "sha256": "613318650c9b453100b1cd1ded8b23b0f1b9cfb52045a955cdf929aa49606f47" }, "downloads": -1, "filename": "bluesnap-1.2018.9.6.tar.gz", "has_sig": false, "md5_digest": "8ee66fbd1e0757a8f378c6ba374d9162", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29472, "upload_time": "2018-09-05T23:01:56", "url": "https://files.pythonhosted.org/packages/f5/9c/d72cad1e8d314ebb97e405e325c4e1a9890eeb38719ece6206b1f9500a92/bluesnap-1.2018.9.6.tar.gz" } ], "1.2018.9.7": [ { "comment_text": "", "digests": { "md5": "020d7b0d4aedb872ad0125f0df68438a", "sha256": "bd0afaa2d34bdb1c7d75e54fa5822b265883021eb68d20bb338e1b2b15aa7181" }, "downloads": -1, "filename": "bluesnap-1.2018.9.7-py3-none-any.whl", "has_sig": false, "md5_digest": "020d7b0d4aedb872ad0125f0df68438a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28577, "upload_time": "2018-09-05T23:44:52", "url": "https://files.pythonhosted.org/packages/fa/b0/cd593968d67aff6e5256f2c1acd9f85bc453518267094927f6652eaff54c/bluesnap-1.2018.9.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a243ee6c724eb64b9438640139c79d6d", "sha256": "da67885066b294ecdf0433d069b000f6682ede95ec67b4a2c2bf93d9967c546e" }, "downloads": -1, "filename": "bluesnap-1.2018.9.7.tar.gz", "has_sig": false, "md5_digest": "a243ee6c724eb64b9438640139c79d6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29952, "upload_time": "2018-09-05T23:44:56", "url": "https://files.pythonhosted.org/packages/53/63/f15b4e56624157ec906e5ba15d239064299fe976b318c8bb03ed37d098a0/bluesnap-1.2018.9.7.tar.gz" } ], "1.2019.2.1": [ { "comment_text": "", "digests": { "md5": "36851dcf2ccec387864a0fbf72539994", "sha256": "25bc1eee6645f0747eb41a8733c7728db0c7868b73201cc14150a3b56b2738aa" }, "downloads": -1, "filename": "bluesnap-1.2019.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "36851dcf2ccec387864a0fbf72539994", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28635, "upload_time": "2019-02-01T20:32:42", "url": "https://files.pythonhosted.org/packages/93/22/f9241a792798bcd6cda7b6cef58007759ae6d95f07e7d5856cecfee3dc13/bluesnap-1.2019.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c2558970a710a46c54753ba3ae3c23a", "sha256": "99a28d0cd6b9b8d31cb1e6b73f282ceba6ed4684f65a7e99b1ab8a275e471926" }, "downloads": -1, "filename": "bluesnap-1.2019.2.1.tar.gz", "has_sig": false, "md5_digest": "0c2558970a710a46c54753ba3ae3c23a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30022, "upload_time": "2019-02-01T20:32:50", "url": "https://files.pythonhosted.org/packages/ff/fc/6b9c54314f7d1d4e1653b703682bc10166340407db357e7921d9c2018a38/bluesnap-1.2019.2.1.tar.gz" } ], "1.2019.6.18": [ { "comment_text": "", "digests": { "md5": "6a741fb4b7a0dd799c9dd7a46667cba6", "sha256": "9ad8d3bfa8a5a52ab7b08c9f6c85dec5a5a7df1593edfee927995839b91c028c" }, "downloads": -1, "filename": "bluesnap-1.2019.6.18-py3-none-any.whl", "has_sig": false, "md5_digest": "6a741fb4b7a0dd799c9dd7a46667cba6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 28883, "upload_time": "2019-06-18T18:47:52", "url": "https://files.pythonhosted.org/packages/71/ca/f152330f4dbf317ac5893827f9705b98773b0214fd7d2c48796a09f86b49/bluesnap-1.2019.6.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9960fd46d3b8cbcd3b4bc85812c8567b", "sha256": "1869fd2c429b206673472e218cb52bb9acf7d05cfdc31828505b0af12a301400" }, "downloads": -1, "filename": "bluesnap-1.2019.6.18.tar.gz", "has_sig": false, "md5_digest": "9960fd46d3b8cbcd3b4bc85812c8567b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30319, "upload_time": "2019-06-18T18:47:54", "url": "https://files.pythonhosted.org/packages/0c/13/eb14ec8381f8ca24fd855c8ea585f1c576f7191930128557499a4464b356/bluesnap-1.2019.6.18.tar.gz" } ], "1.2019.8.29": [ { "comment_text": "", "digests": { "md5": "d5a3169dbba531861a7aa74ef9e4c1a9", "sha256": "682f68c717c6bb1f3806acb97acdff7712f93bca354b799d28e8f07acdc08ee2" }, "downloads": -1, "filename": "bluesnap-1.2019.8.29-py3-none-any.whl", "has_sig": false, "md5_digest": "d5a3169dbba531861a7aa74ef9e4c1a9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29551, "upload_time": "2019-08-29T15:33:43", "url": "https://files.pythonhosted.org/packages/55/8f/92077e3e0b46229620ccf2490c74a62a01393eee108ca01015105e3429c4/bluesnap-1.2019.8.29-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "552e404e42b9e15c555ff958ab3c05b0", "sha256": "62c917bbea4c59020b322c6c27daf2c7a69917093231faedcb339ab6fdeca9f5" }, "downloads": -1, "filename": "bluesnap-1.2019.8.29.tar.gz", "has_sig": false, "md5_digest": "552e404e42b9e15c555ff958ab3c05b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30996, "upload_time": "2019-08-29T15:33:47", "url": "https://files.pythonhosted.org/packages/74/f9/c0138ec524f886bb140d1c0e6770e9219324841d8f2941b5e83bdbc90ac0/bluesnap-1.2019.8.29.tar.gz" } ], "1.2019.9.1": [ { "comment_text": "", "digests": { "md5": "163f473fa22e4c405531a47c692b13c9", "sha256": "fd1d1b153ecd28710c6444ade1eb00e1a36a6fadd2f8bcd1cc8ee8d11b1ba1fa" }, "downloads": -1, "filename": "bluesnap-1.2019.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "163f473fa22e4c405531a47c692b13c9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29510, "upload_time": "2019-09-01T13:08:24", "url": "https://files.pythonhosted.org/packages/d9/3d/418ae17ab0761a99e9166abd0639688f2cd416cdb4665813184c4cc1138e/bluesnap-1.2019.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36abcdb9d228607cd76bb9bd607a8f03", "sha256": "84bd3ca213482469b8b9dcdd6d3761bb33e55a82581a02aaf4befff2b93cb203" }, "downloads": -1, "filename": "bluesnap-1.2019.9.1.tar.gz", "has_sig": false, "md5_digest": "36abcdb9d228607cd76bb9bd607a8f03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30958, "upload_time": "2019-09-01T13:08:29", "url": "https://files.pythonhosted.org/packages/e9/6f/4aef6319abd65d8e9e07b6b4da37a1c9ae705173f281e4eaa0bdd66cc157/bluesnap-1.2019.9.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "163f473fa22e4c405531a47c692b13c9", "sha256": "fd1d1b153ecd28710c6444ade1eb00e1a36a6fadd2f8bcd1cc8ee8d11b1ba1fa" }, "downloads": -1, "filename": "bluesnap-1.2019.9.1-py3-none-any.whl", "has_sig": false, "md5_digest": "163f473fa22e4c405531a47c692b13c9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29510, "upload_time": "2019-09-01T13:08:24", "url": "https://files.pythonhosted.org/packages/d9/3d/418ae17ab0761a99e9166abd0639688f2cd416cdb4665813184c4cc1138e/bluesnap-1.2019.9.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36abcdb9d228607cd76bb9bd607a8f03", "sha256": "84bd3ca213482469b8b9dcdd6d3761bb33e55a82581a02aaf4befff2b93cb203" }, "downloads": -1, "filename": "bluesnap-1.2019.9.1.tar.gz", "has_sig": false, "md5_digest": "36abcdb9d228607cd76bb9bd607a8f03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30958, "upload_time": "2019-09-01T13:08:29", "url": "https://files.pythonhosted.org/packages/e9/6f/4aef6319abd65d8e9e07b6b4da37a1c9ae705173f281e4eaa0bdd66cc157/bluesnap-1.2019.9.1.tar.gz" } ] }