华为云服务器+Nginx+Python3.7+Django2.2+支付宝支付接入部署

华为云服务器+Nginx+Python3.7+Django2.2+支付宝支付接入部署

本次分享内容共分四个主要部署步骤
1.Django框架项目搭建部署
2.本地内网穿透测试
3.阿里支付宝支付接口部署
4.华为云服务器部署(弹性云服务器ECS)

一,搭建django项目基本结构

1.创建当前项目的虚拟环境

python3 -m venv venv

2.安装依赖环境

pip install -r requirement.txt

Django==2.2.6
Pillow==6.2.0
pkg-resources==0.0.0
pycrypto==2.6.1
pycryptodomex==3.7.2
python-alipay-sdk==1.10.1
pytz==2019.3
sqlparse==0.3.0

3.完成项目基本结构开发(略…)

按照基本模型和路由参考,完成以下基本项目功能:
1.商品列表页:需要完成数据的查询及模板中的数据展示
2.商品下单: 在商品列表页可以对商品进行下单购买,及对应的订单数据入库操作
3.订单列表: 可以查看到当前所有订单及订单的支付状态
4.完成发起支付请求,支付回调地址的视图函数定义(代码可以暂时不写)

模型 models.py

from django.db import models
from django.utils.html import format_html
# Create your models here.
# 书籍模型
class Books(models.Model):
    # 书名
    name = models.CharField(max_length=30)
    # 价格
    price = models.FloatField()
    # 数量
    num = models.IntegerField(default=5)
    # 封面
    img_url = models.ImageField(upload_to="./static/uploads/",null=True)

    def loadimg(self):
        return format_html('<img src="%s" height="64" width="64" />' %(self.img_url,))


class Order(models.Model):
    # 订单号
    ordercode = models.IntegerField()
    # 下单用户id
    user = models.CharField(max_length=5,default='测试用户')
    # 购买产品id
    bookid = models.IntegerField()
    # 产品名称
    bookname = models.CharField(max_length=50)
    # 应付金额
    monery = models.FloatField()
    # 支付方式 0 支付宝
    paytype = models.IntegerField(default=0)
    # 支付状态 0未支付  1 已支付 
    paystatus = models.IntegerField(default=0)
    # 订单创建时间
    ordertime = models.DateTimeField(auto_now_add=True)
    # 订单支付时间
    paytime = models.DateTimeField(null=True)


路由及对应视图函数 urls.py

# 商品列表
path('',views.index),
# 创建订单
path('order/create', views.create_order,name="createOrder"),
# 发起支付请求
path('order/pay', views.order_pay_request,name="orderpay"),
# 支付宝回调地址
path('order/pay_result', views.order_pay_result,name="order_pay_result"),
# 订单列表,支付成功后的跳转页面
path('order/list', views.orderlist,name="orderlist"),
# 订单删除
path('order/delete', views.orderdel,name="orderdel"),

二,使用ngrok|花生壳内网穿透

推荐使用花生壳进行内网穿透测试
http://service.oray.com/question/1664.html

三,支付宝接入

1.登陆支付宝开放平台创建支付宝沙箱环境

支付宝开放平台 https://openhome.alipay.com/platform/appDaily.htm?tab=info
支付文档 https://docs.open.alipay.com/200/105311

2.创建密钥

1.生成应用公钥和秘钥
2.把应用公钥赋值并配置到当前的沙箱环境中
3.配置完公钥后,沙箱环境配置会给一个支付宝公钥,复制并保存
4.在项目根目录中创建keys文件目录,存储应用私钥(rsa_private_key.txt)和支付宝公钥(rsa_public_key.txt)

ubuntu生成密钥和公钥

#打开终端输入 openssl
# 输入以下命令创建密钥
genrsa -out rsa_private_key.txt 2048
# 输入以下命令创建公钥
rsa -in rsa_private_key.txt -pubout -out rsa_public_key.txt
#输入 exit  推出 openssl
# ls 查看当前目录下创建的密钥和公钥
rsa_private_key.txt  rsa_public_key.txt 

windows10 可以安装支付宝开放平台助手,创建密钥

https://docs.open.alipay.com/291/105971

注意:在项目中配置 keys应用 私钥和支付宝公钥 放进来

    1,在项目中 创建 keys 目录 里面放入 秘钥文件

    2,创建 rsa_private_key.txt 放入秘钥,加开始和结束的标记
        -----BEGIN RSA PRIVATE KEY-----
        .....
        -----END RSA PRIVATE KEY-----</
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值