php 支付寶支付

<?php
class AlipayAction extends CommonAction{
public function construct() {
parent::
construct();

}
public function _initialize(){

    vendor('PCAlipay.lib.alipay_submit');
    vendor('PCAlipay.lib.alipay_notify');
}
public function config(){
    $alipay_config = array(
    'seller_email'=>'***@163.com',
        'partner' => '***',       
        'seller_id' => '***',   
        'key' => '***',   
        'notify_url' => 'http://'.$_SERVER['HTTP_HOST'].'/Alipay/notifyurl',   
        'return_url' => 'http://'.$_SERVER['HTTP_HOST'].'/Alipay/returnurl',   
        'sign_type' => strtoupper('MD5'),
        'input_charset' => strtolower('utf-8'),
        'cacert' =>  getcwd().'\\cacert.pem',
        'transport' => 'http',
        'payment_type' => '1',
        'service' => 'create_direct_pay_by_user',
        'anti_phishing_key' => '',
        'exter_invoke_ip' => '',
    );
    return $alipay_config;
}
function getsubmit(){
    $alipay_config = $this->config();
    $format = "xml";
    $v = "2.0";

/**請求參數**/
//商戶訂單號,商戶網站訂單系統中唯一訂單號,必填
$out_trade_no = $_GET['number'];

    //訂單名稱,必填
    $subject = $title;

    //付款金額,必填
    $total_fee = $count;
// $total_fee = '0.01';

    //商品描述,可空
    $body = '';

/****/
//構造要請求的參數數組,無需改動
$parameter = array(
"service" => $alipay_config['service'],
"partner" => $alipay_config['partner'],
"seller_id" => $alipay_config['seller_id'],
"payment_type" => $alipay_config['payment_type'],
"notify_url" => $alipay_config['notify_url'],
"return_url" => $alipay_config['return_url'],

    "anti_phishing_key"=>$alipay_config['anti_phishing_key'],
    "exter_invoke_ip"=>$alipay_config['exter_invoke_ip'],
    "out_trade_no"  => $out_trade_no,
    "subject"   => $subject,
    "total_fee" => $total_fee,
    "body"  => $body,
    "_input_charset"    => trim(strtolower($alipay_config['input_charset']))
    //其他業務參數根據在線開發文檔,添加參數.文檔地址:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.kiX33I&treeId=62&articleId=103740&docType=1
    //如"參數名"=>"參數值"

);
//dump($parameter);exit;
//建立請求
$alipaySubmit = new AlipaySubmit($alipay_config);
$html_text = $alipaySubmit->buildRequestForm($parameter,"get", "確認");

$html_text = $alipaySubmit->buildRequestForm($parameter, 'get', '確認');
echo '<div style="display:none">'.$html_text.'</div>支付跳轉中...';

}

public function notifyurl(){
    $config = $this->config();
    $arr=$_POST;
    $alipayNotify = new AlipayNotify($config);
    $verify_result = $alipayNotify->verifyReturn();

    if($verify_result) {//驗證成功
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //請在這裏加上商戶的業務邏輯程序代碼

        //——請根據您的業務邏輯來編寫程序(以下代碼僅作參考)——
        //獲取支付寶的通知返回參數,可參考技術文檔中頁面跳轉同步通知參數列表

        //商戶訂單號
        $out_trade_no = $_POST['out_trade_no'];

        //支付寶交易號
        $trade_no = $_POST['trade_no'];

        //交易狀態
        $result = $_POST['result'];

    echo 'success';

    //echo 'error';

}

}
public function returnurl(){
$config = $this->config();
$arr=$_GET;
$alipayNotify = new AlipayNotify($config);
$verify_result = $alipayNotify->verifyReturn();

    if($verify_result) {//驗證成功
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //請在這裏加上商戶的業務邏輯程序代碼

        //——請根據您的業務邏輯來編寫程序(以下代碼僅作參考)——
        //獲取支付寶的通知返回參數,可參考技術文檔中頁面跳轉同步通知參數列表

        //商戶訂單號
        $out_trade_no = $_GET['out_trade_no'];

        //支付寶交易號
        $trade_no = $_GET['trade_no'];

        //交易狀態
        $result = $_GET['result'];

    $this->success('支付成功',$url);

}

}

}
?>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章