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 判断用户是否登录,没登录就跳转,这些都不可以 ,甚至都不能出现,以免出错 ,在下就是在这里坑了好一会

  最后还是客服提醒我的。

        搞定收工 , 祝大家早日成为大牛

posted @ 2017-12-26 11:33  bobiscool  阅读(1876)  评论(0编辑  收藏  举报