先上地址:https://yf.heson10.com
前方高能音乐来袭。。。。注意保护耳朵,可预先试听:
为什么搭建?
效果图
前台效果图
前三个没付款的家伙,你们有本事倒是付啊!😂
后台
搭建摘要
- 支付宝开通了商家服务、qq钱包上传了收款码、微信付费签约了并上传收款码
- 源码需要修改适配码支付,下面简单讲一下
关于源码修改适配问题
核心函数php文件:Pay.Class.php
主要修改了submit()
函数,增加了对码支付支付工具type
的判断,以及财主爸爸昵称nick
的调用,以及增加码支付一些自用参数,函数代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| public function submit($type, $out_trade_no, $notify_url, $return_url, $name, $money, $sitename, $nick) { if ($type == 'alipay') { $typeid = 1; } if ($type == 'qqpay') { $typeid = 2; } if ($type == 'wxpay') { $typeid = 3; }
$data = [ 'id' => $this->pid, 'type' => $typeid, 'out_trade_no' => $out_trade_no, 'notify_url' => $notify_url, 'return_url' => $return_url, 'name' => $name, 'price' => $money, 'sitename' => $sitename, 'act' => 0, 'debug' => 0, 'pay_type' => 1, 'pay_id' => $nick, 'param' => $out_trade_no
]; $string = http_build_query($data); $sign = $this->getsign($data); return 'http://codepay.fateqq.com/create_order/?' . $string . '&token=换成自己的token'; }
|
其中http://codepay.fateqq.com/create_order/?
是码支付API的地址,码支付的token
写在token=
的后面。
网站端yf.heson10.com/Admin/
后台里,要填写码支付的id:
Pay/Submit/index.php的修改
主要是前面和前面submit()函数相对应。注意这里的https,如果服务器没开ssl,就换成http
1
| submit($order['type'], $order['trade_no'], 'https://' . $_SERVER['HTTP_HOST'] . '/Pay/Notify/', 'https://' . $_SERVER['HTTP_HOST'] . '/Pay/Return/', config('sitename') . ' - 支付订单', $order['money'], config('sitename'), $order['nick']);
|
修改后附图:
Pay/Ruturn/index.php的修改
去掉验证数据,增加对订单号的验证,同时调用自定义参数param
,用于定位当前订单号。
1 2 3 4 5 6 7 8 9 10 11 12 13
| $data = $_REQUEST; $pay = new Pay(config('pid'), config('key'),config('api')); if ($data['pay_no']) { $order = Db('select * from yyhy_order where trade_no="' . $data['param'] . '"'); if (!$order) exit('fail'); $order = $order[0]; if ($order['status'] != 1) { Db('update yyhy_order set `status`=1,`endtime`="' . date('Y-m-d H:i:s') . '" where trade_no="' . $data['param'] . '"'); } alert('施舍成功,好人有好报!', '/'); } else { alert('支付验证失败,施舍失败了,又吃不到饭饭了!', '/'); }
|
修改后附图:
Pay/Notify/index.php的修改
简单验证单号就行,还要具备补单功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| include '../../Core/Common.php';
$data = $_REQUEST; $pay = new Pay(config('pid'), config('key'),config('api')); if ($data['pay_no']) { echo 'success'; $order = Db('select * from yyhy_order where trade_no="' . $data['param'] . '"'); if (!$order) exit('fail'); $order = $order[0]; if ($order['status'] != 1) { Db('update yyhy_order set `status`=1,`endtime`="' . date('Y-m-d H:i:s') . '" where trade_no="' . $data['param'] . '"'); } } else { echo 'fail'; }
|
写在后面
好吧,今天又水了一篇。😂😂
Q:为什么写这么一篇水文?
A:因为弄这个还是花了不少功夫,简单记录一下:
一是做笔记让自己知道修改了哪些东西
二是为需要的小伙伴提供思路。
9月11日更新:
已经不算是水文了,更新的文章加上了修改方法和配图,学会的扣111111111111111,没学会的扣眼珠子!
9月12日更新:
解决微信、qq支付异步问题。
后期打算更新