TP3.2.3 接入支付宝
TP3.2.3 接入支付宝
项目接入支付宝支付了,在做这个给我的感觉是,方便 ,毕竟是老马的产品是吧,
话不多说 , 首先我们先找到官方的SDK ,不想去找的小伙伴复制此链接 https://docs.open.alipay.com/194/105201/
然后解压 如图
这我们只需要将这些文件放到Vendor 文件夹中的Alipay里就可以了,然后就是配置信息了
如图
App_Id 在你的支付宝开发平台可以得到 ,私匙和公匙可以支付宝开放平台的一个生成器可以得到,但是要先生成私匙,在用私匙生成公匙,然后去头去掉换行就好
然后在就是调用了
//支付宝充值操作 public function pay() { $config = C('Alipay'); //异步通知地址 $config['notify_url'] = ""; //同步跳转 $config['return_url'] = ""; Vendor('Alipay.pagepay.service.AlipayTradeService'); Vendor('Alipay.pagepay.buildermodel.AlipayTradePagePayContentBuilder'); //商户订单号,商户网站订单系统中唯一订单号,必填 $out_trade_no = trim(I('post.WIDout_trade_no')); //订单名称,必填 $subject = trim(I('post.WIDsubject')); //付款金额,必填 $total_amount = trim(I('post.WIDtotal_amount')); //商品描述,可空 $body = trim(I('post.WIDbody')); $ud = session('users.uid'); $data = array( 'uid'=>$ud, //用户id 'win_code'=>$out_trade_no, //商户订单号 'winsubject'=>$subject, //订单名称 'wintotal_amount'=>$total_amount, //付款金额 'winbody'=>$body, //商品描述 'state'=>'zfb', //支付方式 'status'=>'0', //是否支付 'ordertime'=>time() //交易时间 ); M("pay_record")->add($data); // 保存交易信息 //构造参数 $payRequestBuilder = new \AlipayTradePagePayContentBuilder(); $payRequestBuilder->setBody($body); $payRequestBuilder->setSubject($subject); $payRequestBuilder->setTotalAmount($total_amount); $payRequestBuilder->setOutTradeNo($out_trade_no); $aop = new \AlipayTradeService($config); $response = $aop->pagePay($payRequestBuilder,$config['return_url'],$config['notify_url']); //输出表单 // var_dump($response); }
然后异步的时候要注意要重跳转之类的 比如是cookie session 判断用户是否登录,没登录就跳转,这些都不可以 ,甚至都不能出现,以免出错 ,在下就是在这里坑了好一会
最后还是客服提醒我的。
搞定收工 , 祝大家早日成为大牛