importtimefrom pay importAliPayclassAlipayApi(object):def __init__(self, app_id, notify_url, return_url, merchant_private_key_path, alipay_public_key_path,debug):""":param app_id:

:param notify_url:支付宝post回调地址,用来修改订单信息

:param return_url:支付宝get回调地址,用来给用户展示

:param merchant_private_key_path:商户的私钥

:param alipay_public_key_path:支付宝的公钥"""self.app_id=app_id

self.notify_url=notify_url

self.return_url=return_url

self.merchant_private_key_path=merchant_private_key_path

self.alipay_public_key_path=alipay_public_key_path

self.debug=debug

self.alipay=AliPay(

appid=app_id,

app_notify_url=notify_url,

return_url=return_url,

app_private_key_path=merchant_private_key_path,

alipay_public_key_path=alipay_public_key_path, #支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥

debug=debug, #默认False,

)defgetAlipayPage(self,subject,total_amount,out_trade_no,):""":param subject: 商品简单描述

:param total_amount: 交易总金额(单位: 元 保留俩位小数)

:param out_trade_no: 商户订单号

:return: 支付宝支付页面"""query_params=self.alipay.direct_pay(

subject=subject,

out_trade_no=out_trade_no,

total_amount=total_amount,

)ifself.debug:

pay_url= "https://openapi.alipaydev.com/gateway.do?{}".format(query_params)else:

pay_url= "https://openapi.alipay.com/gateway.do?{}".format(query_params)returnpay_urldefalipayCallbackPost(self,body_str):""":param body_str: post回调的数据

:return:"""

from urllib.parse importparse_qs

post_data=parse_qs(body_str)

post_dict={}for k, v inpost_data.items():

post_dict[k]=v[0]#做二次验证

sign = post_dict.pop('sign', None)#通过调用alipay的verify方法去认证

status =self.alipay.verify(post_dict, sign)ifstatus:#修改自己订单状态

returnTrueelse:returnFalsedefalipayCallbackGet(self,params):""":param params: get回调的数据

:return:"""dic_params= {k: v for k, v inparams.items()}

sign= dic_params.pop('sign', None)

status=self.alipay.verify(dic_params, sign)ifstatus:returnTrueelse:returnFalseif __name__ == '__main__':

app_id= "填写自己的"notify_url= "填写自己的"return_url= "填写自己的"merchant_private_key_path= "app_private_2048.txt"alipay_public_key_path= "alipay_public_2048.txt"ali=AlipayApi(app_id=app_id,

notify_url=notify_url,

return_url=return_url,

merchant_private_key_path=merchant_private_key_path,

alipay_public_key_path=alipay_public_key_path,

debug=True)

subject="充气娃娃"out_trade_no="OFG"+str(time.time())

total_amount=1000url=ali.getAlipayPage(subject=subject,out_trade_no=out_trade_no,total_amount=total_amount)print(url)

