1. 程式人生 > >TP3.2.3 接入支付寶

TP3.2.3 接入支付寶

public rim sets 通知 http sta sdk ins ali

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 判斷用戶是否登錄,沒登錄就跳轉,這些都不可以 ,甚至都不能出現,以免出錯 ,在下就是在這裏坑了好一會

  最後還是客服提醒我的。

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

TP3.2.3 接入支付寶