当前位置: 首页 > news >正文

新手学做免费网站谷歌搜索引擎入口2022

新手学做免费网站,谷歌搜索引擎入口2022,网页打不开的两种解决方法,绵阳市中医医院网站建设说明 python实现支付宝异步回调验签,示例中使用Django框架。 此方案使用了支付宝的pythonSDK,请一定装最新版本的,支付宝官网文档不知道多久没更新了,之前的版本pip安装会报一些c库不存在的错误; pip install alipay-…

说明

python实现支付宝异步回调验签,示例中使用Django框架。
此方案使用了支付宝的pythonSDK,请一定装最新版本的,支付宝官网文档不知道多久没更新了,之前的版本pip安装会报一些c++库不存在的错误;

	pip install alipay-sdk-python==3.7.156

验签核心代码

from alipay.aop.api.util.SignatureUtils import verify_with_rsa#支付宝公钥
publicKey = ''def check_alipay_sign(request):"""验签:param request::return:"""sign = request.get('sign')  # 取出传过来的签#待签名字符串org_message = get_dic_sorted_params(request)# 转换成字节串message = bytes(org_message, encoding='utf-8')print(message)try:# 调用验签函数status = verify_with_rsa(publicKey, message, sign)return statusexcept Exception as e:print(f"Exception during signature verification: {e}")return False# 接收字典类型参数,去除sign、sign_type字段,转换成升序字符串
def get_dic_sorted_params(org_dic_params):content = ''org_dic_params.pop('sign')org_dic_params.pop('sign_type')                      # 去除sign、sigh_typenew_list = sorted(org_dic_params, reverse=False)     # 待验签参数进行排序for i in new_list:p = i+'='+ org_dic_params.get(i)+'&'content += psorted_params = content.strip('&')                   # 重组字符串,将{k:v}形式的字典类型原始响应值--》转换成'k1=v1&k2=v2'形式的字符串格式return sorted_params

djgano 调用

验签成功返回 SUCCESS,支付宝将将停止此订单的异步推送否则将会一共推送8次。

class alipayCallback(APIView):authentication_classes = []def post(self, request):"""支付宝支付回调- 内部订单号: request.POST.get('out_trade_no')- 交易状态: request.POST.get('trade_status') [TRADE_FINISHED:交易完结;TRADE_CLOSED:交易关闭;TRADE_SUCCESS:支付成功;WAIT_BUYER_PAY:交易创建]- 产品名称: request.POST.get('subject')- 总金额: request.POST.get('total_amount')- 实付金额: request.POST.get('buyer_pay_amount'):param request::return:"""orderId = str(request.POST.get('out_trade_no'))userId = orderId[orderId.index("#")+1:]print("内部订单号" + request.POST.get('out_trade_no'))print("订单号" + request.POST.get('trade_no'))  # 平台生成的订单号print("交易状态" + request.POST.get('trade_status'))print("产品名称" + request.POST.get('subject'))print("总金额" + request.POST.get('total_amount'))print("实付金额" + request.POST.get('buyer_pay_amount'))print(request.POST.dict())#验签 防止伪造请求if check_alipay_sign(request.POST.dict()):print("验签成功")"""# TODO 判断支付状态,订单状态修改                """return HttpResponse("SUCCESS")else:print("未支付成功!")return HttpResponse("未支付成功")else:print("验签失败")return HttpResponse("验签失败")
http://www.dinnco.com/news/67757.html

相关文章:

  • 深圳建站公司 企网站学生个人网页设计作品
  • 有谁做网站海外广告投放公司
  • 超越时空网上书城网站建设方案网站手机优化
  • 网站后台管理系统html下载网络广告营销策略
  • 蓝奏云注册网站关键词推广优化外包
  • 重庆做营销网站阿里网站seo
  • 做任务 网站百度seo软件是做什么的
  • 怎样做网站快照百度竞价排名名词解释
  • 三合一网站一般多少钱咖啡的营销推广软文
  • 会员网站开发高佣金app软件推广平台
  • 局域网如何做网站西安seo专员
  • 阿里巴巴网站官网网站制作软件
  • 网站的相关链接怎么做电商平台推广
  • 个人做外贸接订单网站四川网络推广推广机构
  • 重庆网站建设优化排名整站优化 mail
  • 特色的佛山网站建设页面seo优化
  • 国外做的好的鲜花网站长沙网站外包公司
  • 定制网站费用友情链接
  • 深圳做网站公司排名沧州搜索引擎优化
  • 怎么做网站策划上海疫情又要爆发了
  • 设计企业的网站百度助手app免费下载
  • 邵阳市网站建设网络营销咨询公司
  • 做免费视频网站违法吗网站推广的技术有哪些
  • 网站建设方案预算费用预算巨量引擎官网
  • 相馆网站建设费用预算重庆网站seo公司
  • 医院网站建设政策seo免费自学的网站
  • 网站设计就业培训交换友情链接推广法
  • 浅析b2c电子商务网站的建设天津seo培训
  • 幸运快三的网站怎么做2021热门网络营销案例
  • 上海网站建设褐公洲司阿里seo排名优化软件