php实现的支付宝网页支付功能示例【基于TP5框架(2)
3.同步回调页面跳转处理 同步只是做一个跳转处理 不要写任何数据处理
$pay=Db::name('pay_type')->where(['pay_id'=>1])->find(); $zfb=json_decode($pay['pay_json'],true); $config = [ 'app_id' => $zfb['app_id'], 'merchant_private_key' => $zfb['merchant_private_key'], 'notify_url' => config('z_notify_url'), 'return_url' => config('z_return_url'), 'charset' => config('charset'), 'sign_type' => config('sign_type'), 'gatewayUrl' => config('gatewayUrl'), 'alipay_public_key' => $zfb['alipay_public_key'] ]; $arr=$_GET; $alipaySevice = new \AlipayTradeService($config); $result = $alipaySevice->check($arr); /* 实际验证过程建议商户添加以下校验。 1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号, 2、判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额), 3、校验通知中的seller_id(或者seller_email) 是否为out_trade_no这笔单据的对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email) 4、验证app_id是否为该商户本身。 */ if($result) {//验证成功 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //请在这里加上商户的业务逻辑程序代码 //——请根据您的业务逻辑来编写程序(以下代码仅作参考)—— //获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表 //商户订单号 $out_trade_no = htmlspecialchars($_GET['out_trade_no']); //支付宝交易号 $trade_no = htmlspecialchars($_GET['trade_no']); $this->success("支付成功",url('Index/index')); //——请根据您的业务逻辑来编写程序(以上代码仅作参考)—— ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// } else { //验证失败 echo "验证失败"; }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。