Python接入支付宝流程:

第一步:

首先要下载一个python的sdk,这个sdk在支付宝的开发者文档中是没有的,但是强大的python程序员自己开发了一套属于python的支付宝支付sdk。

下载方式:pip install python-alipay-sdk ,github的链接为 https://github.com/fzlee/alipay

第二步:

下载好sdk之后,需要对支付宝进行一些相关的配置,支付宝的环境分为两种,一为正式环境,也就是程序上线之后的环境。

二为沙箱环境,即开发者在开发项目时候的测试环境。

正式环境需要创建应用,然后支付宝后台进行审核,通过后会分配一个appid作为一个唯一标志。如图为创建应用。

这里我用到的是沙箱环境,所以不需要等待支付宝的审核,点击进入开发者中心–>研发服务–>沙箱应用。如图所示它会自动给你分配一个appid,你只需要这是一下私钥和公钥即可。

第三步:

需要生成自己的服务端的私钥和公钥,现在支付宝支持的加密方式为sha256,sha1,

推荐使用sha256.支付宝提供了生成秘钥的方法和步骤(https://docs.open.alipay.com/291/105971/ )

打开括号中的链接,即可看到详细的生成秘钥的方法和步骤。公钥私钥生成完之后,要将公钥上传到支付宝密钥设置中。将支付宝的公钥copy到本地,将自己的公钥私钥和支付宝的公钥保存好(这个很重要),一般都保存到本地项目的文件中。

第四步:

了解并熟悉支付宝的开发流程。如图为客户端通过后端程序与支付宝后端的交互流程图

1、用户选择使用支付宝付款

2、用户使用app向商户服务器发起请求获取签名后的订单信息

3、商户服务端返回签名后的订单信息(查询字符串或者url)例如:

app_id=201609239&biz_content=%7B%22subject%22%3A%22%5Cu6d4b%5Cu8bd5%5Cu8ba2%5Cu5%22out_trade_no%22%3A%22201702021111%22%2C%22total_amount%22%3A1000%2C%22product_code%22%3A%22FAST_INSTANT_TRADE_PAY%22%7D&charset=utf-8&method=alipay.trade.page.pay&notify_url=http%3A%2F%dus.com%2F&return_url=http%3A%2F%2F47.92.87.172%3A8000%2F&sign_type=RSA2&timestamp=2015+15%3A19%3A15&version=1.0&sign=BSzk6LzwNp

4、商户app调用支付接口

5-8、支付宝服务端接收请求,返回支付结果。

9、商户app向商户服务端发起请求,同步支付结果,服务端验证签名,解析支付结果。

10、返回支付结果。

11、商户app展示支付结果。

12、支付宝服务端向商户服务端异步发送支付通知。

13、商户服务端接收支付通知,并返回响应给支付宝服务端。

第五步:

python代码如下# 业务处理: 使用python sdk调用支付宝的支付接口

# 初始化

from alipay import AliPay

alipay = AliPay(

appid="2016092300574189",

app_notify_url=None,

app_private_key_path=r"D:\python源代码\alipay_keys\private_keys",

alipay_public_key_path=r"D:\python源代码\alipay_keys\public_key",

sign_type="RSA2",

debug=True,

)

# 调用接口

# total_pay = order.total_price + order.transit_price

total_pay = 12311

order_string = alipay.api_alipay_trade_page_pay(

out_trade_no=1231231312313,

total_amount=str(total_pay),

subject='测试text%s' % 1,

return_url=None,

notify_url=None,

)

# 返回应答

pay_url = "https://openapi.alipaydev.com/gateway.do?" + order_string

print(pay_url)

这段代码实现的功能为生成一个签名后的url,这个url就是访问支付宝支付的url

其中初始化部分的参数:appid为支付宝的唯一标志id,

app_notify_url为支付宝后台完成支付的时候异步通知到商户的后台服务器的URL地址。

app_private_key_path为自己生成的私钥,

alipay_public_key_path为支付宝的公钥。sign_type为签名的加密方式,

debug为true时,支付宝的支付的url为非正式的环境,如果为线上环境可以将其改为false。

调用接口部分的参数: out_trade_no为订单编号这个是商户后台服务器自己生成的订单编号。

total_amount为支付金额(必须为字符串类型),subject为标题,return_url为支付成功后支付页面要跳转到哪个页面。

notify_url为异步通知的url。

第六步:

运行这段代码会得到一个签名之后的url。

访问这个url,看到的结果为:

可以手机下载一个沙箱环境的支付宝,也可以点击右侧的登录账户付款。在沙箱应用中提供了用于付款的账号和密码。

第七步:

登录完成支付

更多Python知识,请关注:Python自学网!!

个人如何用python支付宝收款_python怎么接入支付宝相关推荐

  1. 支付宝 收款通知 mysql_基于支付宝微信通知的一种个人收款回调方案(转)

    最近闲来无事,看到网上有一些免签支付回调的服务商,当时感觉很新奇,于是自己动手看看怎么玩的,先看成果 App上监听通知并向服务器POST支付信息 服务端的支付订单表 下面说原理及流程 1.App上使用 ...

  2. 支付宝固码php模拟,【推荐】PC_支付宝收款助手【支持支付宝固码+自动生成】...

    ## **首先去下载最新的支付宝PC收款助手** [百度网盘下载](https://pan.baidu.com/s/1xD4xCmRNHG2ZjOUUMOUbqg):[https://pan.baid ...

  3. python画树林_Python数据可视化-支付宝蚂蚁森林能量收取记录

    支付宝蚂蚁森林模块最早从2016年推出,题主最开始从支付宝集福活动开始接触.期间懒懒散散收过一些能量,但是相比朋友圈动辄几十几百公斤的能量值,我的能量值只有20Kg,想种棵胡杨连零头都不够.所以,本着 ...

  4. 如何用python生成软件_python中的生成器函数是如何工作的?

    1. python中的普通函数是怎么运行的? 当一个python函数在执行时,它会在相应的python栈帧上运行,栈帧表示程序运行时函数调用栈中的某一帧.想要获得某个函数相关的栈帧,则必须在调用这个函 ...

  5. 如何用python画饼图_Python中的五颜六色的饼状图!(一)

    [1x00]方法描述 matplotlib.pyplot.pie() 方法用于绘制饼状图. 基本语法:matplotlib.pyplot.pie( x[, explode=None, labels=N ...

  6. 如何用python做界面_Python+AutoIt实现界面工具开发

    原标题:Python+AutoIt实现界面工具开发 前言 不同于Linux服务器上的命令行操作,在windows系统上用户的使用习惯还是倾向于使用有界面的工具.如果工具是命令行交互操作的方式,可能是有 ...

  7. 如何用python画长方形_python opencv 画矩形跟老齐学Python之用Python计算

    一提到计算机,当然现在更多人把她叫做电脑,这两个词都是指computer.不管什么,只要提到她,普遍都会想到她能够比较快地做加减乘除,甚至乘方开方等.乃至于,有的人在口语中区分不开计算机和计算器. 那 ...

  8. 如何用python绘制等边三角形_python叠加等边三角形的代码编写方法

    python 叠加等边三角形的绘制的实现 python语言程序设计基础 习题2.5 import turtle def drawTriangle(num,len,flag):#flag用来调整画三角形 ...

  9. 如何用python整理表格_Python 自动整理 Excel 表格

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待盖棺. ...

最新文章

  1. 滴答定时器的计数模式_SysTick(系统滴答定时器)
  2. Spring Boot 2.4.5、2.3.10 发布
  3. linux 关闭磁盘检测,linux下检测磁盘状态
  4. js技巧之与或运算符 || 妙用
  5. 多进程鱼多线程的权衡选择
  6. 三层架构与设计模式思想部署企业级数据库业务系统开发
  7. (47)System Verilog数组排序
  8. T-SQL(SQL Sever) 简单语句实例
  9. 软件工程导论 06章详细设计
  10. git SourceTree 客户端 安装/使用教程
  11. 全网首发:JDK绘制文字:五、字体上下文产生流程
  12. [Python]通过有道词典API获取单词发音MP3
  13. 张江男曲折的出国梦_IT新闻_博客园
  14. 对序列化器、“对象”的理解
  15. NCEP再分析数据(FNL)Python下载
  16. POS接口与GE接口区别
  17. 数据采集卡采样率M Sa/s 与G Sa/s是什么意思
  18. 微型计算机的 I3 I5是,i3与i5有什么区别
  19. 一条宽带多人共享违法?
  20. P2300 合并神犇 DP

热门文章

  1. JAVA常见基础问题
  2. 关于“No enclosing instance of type * is accessible. Must qualify the allocation with an enclo……”的总结与思考
  3. java 中entry类型_java中的Entry是什么类型
  4. 面经分享:美团面试也太难了!4面美团终成Offer
  5. kk的房《垃》产预《圾CXXN》测
  6. 由一条关于普元软件的新闻产生的感想
  7. 部门培训之练习今天全部干翻篇
  8. 港科夜闻|香港科大人文社会科学学院阎连科教授获得英国皇家文学学会首颁国际作家终身荣誉奖...
  9. 2020中国高校计算机大赛——华为云大数据挑战赛比赛总结
  10. iOS 开发之优化电量