




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 收銀臺支付接口說明書 -開發(fā)手冊 V1.0目錄1 接口簡介42 統(tǒng)一下單43 異步回調(diào)說明84 異步回調(diào)IP地址說明95 錯誤編碼說明106 接口demo101 接口簡介l 采用HTTP方式訪問l 字符集使用UTF-8l 請求采用POST或GET方式l 商戶與平臺間的交互都需要驗證簽名l 返回結(jié)果編碼code等于000000時為成功狀態(tài), 否則為未成功狀態(tài),需要繼續(xù)查詢確認最終狀態(tài)l 對接商戶信息2 測試商戶賬號(測試金額最低一元)商戶號秘鑰0664296B081B318E99CC08AD54F90037B947473 統(tǒng)一下單3.1請求說明請求URL支持驗證方式MD5格式POST/GET方
2、式表單提交3.2參數(shù)說明序號字段名是否必填類型說明1orderAmountYString訂單金額( 金額最小0.01 )2orderIdYString商戶訂單號(字符串只允許使用字母、數(shù)字、字符并以字母或數(shù)字開頭 每商戶提交的訂單號,必須在自身賬戶交易中唯一)3merchantYInt商戶號(商戶在本平臺的唯一商戶號)4payMethodYInt支付方式(詳細內(nèi)容請看附錄)5payTypeYInt支付類型(詳細內(nèi)容請看附錄)6versionYString接口版本(固定為 1.0)7signTypeYString簽名方式( 固定為 MD5 )8outcomeYStringyes返回JSON格式數(shù)
3、據(jù),no則返回支付頁面9signYString簽名10productNameNString商品名稱11productDescNString商品描述12notifyUrlYString異步回調(diào)地址(接收訂單回調(diào)信息的地址)13createTimeYInt訂單創(chuàng)建時間(時間戳 秒 格式 10位)14returnUrlYstring同步跳轉(zhuǎn)地址(支付成功后跳轉(zhuǎn)到的頁面URL)15isLoopNstringyes(需要輪訓需要添加此參數(shù),不參與驗簽)3.3 發(fā)起訂單sign簽名說明將參數(shù)按照順序組合merchant=&orderAmount=10&orderId=bbb&out
4、come=yes&payMethod=2&payType=21&signType=MD5&version=1.0拼接商戶密鑰merchant=&orderAmount=10&orderId=bbb&outcome=yes&payMethod=2&payType=21&signType=MD5&version=1.09ED5F15DA1DA14A0F70052F4434F3936然后md5得到sign參數(shù)的值DB30EC3668CD727FCB46423.4返回Json數(shù)據(jù)的驗簽當outcome參數(shù)為yes的
5、時候返回的是json格式的數(shù)據(jù),例如:"url":"","merchant":"","orderId":"34","sign":"d9faaee24f76bcc8db37ca12187cc1b0","code":0 先將merchant與orderId的值進行拼接得到:再這個值md5便得到sign的值:d9faaee24f76bcc8db37ca12187cc1b0;3.5統(tǒng)一下單接口說明以PHP語言為例:<?
6、php$data = array( "orderAmount"=>"10", /金額 "orderId"=> time().rand(1000,9999),/訂單號 "merchant"=>"", /商戶號 'payMethod'=>'1', /支付方式 "payType"=>"11", /支付類型 "signType"=>"MD5", "
7、version"=>"1.0",/此參數(shù)作用為返回的數(shù)據(jù)的格式 yes時返回的是json格式數(shù)據(jù),并且沒有支付頁面,只返回支付鏈接 no時返回的是支付頁面 "outcome"=>"no",);/組裝參與簽名的字段,生成一個數(shù)組$data;$key = '1' /商戶號所對應(yīng)的商戶密鑰ksort($data); /按照鍵名對關(guān)聯(lián)數(shù)組進行升序排序/生成 URL-encode 之后的請求字符串$postString = http_build_query($data);/將$postString連接上商戶
8、密鑰后再MD5加密$mdString = md5($postString.$key);/將MD5后的數(shù)據(jù)全部專為大寫 生成簽名$signMyself = strtoupper($mdString);/將簽名加入數(shù)組$data"sign" = $signMyself;$data'productName' = ''$data'productDesc' = '' ;$data'createTime' = time();/time()為當前時間戳 秒級/接收訂單回調(diào)數(shù)據(jù)的URL$data'not
9、ifyUrl' = ''/支付成功后跳轉(zhuǎn)到的地址$data'returnUrl' = ''/使用GET方式訪問需要生成 URL-encode 之后的請求字符串/ 這里可以用 GET 也可以用POST方式$postString = http_build_query($data);$url="".$postString;header("Location: " .$url); 4 異步回調(diào)說明對后臺通知交互時,如果收到商戶的應(yīng)答不是成功或者超時,我們認為通知失敗,會通過一定的策略定期重新發(fā)起通知,盡可能的
10、提高通知的成功率,但是不保證通知最終一定能成功。由于存在重復發(fā)送后臺通知的情況,因此同樣的通知可能會多次發(fā)送給商戶系統(tǒng)。系統(tǒng)必須能夠正確處理重復的通知。采用加密算法傳輸訂單信息給商戶.協(xié)議: post參數(shù): 獲取HTTP post過去的數(shù)據(jù)流,然后解密,校驗.加密參數(shù)說明: json格式數(shù)據(jù)示例 :"sign":"5E02C75FED3CD0E1BF261587BD072B5F","paramsJson":"code":"000000","message":"Pay
11、Success","data":"orderId":"31806ea69f8192c","tradeNo":"31384","outTradeNo":"","orderAmount":39,"payAmount":39,"dateTime":"2019-01-14 21:58:45"加密算法:將json格式數(shù)據(jù)轉(zhuǎn)為數(shù)組格式;將paramsJson 字段整體base64
12、加密后的字符串再進行md5加密(小寫),再將商戶密鑰字符串拼接上面的md5加密數(shù)據(jù),得到的字符串md5(小寫)然后全部大寫,即可得到簽名字符串,得到的簽名字符串和平臺傳遞的進行進行對比,如果相同,請進行后續(xù)操作,不同,即為非法偽造參數(shù)說明序號字段名類型說明1signstring簽名2paramsJsonJson數(shù)據(jù)參與驗簽數(shù)據(jù)2.1codeString000000:返回成功2.2messageString "PaySuccess"2.3dataArray()訂單信息2.3.1orderIdString商品訂單號2.3.2orderAmountString收款金額2.3.3d
13、ateTimeString收款時間2.3.4trade_noString銀行訂單號2.3.5outTradeNoString平臺訂單號訂單支付成功才返回數(shù)據(jù),如果沒有支付是不會返回數(shù)據(jù)的5 異步回調(diào)IP地址說明必須限制回調(diào)數(shù)據(jù)接收只能來自于以下IP418(如果因為被非法回調(diào)造成的一切經(jīng)濟損失概不負責)請求接口后跳轉(zhuǎn)到支付頁面,支付成功后會發(fā)起異步通知(notifyUrl),通知到商戶訂單支付信息,商戶接收到支付成功通知后返回success.注:必須且僅為此七個小寫的英文字符組成的success6 錯誤編碼說明發(fā)起訂單接口錯誤碼400000請求方
14、式錯誤400001未接收到數(shù)據(jù)流400002檢測payMethod參數(shù)400003檢測merchant參數(shù)400004檢測orderId參數(shù)400005檢測orderAmount參數(shù)400006orderAmount 不能小于等于 0400007檢測 version 參數(shù)400008version 不等于 1.0400009檢測 signType 參數(shù)400010signType 不等于 MD5400011檢測 sign 參數(shù)400012檢測 outcome 參數(shù)400013檢測 notifyUrl 參數(shù)400014檢測 createtime 參數(shù)400015檢測 payType 參數(shù)4000
15、16商戶不存在400017商戶狀態(tài)為禁用400018商戶支付類型狀態(tài)為禁用400019簽名錯誤400020代理商被禁用400021業(yè)務(wù)員被禁用400022該商戶信息未配置400023商戶所屬業(yè)務(wù)員余額不足400024該商戶支付方式通道未配置400025收款賬號錯誤400026payType和payMethod不對應(yīng)400027訂單超時400028訂單支付成功400029訂單關(guān)閉400030金額必須為整數(shù)400031訂單金額錯誤(更換金額重試)400101發(fā)起訂單失敗404001訂單號錯誤404002訂單關(guān)閉404003用戶未支付404004系統(tǒng)錯誤404005訂單金額錯誤500001系統(tǒng)錯誤5
16、000027 查詢接口將商戶號商戶密鑰訂單號的值拼接然后md5小寫得到簽名sign例如:E6EF57580BA8E9F818D2A1D939F94C021Md5得到3ef42e92808ffd14a6a5c7e907135bff然后以get或post提交過來例如:HOST./Api/Check/index?partner=&orderId=021&sign=3ef42e92808ffd14a6a5c7e907135bff&isLoop=no返回的是json數(shù)據(jù)"orderid":"021","money":1&
17、quot;,"cretetime":"","paytime":"0","outTradeNo":"","status":"支付失敗","code":"400029"如果是輪訓號將參數(shù)isLoop值改為yes就可以了8 接口demo8.1統(tǒng)一下單接口demo<?php$data = "orderAmount"=>"1", /金額 "ord
18、erId"=>time().rand(1000,9999),/訂單號 "merchant"=>, /商戶號 'payMethod'=>'2', "payType"=>"21", "signType"=>"MD5", "version"=>"1.0", "outcome"=>"no",;$key = ' ' /keyks
19、ort($data);/函數(shù)對關(guān)聯(lián)數(shù)組按照鍵名進行升序排序。$postString = http_build_query($data);/返回一個 URL 編碼后的字符串。$signMyself = strtoupper(md5($postString.$key);$data"sign" = $signMyself;$data'productName' = '測/試'$data'productDesc' = '訂單9677'$data'createTime' = time();$data'returnUrl' = ""$data'notifyUrl' = ''$postStri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 影視行業(yè)制作管理與后期剪輯方案
- Unit8 lesson 6教學設(shè)計 - 2024-2025學年冀教版英語七年級上冊
- 川教版三上信息技術(shù)3.2 添加角色 教學設(shè)計
- 全國冀教版信息技術(shù)四年級上冊新授課 第7課 Internet Explorer下載 教學設(shè)計
- 2025年簡易網(wǎng)站服務(wù)合同5篇
- 19 食物與營養(yǎng) 教學設(shè)計-2024-2025學年科學三年級上冊蘇教版
- 電子支付商戶合作協(xié)議8篇
- 標準駕校培訓合同范本8篇
- 河南砂漿環(huán)氧地坪施工方案
- 小學二年級數(shù)學100以內(nèi)加減法豎式計算競賽考核口算題帶答案
- 裝飾裝修工程施工合理化建議和降低成本措施提要:完整
- 畢業(yè)論文論財務(wù)管理是企業(yè)管理的核心
- (改)提高地下室側(cè)墻剛性防水施工合格率_圖文
- 清潔化施工無土化安裝施工方案
- 電芯品質(zhì)協(xié)議版本(標準版)
- 物業(yè)小區(qū)常規(guī)保潔工作程序
- 食管癌化療臨床路徑(最全版)
- 失業(yè)保險知識PPT課件
- 急危重癥患者優(yōu)先處置制度
- 教學設(shè)計——思維可視化在英語閱讀教學中的探究
- 北京市工業(yè)污染行業(yè)、生產(chǎn)工藝調(diào)整退出及設(shè)備淘汰目錄
評論
0/150
提交評論