{ "info": { "author": "minkedong", "author_email": "minkedong89@126.com", "bugtrack_url": null, "classifiers": [], "description": "wxpay_sdk\r\n\r\n\u6587\u6863\u5730\u5740\uff1a\r\n\r\nhttp://blog.08050142.com/2016/07/07/wxpay-sdk/\r\n\r\n\u5fae\u4fe1\u652f\u4ed8\uff08\u6682\u65f6\u5b9e\u73b0\u4e86\u626b\u7801\u652f\u4ed8\u3001app\u652f\u4ed8\u3001h5\u652f\u4ed8\u3001\u56de\u8c03\u8f85\u52a9\u51fd\u6570\uff09\r\n\r\n\u7531\u4e8e\u5de5\u4f5c\u4e2d\u6682\u65f6\u53ea\u7528\u5230\u4e86\u8fd9\u4e9b\uff0c\u6309\u7167\u5fae\u4fe1\u652f\u4ed8\u5b98\u65b9SDK\u7684PHP\u7248\u672c\uff0c\u5b9e\u73b0\u4e86python\u7248\u672c\uff0c\u540e\u9762\u5982\u679c\u6709\u65f6\u95f4\u4f1a\u7ee7\u7eed\u5b9e\u73b0\u5176\u4ed6\u7c7b\u578b\u652f\u4ed8\uff0c\r\n\u6709\u7528\u5230\u5fae\u4fe1\u652f\u4ed8\u7684\u7ae5\u978b\uff0c\u53ef\u4ee5\u65b9\u4fbf\u7684\u4f7f\u7528\u4e4b\uff01\uff01\uff01\r\n\r\n\r\n\u5b89\u88c5\uff1a\r\npip install wxpay_sdk\r\n\r\n\u4f7f\u7528\uff1a\r\n####################################\r\n# \uff11\uff0e\u626b\u7801\u652f\u4ed8\u3000\u6a21\u5f0f\u4e8c #\r\n####################################\r\n\r\nparams = {\r\n\r\n 'body': u'Ipad mini 16G \u767d\u8272', # \u5546\u54c1\u6216\u652f\u4ed8\u5355\u7b80\u8981\u63cf\u8ff0,\u4f8b\u5982\uff1aIpad mini 16G \u767d\u8272\r\n \r\n 'out_trade_no': '9001231230956', # \u5546\u6237\u7cfb\u7edf\u5185\u90e8\u7684\u8ba2\u5355\u53f7,32\u4e2a\u5b57\u7b26\u5185\u3001\u53ef\u5305\u542b\u5b57\u6bcd\r\n \r\n 'total_fee': 2, # \u8ba2\u5355\u603b\u91d1\u989d\uff0c\u5355\u4f4d\u4e3a\u5206\r\n \r\n 'product_id': '1116', # \u5546\u54c1ID\r\n \r\n 'notify_url': 'http://145657w88r.iok.la/weixin/pay_callback/',\r\n \r\n 'trade_type':'NATIVE',\r\n \r\n}\r\n\r\n\r\nwechatpay_qrcode_config = {\r\n\r\n 'wechatpay_appid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u5206\u914d\u7684\u516c\u4f17\u8d26\u53f7ID\r\n \r\n 'wechatpay_key': 'xxxxxxxxxxx', # \u5fc5\u586b,appid \u5bc6\u94a5\r\n \r\n 'wechatpay_mchid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u652f\u4ed8\u5206\u914d\u7684\u5546\u6237\u53f7\r\n \r\n 'wechatpay_appsecret': 'xxxxxxxxxxx',\r\n \r\n}\r\n\r\nwxpay = WxPayBasic(conf=wechatpay_qrcode_config)\r\n\r\ncode_url = wxpay.unifiedorder2_get_code_url(**params)\r\n\r\n\u540e\u7eed\u5904\u7406\u628acode_url\u505a\u6210\u4e8c\u7ef4\u7801\u4f9b\u7528\u6237\u626b\u7801\u652f\u4ed8\r\n.........\r\n\r\n\r\n\r\n####################################\r\n# \uff12\uff0eapp\u652f\u4ed8 #\r\n####################################\r\n\r\nparams = {\r\n\r\n 'body': u'Ipad mini 16G \u767d\u8272', # \u5546\u54c1\u6216\u652f\u4ed8\u5355\u7b80\u8981\u63cf\u8ff0,\u4f8b\u5982\uff1aIpad mini 16G \u767d\u8272\r\n \r\n 'out_trade_no': '9401231230956', # \u5546\u6237\u7cfb\u7edf\u5185\u90e8\u7684\u8ba2\u5355\u53f7,32\u4e2a\u5b57\u7b26\u5185\u3001\u53ef\u5305\u542b\u5b57\u6bcd\r\n \r\n 'total_fee': 2, # \u8ba2\u5355\u603b\u91d1\u989d\uff0c\u5355\u4f4d\u4e3a\u5206\r\n \r\n 'product_id': '2116', # \u5546\u54c1ID\r\n \r\n 'notify_url': 'http://145657w88r.iok.la/weixin/pay_callback/',\r\n \r\n 'trade_type':'APP',\r\n \r\n}\r\n\r\nwechatpay_qrcode_config = {\r\n\r\n 'wechatpay_appid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u5206\u914d\u7684\u516c\u4f17\u8d26\u53f7ID\r\n \r\n 'wechatpay_key': 'xxxxxxxxxxx', # \u5fc5\u586b,appid \u5bc6\u94a5\r\n \r\n 'wechatpay_mchid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u652f\u4ed8\u5206\u914d\u7684\u5546\u6237\u53f7\r\n \r\n 'wechatpay_appsecret': 'xxxxxxxxxxx',\r\n \r\n}\r\n\r\nwxpay = WxPayBasic(conf=wechatpay_qrcode_config)\r\n\r\napp_result = wxpay.unifiedorder_get_app_url(**params)\r\n\r\n\u540e\u7eed\u5904\u7406\u628aapp_result\u4f20\u9012\u7ed9app\u5ba2\u6237\u7aef\uff0c\u7531\u5ba2\u6237\u7aefsdk\u4f7f\u7528\u6b64\u53c2\u6570\u53d1\u8d77\u8bf7\u6c42\u5373\u53ef\r\n..........\r\n\r\n\r\n\r\n####################################\r\n# 3\uff0e\u5fae\u4fe1\u516c\u4f17\u53f7h5\u652f\u4ed8 #\r\n####################################\r\n\r\nparams = {\r\n\r\n 'openid':'',\r\n\r\n 'body': u'Ipad mini 16G \u767d\u8272', # \u5546\u54c1\u6216\u652f\u4ed8\u5355\u7b80\u8981\u63cf\u8ff0,\u4f8b\u5982\uff1aIpad mini 16G \u767d\u8272\r\n\r\n 'out_trade_no': '940123123sdaf956', # \u5546\u6237\u7cfb\u7edf\u5185\u90e8\u7684\u8ba2\u5355\u53f7,32\u4e2a\u5b57\u7b26\u5185\u3001\u53ef\u5305\u542b\u5b57\u6bcd\r\n\r\n 'total_fee': 1, # \u8ba2\u5355\u603b\u91d1\u989d\uff0c\u5355\u4f4d\u4e3a\u5206\r\n\r\n 'product_id': '2116', # \u5546\u54c1ID\r\n\r\n 'notify_url': 'http://145657w88r.iok.la/weixin/pay_callback/',\r\n\r\n 'trade_type':'JSAPI',\r\n\r\n}\r\n\r\nwechatpay_qrcode_config = {\r\n\r\n 'wechatpay_appid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u5206\u914d\u7684\u516c\u4f17\u8d26\u53f7ID\r\n\r\n 'wechatpay_key': 'xxxxxxxxxxx',\r\n\r\n 'wechatpay_mchid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u652f\u4ed8\u5206\u914d\u7684\u5546\u6237\u53f7\r\n\r\n 'wechatpay_appsecret': 'xxxxxxxxxxx', # \u5fc5\u586b,appid \u5bc6\u94a5\r\n\r\n}\r\n\r\nwxpay = WxPayBasic(conf=wechatpay_qrcode_config)\r\n\r\napp_result = wxpay.get_js_api_parameters(**params)\r\n\r\n\u540e\u7eed\u5904\u7406\u628aapp_result\u4f20\u9012\u7ed9\u5fae\u4fe1js\u5ba2\u6237\u7aef\uff0c\u7531\u5ba2\u6237\u7aefsdk\u4f7f\u7528\u6b64\u53c2\u6570\u53d1\u8d77\u8bf7\u6c42\u5373\u53ef\r\n..........\r\n\r\n\r\n\r\n####################################\r\n# 4\u652f\u4ed8\u56de\u8c03\u5b9a\u4e49 \uff08\u6ce8\u610f\uff1a\u626b\u7801\u652f\u4ed8&&app\u652f\u4ed8\uff0c\u4f7f\u7528\u7684\u662f\u4e0d\u540cconfig\uff09#\r\n# (\u4ee5django\u7684views\u4e3a\u4f8b)\r\n####################################\r\n\r\n@csrf_exempt\r\n\r\ndef wechat_pay_callback(request, *args, **kwargs):\r\n\r\n req_xml_str = request.body\r\n\r\n # \u56de\u8c03\u5904\u7406\uff1a\u7b7e\u540d\u9a8c\u8bc1\uff0c\u8ba2\u5355\u67e5\u8be2\u9a8c\u8bc1\r\n # \u8fd4\u56de\u9a8c\u8bc1\u7ed3\u679c\uff08\u53ef\u4f5c\u4e3a\u76f4\u63a5\u8fd4\u56de\u7ed9\u5fae\u4fe1\u7684xml\uff09\r\n wechatpay_qrcode_config = {\r\n 'wechatpay_appid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u5206\u914d\u7684\u516c\u4f17\u8d26\u53f7ID\r\n 'wechatpay_key': 'xxxxxxxxxxx', # \u5fc5\u586b,appid \u5bc6\u94a5\r\n 'wechatpay_mchid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u652f\u4ed8\u5206\u914d\u7684\u5546\u6237\u53f7\r\n 'wechatpay_appsecret': 'xxxxxxxxxxx',\r\n }\r\n # wechatpay_qrcode_config = {\r\n # 'wechatpay_appid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u5206\u914d\u7684\u516c\u4f17\u8d26\u53f7ID\r\n # 'wechatpay_key': 'xxxxxxxxxxx', # \u5fc5\u586b,appid \u5bc6\u94a5\r\n # 'wechatpay_mchid': 'xxxxxxxxxxx', # \u5fc5\u586b,\u5fae\u4fe1\u652f\u4ed8\u5206\u914d\u7684\u5546\u6237\u53f7\r\n # 'wechatpay_appsecret': 'xxxxxxxxxxx',\r\n # }\r\n wxpay = WxPayBasic(conf=wechatpay_qrcode_config)\r\n res_xml_str = wxpay.wxpay_callback(req_xml_str)\r\n\r\n res_xml_dict = xmltodict.parse(res_xml_str)\r\n if res_xml_dict['xml']['return_code'] == 'SUCCESS':\r\n # \u5904\u7406\u5546\u6237\u8ba2\u5355\u903b\u8f91\r\n req_xml_dict = xmltodict.parse(req_xml_str)\r\n total_fee = req_xml_dict['xml']['total_fee']\r\n out_trade_no = req_xml_dict['xml']['out_trade_no']\r\n ............\r\n else:\r\n print 'wxpay callback error'\r\n\r\n return HttpResponse(res_xml_str, content_type='text/xml')", "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/minkedong/wxpay_sdk", "keywords": "wxpay_sdk weixin wechat wechatpay wechatsdk", "license": "Free", "maintainer": "", "maintainer_email": "", "name": "wxpay_sdk", "package_url": "https://pypi.org/project/wxpay_sdk/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/wxpay_sdk/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/minkedong/wxpay_sdk" }, "release_url": "https://pypi.org/project/wxpay_sdk/0.0.4/", "requires_dist": null, "requires_python": null, "summary": "this is a package for weixin pay", "version": "0.0.4" }, "last_serial": 2277477, "releases": { "0.0.1": [], "0.0.2": [ { "comment_text": "", "digests": { "md5": "38b4752d1f5a6ba836700ecb84a82da3", "sha256": "f4c01f3f2d15cd9ec867eeb14ce46dcc06872ca3c7b08da7fa7f6d738d0ed609" }, "downloads": -1, "filename": "wxpay_sdk-0.0.2.tar.gz", "has_sig": false, "md5_digest": "38b4752d1f5a6ba836700ecb84a82da3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5095, "upload_time": "2016-07-01T08:25:42", "url": "https://files.pythonhosted.org/packages/21/61/5f810942dd2d5056c082ab660ba008e70a8c91980443dd6839b135322361/wxpay_sdk-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "5d0692a2b7304613d8b9c4eb004396c7", "sha256": "405660aff870cb4c332344ca84852af30854f05559bb6ebb04aa263c395942ae" }, "downloads": -1, "filename": "wxpay_sdk-0.0.3.tar.gz", "has_sig": false, "md5_digest": "5d0692a2b7304613d8b9c4eb004396c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13109, "upload_time": "2016-07-01T09:10:46", "url": "https://files.pythonhosted.org/packages/2e/29/bdc7f489eec8c0fe7d226dfd5ad13e53aac4906571b77a71b1b457f5b320/wxpay_sdk-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "5b6f40b1cfbcd086cfb04d262a39e6f6", "sha256": "4cbccbd23c88e8f832a1848594b3fddc02a97c225944d09fbdb682a1d841c26e" }, "downloads": -1, "filename": "wxpay_sdk-0.0.4.tar.gz", "has_sig": false, "md5_digest": "5b6f40b1cfbcd086cfb04d262a39e6f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14053, "upload_time": "2016-08-10T02:23:29", "url": "https://files.pythonhosted.org/packages/7b/56/f099733c1e98c85a2c2013fa478f2ca51aabad5f037179cc275084ec270a/wxpay_sdk-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5b6f40b1cfbcd086cfb04d262a39e6f6", "sha256": "4cbccbd23c88e8f832a1848594b3fddc02a97c225944d09fbdb682a1d841c26e" }, "downloads": -1, "filename": "wxpay_sdk-0.0.4.tar.gz", "has_sig": false, "md5_digest": "5b6f40b1cfbcd086cfb04d262a39e6f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14053, "upload_time": "2016-08-10T02:23:29", "url": "https://files.pythonhosted.org/packages/7b/56/f099733c1e98c85a2c2013fa478f2ca51aabad5f037179cc275084ec270a/wxpay_sdk-0.0.4.tar.gz" } ] }