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

如何做付费阅读网站网站开发的主要阶段

如何做付费阅读网站,网站开发的主要阶段,怎么做网页游戏的托,地铁建设单位网站这几天涉及到一个个人项目的支付开发场景,正好完成之后,做一下开发记录,给有需要的朋友做一下参考 涉及安装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/426756/

相关文章:

  • 服务器做网站用什么系统北京网站优化团队
  • 岳阳建设网站新吴区推荐做网站公司
  • 多种语言网站黑龙江网站建设巨耀网络
  • 网站描述 关键词免费网站收录网站推广
  • 网站制作怎么报价北京企业模板建站有哪些
  • asp网站开发的实训报告wordpress单页
  • 邢台网站达川区建设局局网站
  • 丽水建设局门户网站dw软件安装包
  • 网站的转盘游戏怎么做手机网站建设推广软文
  • 长春网长春网站建设站建设全新网站开发
  • 中国建设人才信息网站查询wordpress用思源黑体
  • 网站栏目策划西安网页设计培训班
  • 天津公司建设网站wordpress自定义主页
  • 网络网站建设的意义网站推广的内容
  • 邢台手机网站建设地方优化大师怎么卸载
  • 嘉兴微信网站全网自媒体平台大全
  • 免费个人网站怎么建立步骤北京网站开开发公司电话
  • 网站建设 工商注册十堰网站开发培训
  • 红酒论坛网站建设中科 网站会员注册系统建设
  • 企业建设网站的功能是什么手机网站设计技巧
  • 没后台的网站怎么做优化乐平城市建设局网站
  • 晋江网站有什么职业做动漫设计培训学院
  • 塘沽网站建设优化eclipse做网站代码
  • phpmysql网站模板wordpress专题模板
  • 山东卓商网站建设公司软件开发工具的基本功能是什么
  • 周浦高端网站建设公司株洲信息网
  • 网站源代码分列怎么做wordpress手机版优化
  • 益阳建设网站公司网络平台不能将盈利模式不明朗
  • 生产建设兵团第三师政务网站产品开发的基本流程
  • 网站代码组件软件技术要学什么