1. 程式人生 > >支付寶手機網站支付

支付寶手機網站支付

支付寶手機網址支付是移動端一個必不可少的功能。支付寶支付的文件還是很清楚的,可以直接看文件進行編寫。我寫一下我的程式碼 支付流程:使用者點選前端的支付,然後後臺生成支付需要的資料,傳給支付寶,支付調起輸入支付密碼 支付成功 程式碼: 1)生成需要資料的後臺方法

	// 點選支付  [喚起支付]  【需要修改 已經改變了】
	public function goLease(){
		require_once(APP_PATH."Business/aliPay/aliPay.php");
		$sc=new \Alipay();
		echo $sc->aliPayApp($resOrderInfo);    
	}
  1. Alipay類下面的方法
<?php
/*
 *  支付寶支付主業務模組
 * 
 * author:HK
 */
header("Content-type:text/html;charset=utf-8");
require_once './nuoSystem/Plugin/aliPayPc/lib/alipay_submit.class.php';
class aliPay{
    //支付寶手機APP支付
    public function aliPayApp($_data) {
        $_pcConfig = require 'alipay.config.php';
        header("Content-type:text/html;charset=utf-8");
        $data["userId"] = isset($_data["userid"]) ? $_data["userid"] : 0;
        $data["orderNumber"] =  isset($_data["ordernumber"]) ? $_data["ordernumber"] : 0;
        $data["orderId"] = isset($_data["orderid"]) ? $_data["orderid"] : 0;
        $data["totalLastMoney"] = isset($_data["totallastmoney"]) ? sprintf("%0.2f", $_data["totallastmoney"]) : 0.00;           //充值金額
        $parameter = array(
            "service" => $_pcConfig['service'],
            "partner" => $_pcConfig['partner'],
            "seller_id" => $_pcConfig['seller_id'],
            "payment_type" => $_pcConfig['payment_type'],
            "notify_url" => $_pcConfig['notify_url'],
            "return_url" => $_pcConfig['return_url'],
            "_input_charset" => trim(strtolower($_pcConfig['input_charset'])),
            "out_trade_no" => $data["orderNumber"],
            "subject" => "支付",
            "total_fee" => $data["totalLastMoney"],
            // "total_fee" => "0.01",
            "show_url" => "http://www.taobao.com/product/113714.html",
            "app_pay" => "Y", //啟用此引數能喚起錢包APP支付寶
            "body" => "支付",
        );
        //require_once('/Plugin/aliPay/lib/alipay_submit.class.php');
        $alipaySubmit = new \AlipaySubmit($_pcConfig);
        // var_dump($alipaySubmit);
        // exit;
        $html_text = $alipaySubmit->buildRequestForm($parameter, "get", "確認");
        echo $html_text;
    }
}

3)支付完成

4)非同步回撥處理

        //PC支付寶非同步回撥業務的處理
    public function alipayNotify() {
        require_once './nuoSystem/Plugin/aliPayPc/lib/alipay_notify.class.php';
        $_pcConfig = require 'alipayApp.config.php';
        //計算得出通知驗證結果
        $alipayNotify = new \AlipayNotify($_pcConfig);
        // error_log('----'.print_r($alipayNotify,true),3,dirname(__FILE__).'/error_log123.php');
        $verify_result = $alipayNotify->verifyNotify();
        // error_log('===='.print_r($verify_result,true),3,dirname(__FILE__).'/error_log123.php');
        return $verify_result;
    }

    //支付寶支付PC非同步回撥
    public function alipayNotify() {
        require_once(APP_PATH."Business/aliPay/aliPay.php");
        $aliPayBusiness = new \aliPay();
        $verify_result = $aliPayBusiness->alipayNotify();
        if ($verify_result) {
            $data["orderNumber"] = $_POST['out_trade_no'];
            $data["rechargeChongId"] = $_POST['trade_no'];       //支付寶交易號
            $data["rechargeContent"] = $_POST['trade_status'];
            $data["rechargeMoney"] = $_POST['total_fee'];
            //修改當前支付訂單的狀態
            $resCallBackController = new CallbackController();
            $resCallBackController -> backThink($data); // 呼叫事物
            echo "success";
        } else {
            echo "fail";
        }
    }

支付完成了 *** alipay_submit.php ; alipay_notify.php 這些都是需要進行下載支付寶的sdk進行使用