【支付宝充值】支持PC及WAP版,并回调写入数据库。

浏览:2141 发布日期:2016/11/04 分类:技术分享
写在前面:
最近公司接到TP3.2.3版在线支付的业务要求用支付宝及微信在线充值并回调写入数据库,看了很多实例没有一个能直接用的,也不是很方便,没办法,自己用支付宝实例研究一个。我现将支付宝的接口发出来,后续我再发布微信,微信的也差不多了。

前期准备必须是支付宝企业账号。签约"即时到账及手机网站支付"服务才可以使用。
申请地址:https://b.alipay.com/signing/productSet.htm?navKey=all
状态查询:https://b.alipay.com/order/serviceIndex.htm(需要登陆后查看)

重要:在图片箭头处点击获得PID及KEY。
先下载即时到账交易接口(create_direct_pay_by_user)
下载地址:https://doc.open.alipay.com/doc2/detail?treeId=62&articleId=103566&docType=1
只需要MD5签名版本\create_direct_pay_by_user-PHP-UTF-8\lib里面的四个文件。

将两个文件里下面这两行删掉。
require_once("alipay_core.function.php");
require_once("alipay_md5.function.php");
并将这四个文件放入\Library\Vendor\Alipay里面

MYSQL建立一个数据库并导入三个表。
payinfo为存放PID及KEY的表
paylog 为支付成功后写入的支付记录表
user     为支付成功后更新用户余额的表

ID为2的代表是支付宝,将你的PID及KEY写入
我把PID及KEY用数据库读取就是为了在网站后台加入支付宝接口表单,让用户可以自己修改PID及KEY。灵活性强一点。当然 如果你想在控制器写死也可以。。
只要你上面操作完成与我发布的图片是一样的,前期的准备工作就完成了。

贴出控制器代码,在\Home\Controller建立PayController.class.php文件
之前看了大部分的TP朋友制作的方式,我都不是很满意 。
我将支付宝相关信息全部放入一个控制器内,方便在数据库内取出PID和KEY,无需其它地方再操作,省心。


前台模板代码:\Home\View\Pay里面建立ali_index.html

注意:form提交这里如果是电脑就是PC。如果是手机版就改成WAP。


看看支付效果吧
输入金额提交

扫码付款

支付成功并跳转控制器所设定的URL



同理,WAP支付只是跳转后直接进入手机支付界面,




最后看看刚才支付的结果
看看最后一条记录,我边发贴边测试的。

商户里的订单

更新用户的余额

注意,要以“分”为单位写入。因为微信是以分的,我统一全用分了。

写在最后,本贴不上传附件了,需要下载的朋友加qun下载,只为大家互相交流。

QQ-qun下载实例代码:9585085



最佳答案
评论( 相关
后面还有条评论,点击查看>>