python wechatpay微信支付回调_python服务器 实现app微信支付:支付异步通知

# -*- coding: utf-8 -*-

import tornado.httpserver

import tornado.ioloop

import tornado.options

import tornado.web

import pymysql

import json

import xmltodict

from hashlib import md5

from tornado.options import define, options####################微信支付异步回调消息########################

WEIXIN_KEY = '8mdRLb1yeesYssfasdfsadfassdaV'

def generate_sign(params):

"""

生成md5签名的参数

"""

if 'sign' in params:

params.pop('sign')

src = '&'.join(['%s=%s' % (k, v) for k, v in sorted(params.items())]) + '&key=%s' % WEIXIN_KEY

return md5(src.encode('utf-8')).hexdigest().upper()

def validate_sign(resp_dict):

"""

验证微信返回的签名

"""

if 'sign' not in resp_dict:

return False

wx_sign = resp_dict['sign']

sign = generate_sign(resp_dict)

if sign == wx_sign:

return True

return False

def handle_wx_response_xml(params):

"""

处理微信支付返回的xml格式数据

"""

try:

resp_dict = xmltodict.parse(params)['xml']

if not resp_dict or len(resp_dict) < 1:

print('resp_dict is zero++

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值