这次在项目中要实现订单功能,所以要完成在线支付,在线支付一般有网银支付和第三方支付(支付宝、paypal等)这两种途径,未简单起见,先完成支付宝在线支付功能,由于项目基于Yii框架,且使用UTF-8编码,所以显然要用支付宝接口中的PHP UTF-8相关API来实现。
在正式测试之前,先准备好几个字段:支付宝帐号,与该支付宝帐号绑定的合作身份者id以及安全校验码key。
测试之前要先到 http://club.alipay.com/read.php?tid=9976972 这里取下载最新的相关接口,因为我用到的是即时支付功能,所以下载即时支付接口。
下载完成后解压该文档到指定文件夹,进入所需接口目录create_direct_pay_by_user-PHP-UTF-8:
create_direct_pay_by_user-PHP-UTF-8文件夹下的目录结构如下:
这里所需要修改的文件有两个:alipay.config.php和alipayapi.php。
alipay.config.php中主要修改的是合作身份者id以及安全校验码key:
而alipayapi.php中主要修改的是支付成功后返回URL和通知URL的路径:
然后我们就可以在浏览器中通过index.php进入即时支付入口页面了:
填入相关信息(作为测试一般付款金额设为0.01),点击确认即可跳转到支付宝支付页面,如果报错,查看支付宝账户以及合作身份者id以及安全校验码key这三个字段输入是否正确(如果报错说支付已过时可能是由于订单ID已支付,换一个订单ID就好了):
输入支付宝帐号和密码后点击下一步,进入支付界面,输入相关信息后,点击确认支付,如果支付完成,则跳转到上面alipayapi.php中所定义的return_url,支付成功的话会输出
验证成功
至此,测试支付宝即时支付功能完成。
为了和自己的网站做到无缝对接,往往我们会自己创建index.php中的提交表单,使之与自己的web应用相统一。