搜尋
首頁php教程php手册火車票訂票介面完成火車票訂票流程

本教學用來示範聚合資料-火車票訂票介面的使用流程。
1.配置好PHP環境,PHP版本最好大於5.5
2.去聚合資料-火車票訂票介面申請key:https://www.juhe.cn/docs/api/id/173
3.以下程式碼供您了解流程,不要直接複製,不要用於生產環境 '您申請到的key',  <br>   'url' => array(  <br>     'cityCode' => 'http://op.juhe.cn/trainTickets/cityCode',  <br>     'ticketsAvailable' => 'http://op.juhe.cn/trainTickets/ticketsAvailable',  <br>     'submit' => 'http://op.juhe.cn/trainTickets/submit',  <br>     'orderStatus' => 'http://op.juhe.cn/trainTickets/orderStatus',  <br>     'pay' => 'http://op.juhe.cn/trainTickets/pay',  <br>   ),  <br> );  <br> #1、查站點簡碼  <br> echo '行程規劃:2015年7月1日,從蘇州出發,目的地青島  <br> [object Object]';  <br> echo '首先查詢蘇州站和青島站的簡碼  <br> ';  <br> //查詢蘇州站的簡碼  <br> $suzhouCodeResponse = post($config['url']['cityCode'], 'key='.$config['key'].'&stationName=蘇州');  <br> $suzhouCodeArray = json_decode($suzhouCodeResponse, true);  <br> $suzhouCode = $suzhouCodeArray['result']['code'];  <br> echo '查詢蘇州站的簡碼是:'.$suzhouCode.'  <br> ';  <br> // 查詢青島站的簡碼  <br> $qingdaoCodeResponse = post($config['url']['cityCode'], 'key='.$config['key'].'&stationName=青島');  <br> $qingdaoCodeArray = json_decode($suzhouCodeResponse, true);  <br> $qingdaoCode = $qingdaoCodeArray['result']['code'];  <br> echo '查詢到青島站的簡碼是:'.$qingdaoCode.'  <br> [object Object]';  <br> #2、查餘票  <br> echo '然後查詢餘票資訊  <br> ';  <br> $ticketsAvailableResponse = post($config['url']['ticketsAvailable'],  <br>   '&key='.$config['key'].  <br>   '&train_date=2015-07-01'. //注意日期的格式  <br>   '&from_station=SZH'. //上一步驟中查到蘇州站的簡碼是SZH  <br>   '&to_station=QDK' //上一步驟中查到青島站的簡碼是QDK  <br> );  <br> $ticketsAvailableArray = json_decode($ticketsAvailableResponse, true);  <br> echo '查詢到的餘票資訊:  <br> ';  <br> print_r($ticketsAvailableArray['result']['list']);  <br> echo '  <br> [object Object]';  <br> #3、提交訂單  <br> echo '提交訂單  <br> ';  <br> echo '根據餘票訊息,發現G226車次比較合適  <br> ';  <br> echo '請看G226車次的餘票詳情,有些字段要注意一下:  <br> ';  <br> echo 'start_station_name:始發站,上海虹橋  <br> ';  <br> echo 'from_station_name:我們將要出發的車站,蘇州北,注意不是蘇州  <br> ';  <br> echo 'from_station_code:OHH,要注意這個是蘇州北站的簡碼,不是蘇州站的,也是接下來我們提交訂單時傳遞的參數  <br> ';  <br> $passengersArray = array(  <br>   array(  <br>     'passengerid' => '1123', //乘客的順序號,當有多位乘客時,每個人的乘客號要唯一  <br>     'passengersename' => '張三', //請替換成真實的名字  <br>     'piaotype' => '1', //請仔細檢視官網文件中piaotype和piaotypename的對應關係,且不可出錯  <br>    'piaotypename' => '成人票',  <br>     'passporttypeseid' => '1', //請仔細檢視官網文件中passporttypeseid及passporttypeseidname的對應關係,不可出錯  <br>     'passporttypeseidname' => '二代身分證',  <br>     'passportseno' => '420205199207231234', //請替換成真實的身分證號碼  <br>     'price' => '763.5', //填寫真實的價格  <br>     'zwcode' => 'M', //請確定您所選擇的車次中是否真有此類座次  <br>     'zwname' => '一等座',  <br>   ),  <br>   array( //第二位乘客,最多五位乘客  <br>     'passengerid' => '2123',  <br>     'passengersename' => '李四',  <br>     'piaotype' => '1',  <br>     'piaotypename' => '成人票',  <br>     'passporttypeseid' => '1',  <br>     'passporttypeseidname' => '二代身分證',  <br>     'passportseno' => '23060519930621234',  <br>     'price' => '59.5',  <br>     'zwcode' => 'M',  <br>     'zwname' => '一等座',  <br>   )  <br> );  <br> $postArray = array(  <br>   'key' => $config['key'],  <br>   'checi' => 'G226', //從上一步查詢發現G226有餘票  <br>   'from_station_code' => 'OHH', //出發站的簡碼,注意不是SZH(蘇州)  <br>   'from_station_name' => '蘇州北', //出發站的名字,務必與出發站的簡碼對應  <br>   'to_station_code' => 'QDK', //到達車站的簡碼  <br>   'to_station_name' => '青島', //到達車站的名字,務必與到達車站的簡碼對應  <br>   'train_date' => '2015-07-01', //乘車日期,注意時間的格式  <br>   'passengers' => json_encode($passengersArray, JSON_UNESCAPED_UNICODE),  <br> );  <br> $postStr = '';  <br> foreach ($postArray as $key => $value) {  <br>   $postStr .= '&'.$key.'='.$value;  <br> }  <br> // echo $postStr;exit;  <br> $submit = post($config['url']['submit'], $postStr);  <br> // echo $submit;exit;  <br> echo '[object Object]';  <br> /* 正常輸出範例 <br> { <br>     "reason": "成功的回歸", <br>     "result": { <br>         "orderid": "1433493562439" //稍後可依此訂單號碼查詢處理狀態 <br>     }, <br>     "error_code": 0 <br> } <br> */  <br> #4、查詢訂單狀態  <br> echo '查詢訂單狀態  <br> ';  <br> //請將訂單號碼替換成您自己的訂單號碼  <br> $status = post($config['url']['orderStatus'], 'key='.$config['key'].'&orderid=1433493562439');  <br> echo $status;  <br>#5、請求出票(將從您的聚合帳戶中扣款);請求此介面的資料前請確定您的訂單是一個待支付的訂單  <br> echo '[object Object]請求出票(前提是查詢訂單狀態,得知佔座成功)  <br> ';  <br> $pay = post($config['url']['pay'], 'key='.$config['key'].'&orderid=1433493562439');  <br> echo $pay;  

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具