{ "info": { "author": "Jacob Rief", "author_email": "jacob.rief@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "====================\ndjango-shop-ipayment\n====================\n\nThis module is a payment backend module for django-SHOP, using IPayment \n(https://ipayment.de) from the 1und1 company in Germany. It can be used for\ncredit card and other kind of payments.\n\nCurrently only IPayment's silent CGI mode is implemented, which does not require\na PCI DSS certification (https://www.pcisecuritystandards.org/) for your shop,\nbecause your software never \"sees\" the credit card numbers. With this module\nyour customer never visibly \"leaves\" your shop to enter his credit card numbers.\nYou are therefore in full control over all design aspects of the payment\nprocess, something which for instance is not possible with PayPal.\n\nInstallation\n============\nClone this module from github::\n\n git clone git@github.com:jrief/django-shop-ipayment.git\n\nand move the sub-directory 'ipayment' into your projects path.\n\nConfiguration\n=============\n\nIn settings.py\n\n* Add \u2018ipayment\u2019 to INSTALLED_APPS.\n* Add 'ipayment.offsite_backend.OffsiteIPaymentBackend' to SHOP_PAYMENT_BACKENDS.\n* Add the one of the IPAYMENT configuration dictionaries, see below.\n* Test your application using the sandbox.\n* Then close a deal with http://ipayment.de , and populate your configurations\n according to the given settings.\n\nWith this configuration, all sensible data is passed to IPayment within the\nsubmission form as hidden fields, but visible to the customer. In order to\ndetect data manipulations, a check-sum is built using some of the sensible fields\n(``trxUserId``, ``trxPassword`` and more) together with the given ``securityKey``.\nUse this configuration, whenever your shop is not able to speak HTTPS to the \noutside world. Many administrators of datacenters inhibit HTTPS traffic from\ninside to the Internet. In these situations, use this configuration::\n\n IPAYMENT = {\n 'accountId': 99999,\n 'trxUserId': 99998,\n 'trxType': 'preauth', # details in ipayment_Technik-Handbuch_2010-03.pdf (Seite 13-15)\n 'trxPassword': '0',\n 'trxCurrency': 'EUR',\n 'trxPaymentType': 'cc', # payment type credit card\n 'adminActionPassword': '5cfgRT34xsdedtFLdfHxj7tfwx24fe',\n 'useSessionId': False,\n 'securityKey': 'testtest',\n 'invoiceText': 'Example-Shop Invoice: %s', # The text shown on the customers credit card roll\n }\n\nWith this configuration, all sensible data (``trxUserId``, ``trxPassword`` and\nmore) are passed to IPayment using a separate SOAP call, invoked from the shop's\nweb-application. This method requires that your shop can speak HTTPS to the\noutside world. Whenever possible, use this configuration, because it is\nsafer::\n\n IPAYMENT = {\n 'accountId': 99999,\n 'trxUserId': 99999,\n 'trxType': 'preauth', # details in ipayment_Technik-Handbuch_2010-03.pdf (Seite 13-15)\n 'trxPassword': '0',\n 'trxCurrency': 'EUR',\n 'trxPaymentType': 'cc', # payment type credit card\n 'adminActionPassword': '5cfgRT34xsdedtFLdfHxj7tfwx24fe',\n 'useSessionId': True,\n 'invoiceText': 'Example-Shop Invoice: %s', # The text shown on the customers credit card roll\n }\n\n\nAll the given values from these sample configurations work on the IPayment's\nsandbox. Thus these values are immediately suitable to check functionality\nwithout the need of setting up an account at IPayment. If you register for\nIPayment, you get access to a configuration interface and other values\nwill be assigned to your shop.\n\nFor your reference, you can use the following test credit card numbers:\n\n* Visa Test Card: 4012888888881881\n* Master Test Card: 5105105105105100\n* The expiration date must be set to the present date or later.\n* As Credit Card Checkcode use any three digits.\n\n\nTesting\n=======\n\nCompared to other unit tests, this test suite is rather tricky to setup. The\nreason for this is that the module has to contact the servers of your PSP, which\nthemselves contact your testing environment through HTTP (to confirm the\npayment).\nTherefore during testing make sure, that your testing environment is reachable\nfrom the Internet with a name resolvable by DNS. You might have to configure\nyour firewall, so that your workstation is reachable on port 80.\nIf you do not have a domain name which resolves onto your external IP address,\nuse a dynamic DNS service, as listed here http://dnslookup.me/dynamic-dns/.\n\nSet the host name of your environment in tests/testapp/settings.py::\n\n HOST_NAME = 'ipayment.example.net'\n\nThe unit test must start a web service which listens on port 80 of your testing\nenvironment. This feature is available in Django-1.4 or later. To run the\ntest on its own, invoke::\n\n cd tests/testapp\n python manage.py test --liveserver 0.0.0.0:80 \n\nIf you run Django behind a proxy, such as Apache or nginx, run:: \n\n cd tests/testapp\n python manage.py test --liveserver 127.0.0.1:8080\n\nand change your proxy settings so, that incoming HTTP requests are passed\nthrough to 127.0.0.1:8080. These values of course depend on your testing\nenvironment.\n\nIf you have trouble running these tests, try to reach the shop using a browser,\nwhile the test suite is running, which is about 20 seconds. This artificial\ndelay is required to wait for all external events to have finished.\n\nBefore repeating a test, wait at least one minute, since IPayment otherwise may\nreject the transaction with the message::\n\n This transaction is currently already in process.\n Do you have started the transaction twice?\n\n\nTODO\n====\n\nIPayment offers a lot of different payment options, some of which require a PCI\nDSS certification and communicate using SOAP. Currently I have no plans to\nsupport these.\n\nCHANGES\n=======\n\n0.1.0\nAll unit tests have been adopted and rechecked in a real environment.\n\n0.0.5\nUnit tests have been written to check for both kind of payment methods.\n\n0.0.4\nFixed the update of the correct status in table order.\n\n0.0.3\ndjango-shop-ipayment is able to pass sensible data to IPayment and gets a\nsession key on return.\nThis key then is used in the customers payment form, instead of passing sensible\ndata.\n\nSecurity\n========\n\nIf using a proxy, disable forwarding the X_HTTP_FORWARD header, but make sure,\nthat the proxy sets the X_HTTP_FORWARD header with the IP address of the client.\nThis header is used to assure that payment notifications originate from\nIPayment. If you have trouble with your proxy settings, disable this security\nfeature in settings.py ::\n IPAYMENT = {\n ...\n 'checkOriginatingIP': False,\n ...\n }\n\nContributing\n============\n\nFeel free to post any comment or suggestion for this project on the django-shop\nmailing list at https://groups.google.com/forum/#!forum/django-shop\n\nHave fun!\nJacob", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jrief/django-shop-ipayment", "keywords": "django,django-shop,ipayment", "license": "BSD License", "maintainer": null, "maintainer_email": null, "name": "django-shop-ipayment", "package_url": "https://pypi.org/project/django-shop-ipayment/", "platform": "OS Independent", "project_url": "https://pypi.org/project/django-shop-ipayment/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/jrief/django-shop-ipayment" }, "release_url": "https://pypi.org/project/django-shop-ipayment/0.1.0/", "requires_dist": null, "requires_python": null, "summary": "A payment backend module for django-SHOP, using IPayment (https://ipayment.de) from the 1und1 company in Germany.", "version": "0.1.0" }, "last_serial": 790603, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "ed885e30eedcf5a0a93f0f38038c6688", "sha256": "d8365be33bbecf5cf66802b6a98eeb47708e06bbc8544ca38c36400e929326a6" }, "downloads": -1, "filename": "django-shop-ipayment-0.0.2.tar.gz", "has_sig": true, "md5_digest": "ed885e30eedcf5a0a93f0f38038c6688", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7031, "upload_time": "2011-10-20T16:05:09", "url": "https://files.pythonhosted.org/packages/f1/4e/f111638f554f91825a43251bfa31171873dcbd5ab2e74313f3ca27e3db46/django-shop-ipayment-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "2f20bd61c80508df65193ac6d65fe004", "sha256": "8830cc0b2c12548e6b42db34c159ff5f959757be0f7477f2912330fc6ecf1974" }, "downloads": -1, "filename": "django-shop-ipayment-0.0.3.tar.gz", "has_sig": false, "md5_digest": "2f20bd61c80508df65193ac6d65fe004", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11384, "upload_time": "2011-11-01T12:09:49", "url": "https://files.pythonhosted.org/packages/ee/9d/d09bb4b1540d80fa1ffd4222b46c95315dd0063318dbad43d2ff662acbe1/django-shop-ipayment-0.0.3.tar.gz" } ], "0.0.5": [], "0.1.0": [] }, "urls": [] }