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

因工作需要研究了支付宝即时到帐接口,并成功应用到网站上,把过程拿出来分享。

即时到帐只是支付宝众多商家服务中的一个,表示客户付款,客户用支付宝付款,支付宝收到款项后,马上通知你,并且此笔款项与交易脱离关系,商家可以马上使用。

即时到帐只对企业客户服务,注册成功企业账号以后,申请签约即时到帐产品,大约3-5个工作日后,签约成功,可以马上进入集成产品阶段。

这个是支付宝提供的接口,有asp,c#,java,php四种语言的,每种语言提供GBK和UTF-8两种方案。另带一份支付宝的文档,这份文档我感觉本来简单的事情越说越麻烦了。

http://download.alipay.com/public/api/base/alipaydirect.zip

网上搜了一下,发现python接口有几个现成的方案。

https://github.com/fengli/alipay_python

这两个是一个,代码我还没看,写文档的时候发现的。

https://github.com/lxneng/alipay

https://pypi.python.org/pypi/alipay/0.2.2

支付宝即时到帐交易过程。

商家:是指支付宝的企业客户。也就是你集成服务单位。

终端消费者:是指在网上购物的消费者,你集成服务单位的客户。

1、终端消费者在商家网站选择商品,下订单。

2、商家把支付信息,get到支付宝指定的链接。

3、终端消费者在支付宝的网站上操作付款。

4、付款成功后,支付宝post付款成功的信息到商家预先提供的地址。

5、支付宝在终端消费者付款成功后三秒后,通过get跳回商家指定的链接。

第4步跟终端消费者操作付款的跳转无关,所以被称为异步通知。这一步,支付宝期待你返回‘success‘,如果你不返回‘success‘,支付宝会于4分钟后再次post付款成功的信息,此后每10分钟post一次,至少30分钟内如此。如果终端消费者付款失败,异步通知不会发生。

通过集成,我知道为什么终端消费者付款成功后要等3秒后跳转回商家页面了,因为它要等异步通知的信息先到达,先处理订单,再带终端消费者回到客户的界面,这样就可以看到支付成功的页面了。当然付款失败,异步通知不发生,订单状态没有改变,终端消费者就只能看到付款失败的信息。

了解了支付过程,开始设计程序。

1、生成商品订单。终端消费者选择商品生成商品订单。ID号要唯一,这个唯一不是要你采用UUID,而是跟支付宝往来过程唯一即可,从1递增也可以,只是终端消费者能看到这个id,所以最好采用固定长度的字符串,终端消费者如果知道自己是第一个客户,会不会心里发怵?后面会谈到,为了安全不仅不能用递增,而且至少要6位随机码以上。

2、选择支付方式。因为我们仅仅集成了即时到帐,所以只有支付宝付款一个选项。把支付方式加入订单信息,同时把订单id post到下一步地址,这一步post,最好采用新开页面,本页面弹出对话框,让客户自己选择支付成功或者支付失败。

3、发送支付信息。根据post过来的订单号组合信息,get方式发送数据给支付宝,同时带动终端消费者页面跳转到支付宝支付页面。

4、接受异步通知。

5、支付成功后支付宝跳转回来的程序。因为回来时get方式,为避免终端消费者看到更多敏感信息,这一步并没有渲染页面,而是处理信息,跳转到另外一个页面。

6、显示支付结果。这个页面和第2步让客户点击支付成功跳转的是同一个。支付失败,就跳转到一个说明吧。

待续...

示例待续...

时间: 2024-10-12 04:03:43

支付宝即时到帐接口的python实现,示例采用django框架的相关文章

ThinkPHP3.2对接开发支付宝即时到帐接口

ThinkPHP3.2对接开发支付宝即时到帐接口 在做一些商城.自动发卡网站.会员积分充值.金币充值等等这类网站都时候,我们极大可能需要使用到第三方都支付接口.不管是财付通.支付宝.银联.贝宝.易宝这些都 ThinkPHP3.2对接开发支付宝即时到帐接口        在做一些商城.自动发卡网站.会员积分充值.金币充值等等这类网站都时候,我们极大可能需要使用到第三方都支付接口.不管是财付通.支付宝.银联.贝 宝.易宝这些都好,总之这些第三方支付平台给我们带来了很多便利都地方.我们只需要跟这些平台

