Django(Python)网站集成支付宝示例
Author: twinsant@gmail.com
License: CC.by (http://creativecommons.org/licenses/by/2.0/)
支付宝相关信息主要参考支付宝网站说明、官方文档和代码,其中文档包括商家工具FAQv0.02,标准支付宝交易服务接口规范v1.35,支付宝接口集成指南v0.5,支付宝网上快速付款服务技术集成文档v1.35 (ps. 实在忍不住再说一遍支付宝信息架构太乱了,文档资料知识整理地太不专业了。。。)
Python实现使用修改了Robin Huang的Python代码
目前好看簿选择的是支付宝商家服务套餐里的体验版:预交1800元,在12个月内,可走合作交易流量200000元(100元支付宝打劫9毛:-),超量后单笔费率 1.5 %
一些基本概念和定义
支付宝业务术语
基础服务
-
支付宝账号:用邮箱或手机注册的支付宝账户
-
标准双接口:是支付宝推出的商家网上支付解决方案,包括即时到帐交易和担保交易付款两种方式,还附带支付宝信任档案功能
-
即时到帐交易:用户的付款直接进入商家的支付宝账户
-
担保交易付款:买家满意后确认支付
增值服务
蚂蚁觉得最有用的是确认发货接口和交易接口查询这种API,可用把供应链系统和支付宝集成,免去人手工劳动的繁琐,但安全和财务方面的增值服务也许是鸡肋,所有增值服务主要包含在创业套餐和专业套餐里。
支付宝技术术语
-
即时到帐接口:service参数为create_direct_pay_by_user,实现即时到帐交易的技术接口
-
担保交易接口:service参数为trade_create_by_buyer,买家满意后确认支付
-
批量付款到帐接口:估计只有C2C平台的网站会用,体验套餐里没有。。。
-
合作者身份:partner,支付宝允许商家编程访问的身份认证代码
-
安全校验码:key,编程访问的安全校验码
-
return_url:支付成功后同步返回的网页网址,支付宝只通知1次,所有。。。
-
notify_url:支付宝推荐的方式,异步的支付状态通知服务,网站上可以被支付宝服务器访问的网址
-
out_trade_no:集成网站内部的订单号,可用id+日期+随机数组合而成,可以用来和支付宝对帐
-
_input_charset:传递参数的编码,如果参数里有中文等文本信息,需要告诉支付宝解码的字符集
-
支付网关:集成网站POST交易数据到支付宝服务的URL,目前是https://www.alipay.com/cooperate/gateway.do
基本流程
-
商家网站显示商品/服务(页面嵌入各种信息),提供买家购买按钮
-
买家点击购买,商家网站组合购买信息,收集必要的参数,然后按照支付宝接口规范(排序、签名、post)访问支付宝网关,引导用户使用支付宝支付
-
支付宝同步(return_url)或异步(notify_url)返回,通知商家网站进行后续业务处理
具体实现
参见代码。
此日记发布于2009-06-15 16:33:21