アリペイ(Alipay)支払い、超詳細使用チュートリアル解説!


1、支付宝支払ボタン呼び出し

//     
	$('.alipayClass').bind("click",function(){
		var imoney = $('#iMoney').val();
		$.ajax({
            type:"POST",
            url:"__APP__/aliPay/aliPayDo",//      
            data:{money:money},
            dataType:'text',
            success:function(result){
            	var data=eval(result);
            	//  
                if (data[0] == 1) {
                    window.location.href="__APP__?c=aliPay&a=alipay&paymentId="+data[1];
                };
                //  
                if (data[0] == 0) {                	
					// $(".motify").show();
			  //       $(".motify-inner").text(data[1]);
			  //       $('.motify').delay(1000).hide(0);
                	opLayer('open',"        !");
                	$("#goodcover").delay(1000).hide(0);
                	$(".Wtankdiv").delay(1000).hide(0);			  
			        return;	
                };
            }
        });  
	});

 
alipayDo生成オーダーページ

//      
    public function alipayDo(){
        if ($this->account) {
            $imoney = I("post.imoney");
            if (floatval($imoney)) {    
                //     
                $data['payment_id'] = date(ymdHis).$this->user_id.'w';//    
                $data['money'] = floatval($imoney);//       
                $data['cur_money'] = 0;//      
                $data['user_id'] = $this->user_id;
                $data['user_name'] = $this->account;
                $data['pay_type'] = 'excharge';
                $data['bank'] = 'xxx';//    
                $data['pay_account'] = $this->user_id;//    
                $data['created_time'] = time();
                $result = $this-M('create_payment')->data($data)->add();
                if ($result) {
                    echo json_encode(array(1,$data['payment_id']));
                }else{
                    echo json_encode(array(0,'      ,   !'));
                }
            }else{
                echo json_encode(array(0,'      ,   !'));
            }
        }else {
            echo json_encode(array(0,'         !'));
        }
    }

アリペイの支払いページ
M('create_payments')->where('payment_id = '.$paymentId)->find();
        //$type = I('type');
        if ($paymentInfo['pay_type'] == 'online') {
            $total_fee = round($paymentInfo['cash_fee'],2);
            $subject = "    ";
            $body = "    ";
        }else{
            $total_fee = round($paymentInfo['money'],2);
            $subject = "    ";
            $body = "    ";
        }

        $alipayConfig = alipayConfig();
        $parameter = array(
            "service"       => $alipayConfig['service'],
            "partner"       => $alipayConfig['partner'],
            "seller_id"  => $alipayConfig['seller_id'],
            "payment_type"  => $alipayConfig['payment_type'],
            "notify_url"    => $alipayConfig['notify_url'],
            "return_url"    => $alipayConfig['return_url'],
            "_input_charset"    => trim(strtolower($alipayConfig['input_charset'])),
            "out_trade_no"  => $paymentId,
            "subject"   => $subject,
            "total_fee" => $total_fee, //sprintf("%.2f", $paymentInfo['money']), 0.01, //
            "show_url"  => __APP__."/Pay/myCenter",
            "body"  => $body,
        );
        $alipaySubmit = new \AlipaySubmit($alipayConfig);  
        $html_text = $alipaySubmit->buildRequestForm($parameter,"get", "  ");

        echo $html_text;
        
    }

アリペイの同時支払結果
verifyReturn();
        if($verify_result) {
            //                      
            //     
            $out_trade_no = $_GET['out_trade_no'];
            //      
            $trade_no = $_GET['trade_no'];
            //    
            $trade_status = $_GET['trade_status'];
            $paymentInfo = $this->M('create_payments')->where('payment_id = '.$out_trade_no)->find();
            if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') {
                //                    
                //        ,     (out_trade_no)                    ,          
                $this->assign('res','success');
                $logdata =array(
                    'type'=>'expense',
                    'user_id'=>$paymentInfo['user_id'],
                    'operator'=>$paymentInfo['user_name'],
                    'message'=>'    ',
                    'logtime'=>time()
                );
            }else{
                $this->assign('res','fail');
                $logdata =array(
                    'type'=>'expense',
                    'user_id'=>$paymentInfo['user_id'],
                    'operator'=>$paymentInfo['user_name'],
                    'message'=>'    !',
                    'logtime'=>time()
                );
            }
        }else {
            //    
            //    ,  alipay_notify.php   verifyReturn  
            $logdata =array(
                'type'=>'expense',
                'user_id'=>$paymentInfo['user_id'],
                'operator'=>$paymentInfo['user_name'],
                'message'=>'    !',
                'logtime'=>time()
            );
            //$this->userDataDepositLogModel->data($logdata)->add();
            $this->assign('res','fail');
        }
        //           
        //$this->display('payResult');
        //   
        $this->userDataDepositLogModel->data($logdata)->add();
        $this->assign('paymentInfo',$paymentInfo);
        if ($paymentInfo['pay_type'] == 'recharge') {
            $this->display('Pay/payMyResult');
        }else{
            $this->display('Pay/onlineMyPayResult');
        }
    }

特別説明:サードパーティ支払クラスライブラリ、ThinkPHP下のLibrary下Vendorに格納!具体的には、私のブログリソースでダウンロードして使用することができます!