支付宝即时到账接口文档
https://doc.open.alipay.com/doc2/detailtreeId=62&articleId=103566&docType=1
1、第一开始做这个的时候看错文档了,下载了当面付的文档,那个demo中用配置appID,appid和pid不是同一个,做那个demo采用RSA加密,要将本地的公钥上传至商户支付宝的秘钥管理中。支付数据提交的时候会返回数据提示ISV权限不足,问了一下支付宝的客服才发现是这个商户的支付宝账户没开通当面付的功能,所以权限不足。这个当面付貌似是对线下扫码支付的。一般PC端是用即时到账的接口。
2、下载支付宝即时到账的文档demo。需要修改几个参数,demo中有详细说明,第一开始运行的是RSA加密方式的demo,需要上传本地公钥,本地只有私钥,文档上需要安装OpenSSL来生成公钥,结果我安装了一个晚上也没有装好。。。机智的我打开了MD5加密方式的demo,这个只需要在config里另外设置key这个参数即可。
3、需要注意的是 return_url和notify_url。前者是同步的成功之后成功跳转的本地页面,后者是异步的通知不在页面显示。个人理解是return_url是成功之后间隔几秒跳转到这个页面(该方式不是支付宝主动去调用商户页面,而是支付宝的程序利用页面自动跳转的函数,使用户的当前页面自动跳转),这个页面会执行对本地数据进行更新如更新订单状态,在此期间用户可能未等到页面跳转就将页面关掉一直于成功付款之后为能跳到return_url的页面所以订单更新就不会执行,那么这时就需要notify_url, 调用支付宝接口且订单状态发生改变时,支付宝会调用这个界面通过POST方式返回相应的状态数据,我们可以在notify_url的界面中写订单更新程序,这样即使return_url中的订单更新操作没有执行,我们依然可以通过notify_url来执行更新(注意notify_utl执行更新时要判断订单有没有被之前的return_url更新,避免重复跟新)。
参考文章
接口文档说明:
http://blog.sina.com.cn/s/blog_56f273130102w2dw.html
http://www.cnblogs.com/blodfox777/archive/2009/11/03/1595223.html
php获取服务器路径:
http://www.cnblogs.com/A-Song/archive/2011/12/14/2288215.html