2019独角兽企业重金招聘Python工程师标准>>>

#!/usr/bin/env python
# encoding: utf-8
'''
Created on 2011-1-5
@author: codeback@gmail.com
'''
import hashlib
import urllib2verfyURL={"https":"https://www.alipay.com/cooperate/gateway.do?service=notify_verify","http" :"http://notify.alipay.com/trade/notify_query.do?",}
gateway="https://www.alipay.com/cooperate/gateway.do"class alipay:def __init__(self,partner="您的淘宝身份",key="您的淘宝Key",sellermail="卖家邮箱",notifyurl="异步通知回调URL",returnurl="跳转回调URL",showurl="产品页面"):self.key=key;self.conf={'partner'         :   partner,'service'         :   "create_direct_pay_by_user",'payment_type'    :   "1",'seller_email'    :   sellermail,'notify_url'      :   notifyurl,'return_url'      :   returnurl,'show_url'        :   showurl,'_input_charset'  :   "UTF-8",'sign_type'       :   "MD5",#其他参数,如果有默认值定义在下面:'paymethod'       :   "",'mainname'        :   "",}def populateURLStr(self,params):ks=params.keys()ks.sort()rlt=''for k in ks:if params[k]==None or len(params[k])==0 \or k=="sign" or k=="sign_type" or k=="key":continuerlt=rlt+"&%s=%s"%(k,params[k])print "URL:"+rlt[1:]return rlt[1:]def buildSign(self,params):sign=hashlib.md5(self.populateURLStr(params)+self.key).hexdigest()print "md5 sign is %s" % sign;return sign'''校验支付宝返回的参数,交易成功的通知回调.校验分为两个步骤:检查签名是否正确、访问支付宝确认当前数据是由支付宝返回。params为支付宝传回的数据。'''def notifiyCall(self,params,verify=True,transport="http"):sign=Noneif params.has_key('sign'):sign=params['sign']locSign=self.buildSign(params)if sign==None or locSign!=sign:print "sign error."return "fail"if params['trade_status']!='TRADE_FINISHED' and  params['trade_status']!='TRADE_SUCCESS':return "fail"if not verify:return "success"else:print "Verify the request is call by alipay.com...."url = verfyURL[transport] + "&partner=%s&notify_id=%s"%(self.conf['partner'],params['notify_id'])response=urllib2.urlopen(url)html=response.read()print "aliypay.com return: %s" % htmlif html=='true':return "success"return "fail"'''生成提交到支付宝的表单,用户通过此表单将订单信息提交到支付宝。由params参数提供订单信息,必须包含以下几项内容:out_trade_no:订单号subject     :订单名称、或商品名称body        :订单备注、描述total_fee   :总额'''def createPayForm(self,params,method="POST",title="确认,支付宝付款"):params.update(self.conf)sign=self.buildSign(params)params['sign']=signele=""for nm in params:print "key in params : %s"%nmif params[nm]==None or len(params[nm])==0 or nm=='_input_charset':continueele = ele + " <input type='hidden' name='%s' value='%s' />" % (nm,params[nm])html='''<form name='alipaysubmit' action='%s?_input_charset=%s' method='%s' target='_blank'>%s<input type="submit" value="%s" /></form>''' % (gateway,params['_input_charset'],method,ele,title)return html

转载于:https://my.oschina.net/u/2007546/blog/424343

Python 支付宝支付代码相关推荐

  1. python 支付宝支付 无效根证书_python实现银联支付和支付宝支付接入

    本文实例为大家分享了python银联支付和支付宝支付接入的具体代码,供大家参考,具体内容如下 前置条件:需要安装Python的OpenSSL模块,我使用的版本是16.1.0,可以使用pip insta ...

  2. python支付宝支付_python 调用支付宝支付

    支付宝接口集成,本地环境调试支付请求 1.首先登录 蚂蚁金服网站,也就是支付宝开发者平台 登录蚂蚁金服开发者平台后,创建沙箱应用 开发者平台 也就是支付宝给开发者提供的调试环境应用 沙箱测试应用 2. ...

  3. React实现支付宝支付代码

    1.请求后台接口获取请求数据 2.前端拉起支付实现 支付宝请求回来的数据是一个表单所以要在自己本身打开一个新的窗口然后把请求的数据写入然后打开支付宝支付 pc是扫码界面.手机上如果有支付宝直接拉起支付 ...

  4. python 支付宝支付 无效根证书_Python-支付宝SDK的使用与注意事项,pythonalipaysdk,及,点...

    一. 在 点击跳转 这里拿到自己的 appid  和  支付宝公钥 , 如果想要得到 支付宝的公钥 就需要获取 应用的公钥,具体获取方式 : 应用私钥和支付宝公钥 获取 和 配置 过程: 1. 下载后 ...

  5. Android App接入支付功能——支付宝支付

    接入前准备 接入APP支付能力前,开发者需要完成以下前置步骤. 本文档展示了如何从零开始,使用支付宝开放平台服务端 SDK 快速接入App支付产品,完成与支付宝对接的部分. 接入准备--支付宝开发能力 ...

  6. python调用支付宝支付接口详细示例—附带Django demo代码

    项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公钥 2.应用公钥 3.应用私钥 4.APPID 5.Django 1.11. ...

  7. python 支付宝接口_python调用支付宝支付接口流程

    项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公钥 2.应用公钥 3.应用私钥 4.APPID 5.Django 1.11. ...

  8. Python实战项目-10文件存储/支付宝支付/支付成功回调接口

    每天进步一点点,关注我哦,每天分享测试技术文章 文件存储 视频文件存储在某个位置,如果放在自己服务器上 放在项目的media文件夹 服务器上线后,用户既要访问接口,又需要看视频,都是使用一个域名和端口 ...

  9. 支付宝---支付功能 支付宝即时到帐接口的python实现,示例采用django框架

    支付宝即时到帐接口的python实现,示例采用django框架 支付宝即时到帐接口的python实现,示例采用django框架 因工作需要研究了支付宝即时到帐接口,并成功应用到网站上,把过程拿出来分享 ...

最新文章

  1. Windows7 64bit VS2013 Caffe train MNIST操作步骤
  2. linux c 自定义信号 测试kill信号发送
  3. 开发移动端web页面click事件失效问题
  4. MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析...
  5. java在枚举方法中调方法_java – 值方法如何在枚举中工作
  6. 618技术特辑(三)直播带货王,“OMG买它”的背后,为什么是一连串技术挑战?
  7. 认识 ARM、FPGA
  8. 一文看懂神经网络中的梯度下降原理 图像说明
  9. mysql主从同步开启后的iptables的设定问题
  10. maven项目中配置pom.xml引用ojdbc14.jar出错
  11. 金融危机下窗帘选购秘籍
  12. 返利系统功能详细介绍
  13. 使用C++开发的NES(FC)模拟器
  14. 最快下月!地表最强语言模型GPT-4发布在即?CEO暗示:已通过图灵测试
  15. 为什么局部下降最快的方向就是梯度的负方向?
  16. MySQL数据库比较工具 - mysqldbcompare
  17. 《数据结构与算法》知识小结
  18. cardboard 效果_如何在iPhone上设置Google Cardboard
  19. ajax获取的数据中包含html代码,执行ajax返回数据中包含的script脚本代码
  20. matlab使用教训

热门文章

  1. leetcode346. 数据流中的移动平均值
  2. leetcode217. 存在重复元素(vip题)超简单
  3. 订单数据持久化和验证相关解决方案
  4. 计算机中丢失mpr.dll,mprmsg.dll
  5. android安全 报告,Android安全检测报告
  6. python程序设计题怎么写_《Python语言程序设计基础》第1章程序练习题
  7. 东软 软件工程3 软件项目管理 团队组织管理
  8. 视频测试序列下载:YUV文件
  9. C++ 标准库 vector list map使用方法
  10. JM8.5中的7种宏块模式问题