支付宝即时到帐接口无法回调及其解决过程

前段时间公司在紧锣密鼓的筹备一项社区商务项目,既然做电商,支付接口就必不可少,下面我们就看一下我在集成支付接口时所遇到的问题. 企业帐号在申请即时到帐支付接口后,便可下载官方的支付接口集成demo,我厂大部分项目都采用C#.net,故以C#集成支付接口. 闲话少说,上代码,下面是支付宝接口的核心代码: 1 //把请求参数打包成数组 2 SortedDictionary<string, string> sParaTemp = new SortedDictionary<string, str

ThinkPHP对接支付宝即时到帐功能

上个星期公司要求使用支付宝即时到帐的接口来实现账号的充值功能,这东西太折腾人了,一开始做的还是挺顺利的,下单,付款这些懂没问题了,结果在接收付款完成后支付宝异步返回的数据时出问题了,打死都接收不到数据,在折腾了好久后才发现问题,应为是整合到thinkphp中,我是用的tp的I方法获取数据I('post.XX')这样,在改成$_POST['XX']后就ok了,然后写业务逻辑,ok,成功更新数据库. 本来以为这就结束了,放到服务器上去测试,在我的电脑上测试ok,但是在同事的电脑上就报错了,根据官方文

搞定支付接口—支付宝即时到账支付接口详细流程和代码

搞定支付接口(一) 支付宝即时到账支付接口详细流程和java代码 为避免你们和我一样被支付接口搞得焦头烂额,写一个从申请开始到能收到钱为止的详细教程,实际上各个语言都可以用来集成支付接口,我用java来举例. 正所谓知己知彼,百战不殆.首先,我们来看一看支付宝平台给我们的说明. 打开支付宝 选择商家平台 选择电脑支付 进行如上操作后,来到如下图所示的页面 没有商家支付宝账号的需要注册,需要营业执照,经营信息,网址信息,联系人等等数据(图里说的很详细) 服务开通后,我们就可以集成了,我们点击如何集

关于支付宝即时到帐异步通知(notify_url)一点总结

(1)首先做支付的商业网站,需要能够上网(支付成功后,需要进行参数回传验证,如果上不了网,responseText就直接为false)(2)notify_url这个不能进行验证,比如继承父类Page,做一些session验证之类的.这样很有可能直接就跳转到别处(3)notify_url会按照一定的频率,发送验证请求,一旦返回success,则中断.这时候 也不能在response.write("success")之后,做跳转,这样会影响输出success(4)因为这个页面是post请求

Windows上python开发--2安装django框架

上一篇文章中讲了如何在windows上安装和开发python.这篇文章需要在上一篇的基数上进行.首先确保你的windows上python可以正常运行. 在安装django之前,我们应该先安装一个esay_install 的python工具,通过该工具可以很轻松安装各种扩展的框架和package. 不用你先到第三方网站下载tar.gz 包,然后用python setup.py install 安装. 1.下载安装easy-install 的tools. easy-install 的官方地址: ht

支付宝-即时到账交易接口

引用 项目中需要集成支付宝,发现集成很简单,mark一下. 支付宝即时支付接口功能描述:通过支付宝的支付渠道,付款者可以直接汇款给另一个拥有支付宝账号的收款者. 支付宝官方接口:http://club.alipay.com/read-htm-tid-9976972.html 支付宝自带示例演示(create_direct_pay_by_user_jsp_utf8),已经添加附件,我们将其中的代码集成到我们项目中即可. 1.修改AlipayConfig.java中的partner,key,sell

支付宝即时到账收款接口

官方文档 参考网站 1.src导入taobao接口包 lib导入jar包 百度网盘 2.三个支付宝界面 alipayapi.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.alipay.config.*"%> <%@ pag

微信支付宝个人免签约即时到帐接口开发附demo

支付界面: 扫码支付界面: 付成功后可以跳转到你程序指定的地址! demo: http://likeyunba.com/WeChat-Pay/ 原文地址:https://www.cnblogs.com/likeyun/p/9809780.html