初学订单-支付流程(思路)

article/2025/7/13 17:27:29

主要说的是 生成订单的一系列操作

生成订单号---确认支付---生成支付链接--支付流程

支付流程

---1.获取支付链接

1.1 三方接口,发送数据 ----1.2 返回数据解析(包含支付订单id)将链接也返回前端

----2.进行支付

2.1 扫码支付 2.2 支付成功后携带支付信息code 跳转到前段页面,将支付信息发给后端

----3.根据支付返回的信息进行查询

3.1 根据支付code码 通用的第三方接口,或者相关的支付信息(是否支付成功,支付时间,支付方式,支付金额)

3.2 主动查询 (如果没有跳转 可以根据订单的id来查询支付状态)

3.3 根据获取的支付详情,判断是否合法,然后再进行业务逻辑处理


支付宝的沙箱环境--支付宝开放平台

  • RSA2密钥生成文档:

  • 公钥(给别人,方便其他人验证某个信息是否为自己发送) 和私钥(需要自己保存,对信息加密,不能泄露)

  • 根据文档,生成一对密钥: 公钥和私钥,将 公钥 添加到 支付宝的 沙箱应用中

  • 根据自己的APP公钥,生成的 支付宝公钥,需要 保存本地

  • 支付宝接口: 不再自己写接口,而是 使用 python-alipay-sdk工具去请求支付宝接口

  • pip install pyhton-alipay-sdk


    需要将 生成的 私钥 和 根据自己的公钥生成的 支付宝公钥,保存到文件,放到项目中
  1. 支付宝公钥(alipay_public_key.pem
    -----BEGIN PUBLIC KEY-----
    xxxx
    -----END PUBLIC KEY-----

2.自己的APP私钥 (app_private_key.pem)

-----BEGIN RSA PRIVATE KEY-----
xxxx
-----END RSA PRIVATE KEY-----

支付接口

import os
from alipay import AliPay# 配置地址, 为了确定 公钥和私钥的 位置Django 是这写的 flask直接可以拉到下面
private_path = os.path.join(BASE_DIR, "key/app_private_key.pem")
public_path = os.path.join(BASE_DIR, "key/alipay_public_key.pem")# 获取公私钥字符串
app_private_key_string = open(private_path).read()
alipay_public_key_string = open(public_path).read()flask
app_private_key_string = open("lab_flask/pay/app_private_key.pem").read()
alipay_public_key_string = open("lab_flask/pay/alipay_public_key.pem").read()def get_alipay():"""生成支付宝的客户端"""alipay = AliPay(appid="2016092400585976",  # 收款的商家支付宝的 appidapp_notify_url=None,  # 默认回调urlapp_private_key_string=app_private_key_string,# 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥alipay_public_key_string=alipay_public_key_string,sign_type="RSA2",  # 加密方式debug=True,  # 上线则改为False , 沙箱True)return alipaydef get_alipay_url(order_id, order_amount, subject, return_url):"""根据订单信息,生成支付地址"""# 进行alipay初始化alipay = get_alipay()# 调用支付接口# 电脑网站支付,需要跳转到https://openapi.alipay.com/gateway.do? + order_stringorder_string = alipay.api_alipay_trade_page_pay(out_trade_no=order_id,  # 订单id,需要支付的订单id eg:"%s" % order# 订单号  注意,标准的json格式没有 '' 单引号,只有 "" 双引号,python默认为 '' 单引号total_amount=str(order_amount),  # 订单总金额subject=subject,  # 付款标题信息return_url=return_url,  # 付款成功回调地址(可以为空, 当前项目,应该回调到Vue页面)notify_url=None  # 付款成功后异步通知地址(可以为空))# self._gateway = "https://openapi.alipaydev.com/gateway.do"pay_url = "https://openapi.alipaydev.com/gateway.do?" + order_stringreturn pay_url  # 将这个url复制到浏览器,就会打开支付宝支付页面


http://chatgpt.dhexx.cn/article/vnBL2uXH.shtml

相关文章

订单系统的代码实现

面向接口的编程: 面向接口编程(Interface Oriented Programming:OIP)是一种编程思想,接口作为实体抽象出来的一种表现形式,用于抽离内部实现进行外部沟通,最终实现内部变动而不影响外部与其他实现交互,可以理解成按照这…

【码学堂】教师如何在码学堂上组织教学活动?

码学堂简介 码学堂是由贵州师范学院数学与大数据学院研发的智慧教学平台,学生可以自主练习,教师可以组织练习、考试、竞赛、共享题库、共享教学资源,支持判断题、单项选择题、多项选择题、填空题、程序函数题、程序填空题、编程题、主观题8种…

如何在码学堂组织练习、考试、竞赛?

组织练习、考试、竞赛时就是将多个题目组成题目集,然后加入学生组完成。题目集是由多个题目构成的集合,可以理解为组卷、出卷,码学堂上“练习/作业”、“考试”或“竞赛”操作方式一致,故下面以考试为例来说明操作方法。 1 设置题…

如何开发出一款直播APP项目实践篇 -【原理篇】

【 主要模块】 主播端: 把主播实时录制的视频,经过(采集、美颜处理、编码)推送到服务器服务器: 处理(转码、录制、截图、鉴黄)后分发给用户播放端播放器: 获取服务器地址&#xff0…

短视频小视频直播app开发定制解决方案

一、直播APP的市场前景 随着智能移动手机端的普及,人们对于线上的娱乐的要求越发感兴趣,很多互联网电商平台也将直播APP作为销售的主战场之一。将线上与线下的方式相结合才能更好的促进企业的发展。当然对于直播APP的开发也是我们需要了解的。相关数据表明,目前直播APP对于…

直播APP开发过程

直播是2016年火爆的产业,看起来很炫,玩起来很方便、很贴近生活,开发一款直播App不仅耗时还非常昂贵,那么,开发一款直播App到底分几步走? 第一步:分解直播App的功能,我们以X客为例 1…

直播app开发必备五步流程

直播app开发搭建是最近几年比较火的技术,本文从技术角度分析一套直播app开发必备的几个流程。 从主播录制视频开始到最后直播间播放,涉及到的流程包括: 音视频采集—>编码和封装—>推流到流媒体服务器—>流媒体服务器播流分发—&g…

金融直播APP方案开发

分享一下英唐众创开发的金融直播APP解决方案。随着视频直播风靡全球,视频直播已成为众多传统行业和互联网行业争夺的“香饽饽”。金融行业当然也不例外,在当今“互联网”的大时代下,金融行业作为走在前沿的产业,不但开辟出互联网金…

如何开发出一款仿映客直播APP项目实践篇 -【原理篇】

前言:每个成功者多是站在巨人的肩膀上!在做直播开发时 碰到了很多问题,在收集了许多人博客的基础上做出来了成功的直播项目并做了整理,并在最后奉上我的全部代码。 其中采用博客的博主开篇在此感谢,本着开源分享的精神…

cmd的炫酷玩法教程

在我们看电影的时候,经常看到黑客在电脑是一顿猛如虎的操作。然后电脑上就出现一系列花里胡哨的画面,其实那种画面我们用cmd的一行代码就能搞定。 第一步 按WinR,输入cmd,打开小黑框。 第二部 如果什么属性都不设置&#xff…

一行代码让你伪装成黑客惊艳世人

今天给大家带来一行代码让你伪装成黑客惊艳世人,保证让你成为学校机房最亮的崽 新建一个文本文档,输入tree c: CtrlS保存 重命名修改后缀名为.bat 这就OK了,不知道这个代码你有没有学废了!

小bat大装逼(▼へ▼メ)

直接上代码 echo off cls color echo come!!! color 1a color 2b color 3c color 4d color 5e color 6f color 70 tree d: dir /s %0把代码粘贴到一个【文件名.bat】文件中,例如 复制粘贴完成,别忘记【Ctrls】进行保存操作啊。 然后打开就行了。很疯狂…

使用cmd命令行装逼,让命令行滚动起来

使用cmd命令行装逼,让命令行滚动起来 一、滚动cmd二、清理垃圾总结 一、滚动cmd color a扫描当前所有目录 dir /s二、清理垃圾 创建txt文件 echo offdel/f/s/q %systemdrive%\*.tmp del/f/s/q %systemdrive%\*._mp del/f/s/q %systemdrive%\*.logdel/f/s/q %sys…

(六)C语言入门,代码编程,三子棋游戏【300行】【原创】

文章目录 十二篇文章汇总&#xff0c;独家吐大血整理 编译环境 游戏界面 test6.c game.c game.h​​​​​​​ ​​​​​​​ 编译环境 VS2019 游戏界面 test6.c #include <stdio.h>//std standard input output #include <string.h> #include <game…

C语言编程流程

2.5 C语言编程流程 C语言的编程流程 a)解决什么问题 b)怎么解决 c)编写程序 d)分析结果 2. 解决什么问题 &#xff1f; 比如说&#xff1a;我们如何打开、关闭一个计算器呢&#xff1f; 3 那么我们怎么解决呢&#xff1f; 我们可以通过命令行的方式打开、关闭计算器 在DO…

