{ "info": { "author": "antopen", "author_email": "antopen@aliyun.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Topic :: Software Development" ], "description": "alipay-sdk-python\n==================\n\nThe official Alipay SDK for Python.\n\n\u8bbf\u95ee\u8682\u8681\u91d1\u670d\u5f00\u653e\u5e73\u53f0\u7684\u5b98\u65b9SDK\u3002\n\n\nLinks\n-----\n\n* Website: https://open.alipay.com\n\n\nExample\n----------------\n\n.. code-block:: python\n\n #!/usr/bin/env python\n # -*- coding: utf-8 -*-\n import logging\n import traceback\n\n from alipay.aop.api.AlipayClientConfig import AlipayClientConfig\n from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient\n from alipay.aop.api.FileItem import FileItem\n from alipay.aop.api.domain.AlipayTradeAppPayModel import AlipayTradeAppPayModel\n from alipay.aop.api.domain.AlipayTradePagePayModel import AlipayTradePagePayModel\n from alipay.aop.api.domain.AlipayTradePayModel import AlipayTradePayModel\n from alipay.aop.api.domain.GoodsDetail import GoodsDetail\n from alipay.aop.api.domain.SettleDetailInfo import SettleDetailInfo\n from alipay.aop.api.domain.SettleInfo import SettleInfo\n from alipay.aop.api.domain.SubMerchant import SubMerchant\n from alipay.aop.api.request.AlipayOfflineMaterialImageUploadRequest import AlipayOfflineMaterialImageUploadRequest\n from alipay.aop.api.request.AlipayTradeAppPayRequest import AlipayTradeAppPayRequest\n from alipay.aop.api.request.AlipayTradePagePayRequest import AlipayTradePagePayRequest\n from alipay.aop.api.request.AlipayTradePayRequest import AlipayTradePayRequest\n from alipay.aop.api.response.AlipayOfflineMaterialImageUploadResponse import AlipayOfflineMaterialImageUploadResponse\n from alipay.aop.api.response.AlipayTradePayResponse import AlipayTradePayResponse\n\n logging.basicConfig(\n level=logging.INFO,\n format='%(asctime)s %(levelname)s %(message)s',\n filemode='a',)\n logger = logging.getLogger('')\n\n\n if __name__ == '__main__':\n \"\"\"\n \u8bbe\u7f6e\u914d\u7f6e\uff0c\u5305\u62ec\u652f\u4ed8\u5b9d\u7f51\u5173\u5730\u5740\u3001app_id\u3001\u5e94\u7528\u79c1\u94a5\u3001\u652f\u4ed8\u5b9d\u516c\u94a5\u7b49\uff0c\u5176\u4ed6\u914d\u7f6e\u503c\u53ef\u4ee5\u67e5\u770bAlipayClientConfig\u7684\u5b9a\u4e49\u3002\n \"\"\"\n alipay_client_config = AlipayClientConfig()\n alipay_client_config.server_url = 'https://openapi.alipay.com/gateway.do'\n alipay_client_config.app_id = '[your app_id]'\n alipay_client_config.app_private_key = '[your app private key]'\n alipay_client_config.alipay_public_key = '[alipay public key]'\n\n \"\"\"\n \u5f97\u5230\u5ba2\u6237\u7aef\u5bf9\u8c61\u3002\n \u6ce8\u610f\uff0c\u4e00\u4e2aalipay_client_config\u5bf9\u8c61\u5bf9\u5e94\u4e00\u4e2aDefaultAlipayClient\uff0c\u5b9a\u4e49DefaultAlipayClient\u5bf9\u8c61\u540e\uff0calipay_client_config\u4e0d\u5f97\u4fee\u6539\uff0c\u5982\u679c\u60f3\u4f7f\u7528\u4e0d\u540c\u7684\u914d\u7f6e\uff0c\u8bf7\u5b9a\u4e49\u4e0d\u540c\u7684DefaultAlipayClient\u3002\n logger\u53c2\u6570\u7528\u4e8e\u6253\u5370\u65e5\u5fd7\uff0c\u4e0d\u4f20\u5219\u4e0d\u6253\u5370\uff0c\u5efa\u8bae\u4f20\u9012\u3002\n \"\"\"\n client = DefaultAlipayClient(alipay_client_config=alipay_client_config, logger=logger)\n\n \"\"\"\n \u7cfb\u7edf\u63a5\u53e3\u793a\u4f8b\uff1aalipay.trade.pay\n \"\"\"\n # \u5bf9\u7167\u63a5\u53e3\u6587\u6863\uff0c\u6784\u9020\u8bf7\u6c42\u5bf9\u8c61\n model = AlipayTradePayModel()\n model.auth_code = \"282877775259787048\"\n model.body = \"Iphone6 16G\"\n goods_list = list()\n goods1 = GoodsDetail()\n goods1.goods_id = \"apple-01\"\n goods1.goods_name = \"ipad\"\n goods1.price = 10\n goods1.quantity = 1\n goods_list.append(goods1)\n model.goods_detail = goods_list\n model.operator_id = \"yx_001\"\n model.out_trade_no = \"20180510AB014\"\n model.product_code = \"FACE_TO_FACE_PAYMENT\"\n model.scene = \"bar_code\"\n model.store_id = \"\"\n model.subject = \"huabeitest\"\n model.timeout_express = \"90m\"\n model.total_amount = 1\n request = AlipayTradePayRequest(biz_model=model)\n # \u5982\u679c\u6709auth_token\u3001app_auth_token\u7b49\u5176\u4ed6\u516c\u5171\u53c2\u6570\uff0c\u653e\u5728udf_params\u4e2d\n # udf_params = dict()\n # from alipay.aop.api.constant.ParamConstants import *\n # udf_params[P_APP_AUTH_TOKEN] = \"xxxxxxx\"\n # request.udf_params = udf_params\n # \u6267\u884c\u8bf7\u6c42\uff0c\u6267\u884c\u8fc7\u7a0b\u4e2d\u5982\u679c\u53d1\u751f\u5f02\u5e38\uff0c\u4f1a\u629b\u51fa\uff0c\u8bf7\u6253\u5370\u5f02\u5e38\u6808\n response_content = None\n try:\n response_content = client.execute(request)\n except Exception as e:\n print(traceback.format_exc())\n if not response_content:\n print(\"failed execute\")\n else:\n response = AlipayTradePayResponse()\n # \u89e3\u6790\u54cd\u5e94\u7ed3\u679c\n response.parse_response_content(response_content)\n print(response.body)\n if response.is_success():\n # \u5982\u679c\u4e1a\u52a1\u6210\u529f\uff0c\u5219\u901a\u8fc7respnse\u5c5e\u6027\u83b7\u53d6\u9700\u8981\u7684\u503c\n print(\"get response trade_no:\" + response.trade_no)\n else:\n # \u5982\u679c\u4e1a\u52a1\u5931\u8d25\uff0c\u5219\u4ece\u9519\u8bef\u7801\u4e2d\u53ef\u4ee5\u5f97\u77e5\u9519\u8bef\u60c5\u51b5\uff0c\u5177\u4f53\u9519\u8bef\u7801\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b\u63a5\u53e3\u6587\u6863\n print(response.code + \",\" + response.msg + \",\" + response.sub_code + \",\" + response.sub_msg)\n\n\n \"\"\"\n \u5e26\u6587\u4ef6\u7684\u7cfb\u7edf\u63a5\u53e3\u793a\u4f8b\uff1aalipay.offline.material.image.upload\n \"\"\"\n # \u5982\u679c\u6ca1\u6709\u627e\u5230\u5bf9\u5e94Model\u7c7b\uff0c\u5219\u76f4\u63a5\u4f7f\u7528Request\u7c7b\uff0c\u5c5e\u6027\u5728Request\u7c7b\u4e2d\n request = AlipayOfflineMaterialImageUploadRequest()\n request.image_name = \"\u6211\u7684\u5e97\"\n request.image_type = \"jpg\"\n # \u8bbe\u7f6e\u6587\u4ef6\u53c2\u6570\n f = open(\"/Users/foo/Downloads/IMG.jpg\", \"rb\")\n request.image_content = FileItem(file_name=\"IMG.jpg\", file_content=f.read())\n f.close()\n response_content = None\n try:\n response_content = client.execute(request)\n except Exception as e:\n print(traceback.format_exc())\n if not response_content:\n print(\"failed execute\")\n else:\n response = AlipayOfflineMaterialImageUploadResponse()\n response.parse_response_content(response_content)\n if response.is_success():\n print(\"get response image_url:\" + response.image_url)\n else:\n print(response.code + \",\" + response.msg + \",\" + response.sub_code + \",\" + response.sub_msg)\n\n\n \"\"\"\n \u9875\u9762\u63a5\u53e3\u793a\u4f8b\uff1aalipay.trade.page.pay\n \"\"\"\n # \u5bf9\u7167\u63a5\u53e3\u6587\u6863\uff0c\u6784\u9020\u8bf7\u6c42\u5bf9\u8c61\n model = AlipayTradePagePayModel()\n model.out_trade_no = \"pay201805020000226\"\n model.total_amount = 50\n model.subject = \"\u6d4b\u8bd5\"\n model.body = \"\u652f\u4ed8\u5b9d\u6d4b\u8bd5\"\n model.product_code = \"FAST_INSTANT_TRADE_PAY\"\n settle_detail_info = SettleDetailInfo()\n settle_detail_info.amount = 50\n settle_detail_info.trans_in_type = \"userId\"\n settle_detail_info.trans_in = \"2088302300165604\"\n settle_detail_infos = list()\n settle_detail_infos.append(settle_detail_info)\n settle_info = SettleInfo()\n settle_info.settle_detail_infos = settle_detail_infos\n model.settle_info = settle_info\n sub_merchant = SubMerchant()\n sub_merchant.merchant_id = \"2088301300153242\"\n model.sub_merchant = sub_merchant\n request = AlipayTradePagePayRequest(biz_model=model)\n # \u5f97\u5230\u6784\u9020\u7684\u8bf7\u6c42\uff0c\u5982\u679chttp_method\u662fGET\uff0c\u5219\u662f\u4e00\u4e2a\u5e26\u5b8c\u6210\u8bf7\u6c42\u53c2\u6570\u7684url\uff0c\u5982\u679chttp_method\u662fPOST\uff0c\u5219\u662f\u4e00\u6bb5HTML\u8868\u5355\u7247\u6bb5\n response = client.page_execute(request, http_method=\"GET\")\n print(\"alipay.trade.page.pay response:\" + response)\n\n\n \"\"\"\n \u6784\u9020\u5524\u8d77\u652f\u4ed8\u5b9d\u5ba2\u6237\u7aef\u652f\u4ed8\u65f6\u4f20\u9012\u7684\u8bf7\u6c42\u4e32\u793a\u4f8b\uff1aalipay.trade.app.pay\n \"\"\"\n model = AlipayTradeAppPayModel()\n model.timeout_express = \"90m\"\n model.total_amount = \"9.00\"\n model.seller_id = \"2088301194649043\"\n model.product_code = \"QUICK_MSECURITY_PAY\"\n model.body = \"Iphone6 16G\"\n model.subject = \"iphone\"\n model.out_trade_no = \"201800000001201\"\n request = AlipayTradeAppPayRequest(biz_model=model)\n response = client.sdk_execute(request)\n print(\"alipay.trade.app.pay response:\" + response)\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alipay/alipay-sdk-python-all", "keywords": "alipay,sdk", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "alipay-python", "package_url": "https://pypi.org/project/alipay-python/", "platform": "any", "project_url": "https://pypi.org/project/alipay-python/", "project_urls": { "Homepage": "https://github.com/alipay/alipay-sdk-python-all" }, "release_url": "https://pypi.org/project/alipay-python/3.3.17/", "requires_dist": [ "pycryptodome", "rsa" ], "requires_python": "", "summary": "a Copy of The official Aliyun SDK for Python.", "version": "3.3.17" }, "last_serial": 5175573, "releases": { "3.3.17": [ { "comment_text": "", "digests": { "md5": "c3507e9958753e1f19014981a6d5ff6b", "sha256": "27fea6908a74f0fd5826467aed99a9df6dd8099ef9a4996b39b01d918957c51b" }, "downloads": -1, "filename": "alipay_python-3.3.17-py3-none-any.whl", "has_sig": false, "md5_digest": "c3507e9958753e1f19014981a6d5ff6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6558284, "upload_time": "2019-04-23T05:00:18", "url": "https://files.pythonhosted.org/packages/5e/3e/569f931a7f7c57d0c1c4fc533c5cd928125fa6ef092929795e6a6479af1d/alipay_python-3.3.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4519c5fb07912dc16d3f2503e329c20b", "sha256": "6243a44590e3c1e759cb3015af510e590120d7fb9a42fd664662eef0efa970a7" }, "downloads": -1, "filename": "alipay-python-3.3.17.tar.gz", "has_sig": false, "md5_digest": "4519c5fb07912dc16d3f2503e329c20b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1502920, "upload_time": "2019-04-23T05:00:23", "url": "https://files.pythonhosted.org/packages/9f/db/e7d3b5720ad095f156f59d270d1e66ed5bbf22c764c9f39258f16abe6e24/alipay-python-3.3.17.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c3507e9958753e1f19014981a6d5ff6b", "sha256": "27fea6908a74f0fd5826467aed99a9df6dd8099ef9a4996b39b01d918957c51b" }, "downloads": -1, "filename": "alipay_python-3.3.17-py3-none-any.whl", "has_sig": false, "md5_digest": "c3507e9958753e1f19014981a6d5ff6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6558284, "upload_time": "2019-04-23T05:00:18", "url": "https://files.pythonhosted.org/packages/5e/3e/569f931a7f7c57d0c1c4fc533c5cd928125fa6ef092929795e6a6479af1d/alipay_python-3.3.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4519c5fb07912dc16d3f2503e329c20b", "sha256": "6243a44590e3c1e759cb3015af510e590120d7fb9a42fd664662eef0efa970a7" }, "downloads": -1, "filename": "alipay-python-3.3.17.tar.gz", "has_sig": false, "md5_digest": "4519c5fb07912dc16d3f2503e329c20b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1502920, "upload_time": "2019-04-23T05:00:23", "url": "https://files.pythonhosted.org/packages/9f/db/e7d3b5720ad095f156f59d270d1e66ed5bbf22c764c9f39258f16abe6e24/alipay-python-3.3.17.tar.gz" } ] }