基于Python flask 框架的微信支付 全代码

前台代码忽略   

需要了解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
    # 组织参数字符串并在末尾添加商
  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值