赞
踩
前台代码忽略
需要了解flask 框架 尤其是 模板传参 和重定向 传参
###############################################《《各种需要用到的函数 不涉及到流程############################## import hashlib import time import requests from collections import OrderedDict from random import Random from bs4 import BeautifulSoup import lxml import requests import json APP_ID = '' # 公众账号appid MCH_ID = '' # 商户号 API_KEY = '' # 微信商户平台(pay.weixin.qq.com) -->账户设置 -->API安全 -->密钥设置,设置完成后把密钥复制到这里 APP_SECRECT = '' UFDODER_URL = '
https://api.mch.weixin.qq.com/pay/unifiedorder
' # url是微信下单api 这个不用改 NOTIFY_URL = '' # 微信支付结果回调接口,需要你自定义 CREATE_IP = '' # 你服务器上的ip # 生成随机字符串 def random_str(randomlength=8): """ 生成随机字符串 :param randomlength: 字符串长度 :return: """ str = '' chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789' length = len(chars) - 1 random = Random() for i in range(randomlength): str += chars[random.randint(0, length)] return str # 生成随机字符串 和上面的一样 这是我用来自定义订单号流水号的 out_trade_no def random_num(randomlength=10): """ 生成随机字符串 :param randomlength: 字符串长度 :return: """ str = '' chars = '1234567890' length = len(chars) - 1 random = Random() for i in range(randomlength): str += chars[random.randint(0, length)] str_time=time.strftime("%Y%m%d%H%M%S", time.localtime()) return str_time+str def get_sign(data_dict, key): #这里是用 字典+key MD5加密 第一次用到 是用于 生成预支付订单 第二次用到 是用于接收微信支付成功验证 # 签名函数,参数为签名的数据和密钥 params_list = sorted(data_dict.items(), key=lambda e: e[0], reverse=False) # 参数字典倒排序为列表 params_str = "&".join(u"{}={}".format(k, v) for k, v in params_list) + '&key=' + key # 组织参数字符串并在末尾添加商
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。