不会作,看看也能够会,要作好就仍是须要多学习
国庆回来就一直没状态,看完
《银河护卫队》,印象最深的居然是只有两句台词的
呆萌groot,昨天才休息一天,大耍大吃,今天仍是把昨天的知识学习一下。前些天同事作一网站,须要用到支付宝接口,因为同事才学习PHP,我比他多学习了两天,我就帮忙参考了一下。
demo就是教程
支付宝官方网站(https://b.alipay.com/order/techService.htm)下载了开发包,直接拷贝了PHP版本做为咱们须要的版本,里面直接就是一个demo。要怎么作呢?没吃过蛇肉还没见过蛇跑啊,要是没见过就去见识见识,毕竟关系到“人民币”。按照用户的习惯仍是熟悉一下流程:
加购物车(项目直接忽略,定向人群)
- 下订单 - 确认订单 - 支付订单。
思路整理分析:(仅仅来源于一个顾客的思路,不正确请留言指教一下,谢谢!)
下订单:订单数据交互至数据库,跳转至确认订单页面
确认订单:订单数据显示给顾客确认一下
支付订单:跳转至支付流程页面
订单状态:订单状态修改一下
问题整理分析:(问题来源于新手刚刚看完DEMO)
数据是经过表单提交信息至确认订单页面,直接获取数据库数据?仍是显示表单提交的信息?
确认订单后跳转至支付页面,直接获取数据库数据?仍是显示表单提交的信息?
支付流程现实是这样的
如图一,下订单页面,页面如图,信息来源于第一界面,数据仅仅是针对顾客的第一预览。
页面中的信息无需如此,简单修改了一下,提交订单后跳转至alipayapi.php,页面内接受信息再让用户确认一下,或者直接取消显示的确认按钮,数据经过订单号,查询出商品单价等信息进行提交。(提到这里仅仅是由于当时开发中的一个小插曲,异步的不能修改状态,因而我帮忙测试的时候,我价格修改成了0.01元,支付成功,同步状态修改,若是是发货的话,不得气死,还好只是相似于支付定金,还好有人审核,可是这终究是一个问题)。问题来源于alipayapi没有进行数据验证,关系到钱的程序仍是要谨慎一点好。
走一下接口开发流程
很简单的修改一下配置文件alipay.config.php,再而后简单的配置一下alipayapi.php,主要说明一下这两项:
//服务器异步通知页面路径
$notify_url = "http://商户网关地址/create_direct_pay_by_user-PHP-UTF-8/notify_url.php";
//需http://格式的完整路径,不能加?id=123这类自定义参数
//页面跳转同步通知页面路径
$return_url = "http://商户网关地址/create_direct_pay_by_user-PHP-UTF-8/return_url.php";
//需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/
这里咱们默认通知页面为:http://www.pushself.com/
$notify_url = "http://www.pushself.com/notify.php";
$notify_url = "http://www.pushself.com/return.php";
notify.php页面就是支付订单页面,登陆支付宝支付(扫一扫支付)后,支付宝自动抓取的页面。
return.php页面就是支付订单页面,登陆支付宝支付(扫一扫支付)后,页面跳转至的回调页面。
主要是针对扫一扫支付,以上两个页面为成功后作修改状态操做,return.php是支付过程当中不能关闭浏览器,关闭了就不能修改状态,相反此时notify.php就会起做用了,关闭浏览器后,支付宝自动抓取这个页面,若是抓取到success,这次交易就完成了。
乱是乱了点儿
作事须要的是坚持,有些事情不作就永远也不会。