【附Demo】Django 对接支付宝电脑网站、手机网站、App支付步骤详解

一、前言

本文主要针对 Python for Django 在对接支付宝电脑网站、手机网站、App支付过程中具体实现步骤进行详解;

相信大家支付功能也写了不少,但时间一长,再次用到的时候有些细节难免会忘记,此篇文章就为方便后续快速实现支付宝各支付功能集成而作。

支付Demo源码地址详见:《Alipay_demo》 下载即可使用

关联文章 《30分钟未支付自动取消订单的设计方案》 将在下一篇分享~~

好文章 记得收藏+点赞+关注额 !!!

---- Nick.Peng


二、支付宝开发者相关文档

  • 支付宝开发文档: https://openhome.alipay.com/developmentDocument.htm
  • 支付快速接入文档: https://docs.open.alipay.com/270/105899/
  • 官方SDK地址: https://docs.open.alipay.com/270/106291/
  • 非官方支付宝SDK地址: https://github.com/fzlee/alipay/blob/master/README.zh-hans.md
  • 开发帮助中心: https://opensupport.alipay.com/support/helpcenter/192
    对接过程中如果遇到难题,可以在帮助中心寻找答案

三、各支付功能支付流程图

  • 支付流程文字叙述如下,以电脑网站支付为例
  • 用户点击下单,生成订单信息,前端携带后端生成返回的订单id,调取获取支付宝支付链接口,接口返回支付链接(包含订单编号,总金额,return_url,notify_url 等参数);
  • 前端获取到支付宝支付链接后,构建form表单,向支付宝服务器发起支付请求;
  • 进入支付宝支付页面,登录支付宝,登录成功后输入支付密码,进行支付;
  • 支付成功后跳转到支付成功页面,支付宝携带支付结果数据重定向到商户指定的 return_url 页面;
  • 前端携带支付成功结果数据,向同步回调通知接口发起请求,后端验签成功后返回支付成功业务逻辑响应;
  • 同时支付宝服务器也会根据提供的 notify_url 异步请求异步通知接口,后端验签成功,保存支付结果,并返回 success 字符给支付宝服务器;
  • 到此支付流程结束

在这里插入图片描述

四、支付宝接入前准备

4.1 创建应用
  • 安装SDK: pip install python-alipay-sdk==1.7.1
  • 创建项目: django-admin startproject alipay_demo
  • 创建应用: python manage.py startapp payment
  • 本Demo目录结构
    在这里插入图片描述
4.2 配置公私钥

此步主要完成两个配置文件,即:应用私钥:app_private_key.pem,支付宝公钥:alipay_public_key.pem

  • 生成应用的私钥和公钥,Windows用户请下载签名工具

    # 打开终端,输入openssl回车,一次执行以下命令生成应用公私钥
    openssl
    OpenSSL> genrsa -out app_private_key.pem 2048  # 私钥RSA2
    OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem # 导出公钥
    OpenSSL> exit  #退出OpenSSL程序
    
  • 保存应用私钥文件
    在 payment 应用中新建 keys 目录,用来保存秘钥文件。
    将应用私钥文件 app_private_key.pem 复制到 payment/keys 目录下, 内容如下。

    -----BEGIN RSA PRIVATE KEY-----
    此处为上面生成的应用私钥
    -----BEGIN RSA PRIVATE KEY-----
    
  • 查看公钥

    cat app_publict_key.pem
    

    将应用公钥内容复制粘贴到支付宝控制台进行配置,会得到支付宝公钥;如图,第一次应该是设置应用公钥
    注意:对应加密方式进行配置,推荐RSA2。
    在这里插入图片描述

  • 保存支付宝公钥
    在 payment/keys 目录下新建 alipay_public_key.pem 文件,用于保存支付宝的公钥文件。
    将上一步生成的支付宝的公钥内容复制到 alipay_public_key.pem 文件中࿰

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值