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

号码之家官网搜索引擎优化结果

号码之家官网,搜索引擎优化结果,wordpress 链接跳转,郑州网站优化工资这几天涉及到一个个人项目的支付开发场景,正好完成之后,做一下开发记录,给有需要的朋友做一下参考 涉及安装Python环境请参考我专栏中的历史文章,这里不再重复说明 环境: Python3.11 使用Django框架 因本次代码为沙…

这几天涉及到一个个人项目的支付开发场景,正好完成之后,做一下开发记录,给有需要的朋友做一下参考

涉及安装Python环境请参考我专栏中的历史文章,这里不再重复说明

环境:

Python3.11 使用Django框架

因本次代码为沙箱环境,未涉及支付宝当面付的申请,如何有需要,可以评论区告诉我,我会单独写一篇文对申请过程进行说明。

内网穿透工具安装请参考:

代码步骤

1、安装支付宝第三方SDK,我这里没有用官方的,因为代码使用起来比较简洁

pip3 install python-aliyun-sdk

2、生成urls.py文件,代码如下

from django.urls import path
from . import viewsurlpatterns = [path('precreate_payment/', views.precreate_payment, name='precreate_payment'),path('payment_notify/', views.payment_notify, name='payment_notify'),
]

方法说明 :

precreate_payment:支付宝二维码扫码生成,请求地址:$host/precreate_payment/

payment_notify:支付宝导步回调,地址$host/payment_notify/

3、编写视图文件 views.py

from django.shortcuts import render, redirect
from django.conf import settings
from alipay import AliPay
from django.views.decorators.csrf import csrf_exempt
from django.urls import reverse
from django.http import HttpResponseRedirect, HttpResponse, JsonResponse
import random
from datetime import datetime
import json#生成支付宝请求地址,debug为是否开启沙箱
def initialize_alipay():alipay = AliPay(appid=settings.ALIPAY_APPID,app_notify_url=None,app_private_key_string=settings.ALIPAY_APP_PRIVATE_KEY,alipay_public_key_string=settings.ALIPAY_PUBLIC_KEY,sign_type="RSA2",debug=True)return alipay#订单ID生成
def generate_out_trade_no():now = datetime.now()out_trade_no = now.strftime('%Y%m%d%H%M%S')out_trade_no += str(random.randint(1000, 9999))return out_trade_nodef precreate_payment(request):alipay = initialize_alipay()out_trade_no = generate_out_trade_no()result = alipay.api_alipay_trade_precreate(out_trade_no=out_trade_no,total_amount=100.00,subject="Test Order",)if result.get("code") == "10000":qr_code_url = result.get("qr_code")return render(request, 'pay/precreate_payment.html', {'qr_code_url': qr_code_url})else:return HttpResponse("Error in pre-creating transaction: " + result.get("sub_msg"), status=400)@csrf_exempt
def payment_notify(request):body_str = request.body.decode('utf-8')params = dict(request.POST.items())sign = params.pop('sign', None)alipay = initialize_alipay()if alipay.verify(params, sign):print("Alipay notify parameters:", json.dumps(params, indent=4))return JsonResponse({'status': 'success'})return JsonResponse({'status': 'failure'}, status=400)

 以上代码中引用了一些三方模块,除了支付宝SDK,还有一些模块如果提示不存在,请自行安装

pyment_notify为支付宝异步回调接口,可以根据你真实环境来进行生成。本地业务可以在

print("Alipay notify parameters:", json.dumps(params, indent=4))

这行进行替换,处理业务逻辑。

4、功能测试

        1、访问$host/precreate_payment/,显示你的二维码

        2、使用支付宝沙箱APP,登陆进行扫码支付

        3、通过控制台查看你的支付宝回调接口,检查服务器是否接收到响应

备注说明:

本来简化了一下本地代理的软件, 结果审核没给过, 想用代理工具的自己参考我之前的ftp搭建工具吧。 或者搜一下内网穿透

 

http://www.yayakq.cn/news/778181/

相关文章:

  • 浙江平台网站建设哪家有营业执照年检网上申报入口
  • 在线课程网站开发的研究意义大城县网站建设
  • 外贸网站建设的意义宣传册排版
  • 游戏系统网站开发说明书四川网站建设广元分公司
  • html5做图书馆网站成都金牛网站建设公司
  • 首页网站怎么做网页编辑软件手机版
  • 国外网站网站app字节跳动现有员工人数
  • eclipse网站建设广州做网站公司
  • 瑞昌网站建设嘉定网站建设电脑培训
  • 域名做违法网站dremrever怎么做网站
  • 网站的图片大小深圳创业补贴申请
  • 意外险平台服务网站网站icp备案咋做
  • 敲代码做网站多少钱上海 网站建设 500强
  • 如何利用div做网站如何建立一个小程序
  • 棕色网站模板河北怀来县建设局网站
  • 西安分类信息网站开发微信小程序的软件
  • 最好的完全免费开源企业网站如何选择一个优质网站建设公司
  • 亿景网站建设wordpress 菜单 页面跳转
  • 延庆免费网站建设初学者做网站
  • 怎么建设一个网站网站开发制作报价
  • app大全软件网站免费下载wordpress 主题评论
  • 南京做公司网站深圳极速网站建设服务器
  • 摄影网站建设流程广州网站建设索王道下拉
  • 爱做的小说网站大专计算机专业主要学什么
  • 企业网站建设方案百度文库世界工厂网app
  • 网站栏目规划图做网站需要用到ps吗
  • 安阳那里可以制作网站广州优化排名推广
  • 学生为学校做网站建筑网官方网站
  • 郑州网站建设注意事项开发工具下载
  • 怎样注册公司网站建设网页沈阳哪家公司做网站好