{ "info": { "author": "Dennis Mwagiru", "author_email": "dennismwagiru@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent" ], "description": "Mpesapy\n=======\nThis wrapper seeks to help python developers implement the various Mpesa APIs without much hustle. It is based on the REST API (daraja) whose documentation is available on http://developer.safaricom.co.ke.\n\nThe wrapper implements the following endpoints:\n>1. Authentication\n>2. Lipa na M-Pesa Online Payment\n>3. C2B\n>4. B2C\n>5. B2B\n>6. Account Balance\n>7. Transaction Status\n>8. Reversal\n\nGetting Started\n---------------\n\n#### Prerequisites\n1. Click here and create your app on the Mpesa daraja portal.\n2. Once that is done, you will be provided with a `Consumer Key` and a `Consumer Secret`\n3. For development and testing environment use `sandbox` for env\n4. For live environment use `api` for env\n\n#### Installation:\n\n pip install git+https://github.com/dennismwagiru/mpesapy.git\n\n#### Usage\nImport Mpesa and create object\n```python\nfrom mpesapy import Mpesa\nmpesa = Mpesa('sandbox', '600462', Consumer Key, Consumer Secret)\n\n```\n\n##### Generate Access Token\n```python\naccess_token = mpesa.get_access_token()\n```\n\n##### Lipa Na M-Pesa Online Payment API\n```python\nres_json = mpesa.lipa_na_mpesa_online(Password='bfb279f9aa9bdbcf158e97dd71a467cd2e0c893059b10f78e6b72ada1ed2c919', \n Timestamp='20180704203000', Amount='10', PartyA='254708374149', PartyB='174379', \n PhoneNumber='254708374149', \n CallBackURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU', \n AccountReference='Test', TransactionDesc='Test')\n```\n\n##### C2B API\nRegister urls:\n```python\nres_json = mpesa.c2b_register_url(ValidationURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU', \n ConfirmationURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU')\n\n```\n\nSimulate Transaction:\n```python\nres_json = mpesa.c2b_simulate(Amount=amount, MSISDN=phone_no, BillRefNumber=account_no)\n\n```\n\n##### B2C Payment Request\n```python\nres_json = mpesa.b2c_payment_request(InitiatorName='testapi', Amount=10, PartyB='254708374149', Remarks='Test', \n SecurityCredential='nR47eKS3OWCwOGJofwW4Vze5Y2r9VtiNF+YrxopbnxjRckpZHDp379XscBqPLibV6ZKhQ0OjUFRTR7cVnxLrhF4PDZr8Eg4+euuYL/HB9DQHom0kuDwvxUS+ctQsRZ8gBB8d+QYBqb1hzsBuxl2jNohQpeqVOZ1tb1UzGPnLQfAcQuf/x6q5Ze0orzvC2BmCw75GhJl4quZEG2Pou72PQD2IAiQSUOWYSHcJC/3oyYqtLx6Vl98F9Qjx+6oKZHXqokkWccf2vOyl6ApQ5BKubfUPVSa9ggl87ZdffNueifs60HAIHKtD77NyV4G3vXfKBxbm5Z9AqVLbPp6yXS9AAw==',\n QueueTimeOutURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU', \n ResultURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU', Occassion='Test')\n```\n##### B2B Payment Request\n```python\nres_json = mpesa.b2b_payment_request(Amount=10, PartyB='600000', RecieverIdentifierType=4, Remarks='Okay', \n Initiator='testapi',\n SecurityCredential='nR47eKS3OWCwOGJofwW4Vze5Y2r9VtiNF+YrxopbnxjRckpZHDp379XscBqPLibV6ZKhQ0OjUFRTR7cVnxLrhF4PDZr8Eg4+euuYL/HB9DQHom0kuDwvxUS+ctQsRZ8gBB8d+QYBqb1hzsBuxl2jNohQpeqVOZ1tb1UzGPnLQfAcQuf/x6q5Ze0orzvC2BmCw75GhJl4quZEG2Pou72PQD2IAiQSUOWYSHcJC/3oyYqtLx6Vl98F9Qjx+6oKZHXqokkWccf2vOyl6ApQ5BKubfUPVSa9ggl87ZdffNueifs60HAIHKtD77NyV4G3vXfKBxbm5Z9AqVLbPp6yXS9AAw==', \n QueueTimeOutURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',\n ResultURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU', AccountReference='Test')\n```\n##### Account Balance Request\n```python\nres_json = mpesa.balance(PartyA='600462', IdentifierType=4, Remarks='Okay', Initiator='testapi', \n SecurityCredential='nR47eKS3OWCwOGJofwW4Vze5Y2r9VtiNF+YrxopbnxjRckpZHDp379XscBqPLibV6ZKhQ0OjUFRTR7cVnxLrhF4PDZr8Eg4+euuYL/HB9DQHom0kuDwvxUS+ctQsRZ8gBB8d+QYBqb1hzsBuxl2jNohQpeqVOZ1tb1UzGPnLQfAcQuf/x6q5Ze0orzvC2BmCw75GhJl4quZEG2Pou72PQD2IAiQSUOWYSHcJC/3oyYqtLx6Vl98F9Qjx+6oKZHXqokkWccf2vOyl6ApQ5BKubfUPVSa9ggl87ZdffNueifs60HAIHKtD77NyV4G3vXfKBxbm5Z9AqVLbPp6yXS9AAw==', \n QueueTimeOutURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU',\n ResultURL='https://putsreq.com/C1HAyC3fEEbl2UaEu6lU')\n```\n##### Transaction Status Request\n\n##### Reversal Request\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/dennismwagiru/mpesapy", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mpesapy", "package_url": "https://pypi.org/project/mpesapy/", "platform": "", "project_url": "https://pypi.org/project/mpesapy/", "project_urls": { "Homepage": "https://github.com/dennismwagiru/mpesapy" }, "release_url": "https://pypi.org/project/mpesapy/1.0.1/", "requires_dist": [ "requests" ], "requires_python": "", "summary": "Wrapper for M-pesa daraja api", "version": "1.0.1" }, "last_serial": 4316019, "releases": { "1": [ { "comment_text": "", "digests": { "md5": "32cc6c0e6ed241ff2ce5a496cde94f12", "sha256": "806ea49ab6898aa54495e639754de77011c949e7cfbe4b1e0cf11b569fad9ffc" }, "downloads": -1, "filename": "mpesapy-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "32cc6c0e6ed241ff2ce5a496cde94f12", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4183, "upload_time": "2018-09-27T12:18:54", "url": "https://files.pythonhosted.org/packages/b3/ac/726cc222571915b13fbfd39ef1e8d0b1eb60e77a1ad1bafc9d31a5a70c42/mpesapy-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d94f482e7c1728e457a54363ca4ab964", "sha256": "f81217d50817cb39fba2f3098b08577c6a997a691debd3ffe398ff6b0df2f48a" }, "downloads": -1, "filename": "mpesapy-1.0.0.tar.gz", "has_sig": false, "md5_digest": "d94f482e7c1728e457a54363ca4ab964", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4075, "upload_time": "2018-09-27T12:18:56", "url": "https://files.pythonhosted.org/packages/6f/c7/4c581a22410bf61883366f2300592a097e582f1b31911f7c346dd7e0d1ee/mpesapy-1.0.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "501db5a554ba1b5b5004610a473973e5", "sha256": "4d69a3aa1cc05be62485740bbbe4ab5b46fbb35f671aed91b5d9917e3c4c12c1" }, "downloads": -1, "filename": "mpesapy-1-py3-none-any.whl", "has_sig": false, "md5_digest": "501db5a554ba1b5b5004610a473973e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4144, "upload_time": "2018-09-27T12:18:52", "url": "https://files.pythonhosted.org/packages/cd/23/4131bf83d81147e257d9887594fcc188425536ee829044fa2eb79e8f4b9f/mpesapy-1-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "2e57e0b493ee0e227078ccb4041f061f", "sha256": "056de1fa17e5d06e9dfcd19a9050661cf3ae7db952f131ed8f092d892873c447" }, "downloads": -1, "filename": "mpesapy-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2e57e0b493ee0e227078ccb4041f061f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4184, "upload_time": "2018-09-27T12:30:08", "url": "https://files.pythonhosted.org/packages/28/bb/bfb730d70655ff3646689eff6a0b9682c0e70ce10b4b6b6c13ad9136cd0b/mpesapy-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "744f25e68071aba22fe0ffcd4b5220ba", "sha256": "c57e3ec1f28519589d5b95623bdee34aae92179f89a79aca8c23665a51c9de2a" }, "downloads": -1, "filename": "mpesapy-1.0.1.tar.gz", "has_sig": false, "md5_digest": "744f25e68071aba22fe0ffcd4b5220ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4065, "upload_time": "2018-09-27T12:30:09", "url": "https://files.pythonhosted.org/packages/52/4d/daa1f76b9e99a1092c08209f0d5b7bd5252af9956c64f3a5836234ea0be2/mpesapy-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2e57e0b493ee0e227078ccb4041f061f", "sha256": "056de1fa17e5d06e9dfcd19a9050661cf3ae7db952f131ed8f092d892873c447" }, "downloads": -1, "filename": "mpesapy-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2e57e0b493ee0e227078ccb4041f061f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4184, "upload_time": "2018-09-27T12:30:08", "url": "https://files.pythonhosted.org/packages/28/bb/bfb730d70655ff3646689eff6a0b9682c0e70ce10b4b6b6c13ad9136cd0b/mpesapy-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "744f25e68071aba22fe0ffcd4b5220ba", "sha256": "c57e3ec1f28519589d5b95623bdee34aae92179f89a79aca8c23665a51c9de2a" }, "downloads": -1, "filename": "mpesapy-1.0.1.tar.gz", "has_sig": false, "md5_digest": "744f25e68071aba22fe0ffcd4b5220ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4065, "upload_time": "2018-09-27T12:30:09", "url": "https://files.pythonhosted.org/packages/52/4d/daa1f76b9e99a1092c08209f0d5b7bd5252af9956c64f3a5836234ea0be2/mpesapy-1.0.1.tar.gz" } ] }