python实现扫码支付_python支付宝页面扫码支付相关推荐

  1. 陪玩系统源码开发,H5页面中调用支付功能的实现

    最近在陪玩系统源码开发工作中,有个H5页面需要实现微信支付和支付宝支付的功能,现在已经完成,抽个时间写出来,分享给有需要的人. 第一步:先判断当前环境 判断陪玩系统源码中用户所属环境,根据环境不同,执 ...

  2. SpringBoot工程接入第三方支付渠道支付宝(C扫B支付)

    目录 1.C扫B的概念 2.支付宝接口调研 2.1.产品列表 2.2.线下场所接入支付 3.配置支付宝沙箱环境 3.1.简介 3.2.注册开放平台账号 3.3.配置密钥 3.4.沙箱账号 4.生成二维 ...

  3. 在线支付——微信支付宝二维码合一

    微信支付与支付宝支付二维码合一的原理是:用户扫描二维码,打开我们自己做的页面,在这个页面里面判断用户打开该页面的客户端是微信还是支付宝,如果是微信,则调用微信支付,如果是支付宝,则调用支付宝支付. 具 ...

  4. 建行聚合支付及支付宝二维码开发经验(C语言)

    由于笔者之前专业只是学习电子电路相关知识,参加工作后接手了一个对接建行的聚合支付二维码项目.之前我更改过设备中支付宝二维码的bug,而不是完整的开发工作.所以这是我第一次真正的对接一个API的项目,让 ...

  5. python可以做二维码吗_Python制作二维码真的这么简单?

    今天在最大的交友社区GitHub上发现了一个比较有意思的项目,无论你是什么操作系统,只需要一行代码就可以很方便的生成二维码.包括普通二维码.艺术二维码(黑白/彩色).动态gif二维码都可以制作,用法比 ...

  6. Android 开发中如何实现在webview中打开微信支付、支付宝、QQ钱包支付

    在Android实际开发中往往会遇到不在项目中添加微信,支付宝,QQ钱包支付的SDK,但是还是要调用本地App进行支付,我们可以在webview中进行解决这样的问题,具体的代码如下: @Overrid ...

  7. python调用微信支付_Python使用JsAPI发起微信支付 Demo

    Python使用JsAPI发起微信支付 Demo 这个是基于Django框架. 了解更多,可以关注公众号"轻松学编程" 1.公众号设置.微信商户号设置 这些都可以在官网查得到, 左 ...

  8. 建行聚合支付及支付宝二维码开发经验(C语言2)

    这篇文章本来是存在有道云中的,修改了部分代码在这里也发表一次吧. 本文章共分为两个部分:第一部分为linux的libcurl库的介绍和使用.第二部分为decode后链接生成二维码的方式. 1.linu ...

  9. python微信小程序抢购_Python实现微信小程序支付功能!Python确实强的一批!

    正文 由于最近自己在做小程序的支付,就在这里简单介绍一下讲一下用python做小程序支付这个流程.当然在进行开发之前还是建议读一下具体的流程,清楚支付的过程. 1.支付交互流程 2.获取openid( ...

最新文章

  1. NVIDIA GPU上的随机数生成
  2. 清晰易懂的Numpy入门教程
  3. PHP 5.6 Apache配置
  4. windows中文字体_如何让 Windows 变「好看」?
  5. IDEA把Springboot打成可执行jar包,内嵌tomcat 这个可以用
  6. 工作总结7:自定义样式
  7. RDD(弹性分布式数据集)
  8. 算法:线性时间选择_机器学习必修课!scikit-learn 支持向量机算法库使用小结
  9. Android开发笔记(六十六)自定义对话框
  10. 2019-9-9,中兴笔试
  11. 信息化建设规划_中小型企业信息化建设规划方案
  12. 如何使用 Windows 电脑向 Android 设备安装 apk 应用
  13. Ubuntu 使用上的一些小tip
  14. c51单片机汇编语言1秒延时,51单片机汇编延时程序算法详解
  15. 油画特效软件akvis artwork破解版安装及破解教程
  16. what is denoise
  17. 【战国策】之《齐策·昭阳为楚伐魏》
  18. MLAT-Autoencoders---下篇-关键代码及结果展示(3)(终)
  19. GitLab无法显示头像的解决方法
  20. 真机提示 iPhone has denied the launch request 问题

热门文章

  1. 仿QQ写的chrome浏览器插件.
  2. word2013和wps使合并后的内容上下对齐
  3. uni-app下载图片到系统相册
  4. psu 计算机 排名,PSU计算机工程专业研究生排名必然得当心去考察
  5. POI 复制 word 表中的行操作 以及样式
  6. 湖北刷脸支付:中国银联联合商业银行推出“刷脸付”产品
  7. Adobe Premiere导出文件过大
  8. 【墨菲安全实验室】“Dirty Pipe”的故事-Linux 内核提权漏洞 (CVE-2022-0847)
  9. c++进制转换(完整)
  10. linux c++ 学习记录