c语言万年历查询程序代码,C语言实现万年历程序的代码分享

C语言实现万年历程序的代码分享 发布时间&#xff1a;2020-04-27 09:55:52 来源&#xff1a;亿速云 阅读&#xff1a;795 作者&#xff1a;小新 今天小编给大家分享的是C语言实现万年历程序的代码&#xff0c;相信很多人都不太了解&#xff0c;为了让大家更加了解C语言实现万年…

C语言基础部分代码

这是我大一的时候新入门C语言整个语法的时候&#xff0c;课堂中所练习的一些基础问题的源码&#xff0c;现分享给新入门C语言的小白&#xff0c;以便于学习了解C语言。 目录 1.将一个正整数分解质因数 2.判断一个数是否为水仙花数 3.找出1000以内的所有完数 4.求一个数是否为素…

圣诞树代码,c语言编程,基于graphics.h

头文件 icon.h&#xff1a; #pragma once #ifndef _ICON_H_ #define _ICON_H_#include<graphics.h> #include<string.h> #include<stdlib.h> #include<iostream> #include<string> #include<Windows.h> #include<Mmsystem.h> #prag…

c语言手机表白代码大全,C语言表白代码

在这个狂虐单身狗的节日&#xff0c;看见了别人写的告白的代码&#xff0c;分享给大家。愿天下有情人终成眷属&#xff0c;也愿爱而不得者早日释怀。 效果图&#xff1a; 代码分享&#xff1a; #include #include int main() { double y, x, z; printf("那一天\n"); …

C语言圣诞树代码

祝大家圣诞节快乐 C语言数组实现 圣诞树代码&#xff1a; #include<stdio.h> #include<stdlib.h> void hang (int *p,int n,int s){for(int i0;i<n;i){*(pi)s;} } int main(){system("color 0A");//控制台和字体颜色system("mode con cols102 l…