本人只是简单的测试了兼容性 不保证全部的支付部分都兼容 有风险运营中的网站不建议这么改
至于其他模块的原路退款功能 等老大的增强功能出来了 可以考虑做下兼容或者联系模块开发者进行增强即可。
修改有风险 修改有风险 修改有风险
新旧支付对比 只是支付宝的部分变更为开发平台的 多了一个电脑版的扫码支付 其他的没区别 不需要退款的功能没必要更新修改。
微信支付授权目录只设置顶级域名即可 结尾加/ 区分https和http
支付宝申请教程:
https://www.kancloud.cn/q889518/mall/1016647
第一步:在 application 目录下新建一个 function.php
里面的代码为:
<?php function post_olpay( $array=['money'=>'','return_url'=>'','banktype'=>'','numcode'=>'','title'=>'','callback_class'=>''] , $jump = FALSE){ foreach ($array AS $key=>$value){ $key=='numcode' && $value=mymd5($value); if ($key=='callback_class'&&strstr($value,'@')) { $value = mymd5($value); } $url .= $key.'='.urlencode($value).'&'; } //$return_url = urlencode($array['return_url']); //unset($array['return_url']); $url = iurl('index/payment/index') . '?' . $url; //参数不能放进路由,因为微信支付有授权目录的限制 if($jump==true){ header("location:$url"); exit; } return $url; }
第二步把:
application\index\controller\wxapp\Pay.php
把:
'wx_notify_url'=>$this->request->domain().url('pay/index',['banktype'=>'weixin','action'=>'back_notice','back_post'=>'wap','client_type'=>$type]),
改为:
'wx_notify_url'=>$this->request->domain().url('payment/index',['banktype'=>'weixin','action'=>'back_notice','back_post'=>'wap','client_type'=>$type]),