- 翻譯公司資訊
-
世聯翻譯公司完成電子系統“財付通”開發指南中文翻譯
發布時間:2019-08-20 10:41 點擊:
世聯翻譯公司完成電子系統“財付通”開發指南中文翻譯
1 引言1.1 文檔概述本文件描述財付通針對手機支付行業提供的支付解決方案。供內部相關開發和技術支持人員與商戶平臺服務方技術人員使用。文檔分別從交互模式、簽名、接口、注意事項等方面詳細介紹了財付通的工作方式和開發過程,可以幫助開發人員快速入門并掌握開發技能,同時也可以作為日后接口參數以及參數類型的速查手冊。1.2 閱讀對象供財付通開發人員與商戶平臺服務方技術或業務人員參考和查詢。1.3 業務術語術語 示例 說明商戶號 1900000109 機票平臺的賬號,只用于記賬,由財付通自動分配的10位數字密鑰 9ba2380ad9b2aacb96bca514eda27ac9 為保證通訊不被篡改,財付通與商戶之間約定的32位字符串,算簽名sign時使用賬戶 jpgyf@qq.com財付通賬戶號,目前支持兩種格式:qq號碼和email賬戶金額 100000 金額,默認為RMB,以分為單位。1000表示RMB10.002 方案概述2.1 行業背景在電子商務中,商家、買家、中間服務方是交易活動中的三個環節。買家選購商品下發訂單,商家確認訂單,買家通過中間服務方向商家支付貨款,商家發貨履行訂單。在這個過程中商家的網站需要集成中間服務方的支付功能,讓買家完成貨款的支付。財付通作為一家專業的中間服務方除了提供支付接口外,還提供了支付結果查詢接口和訂單查詢接口等,幫助商家記錄貨款的往來,讓商家能把更多的精力集中到商品服務上。商戶的貨款會按照合同約定以T0~T7的頻率結算到商戶的銀行賬戶,同時收取手續費。這個過程由財付通自動完成,商戶無需做相關開發工作。2.2 接口介紹接口名 請求URL 功能說明 結果說明初始化接口 https://wap.tenpay.com/cgi-bin/wappayv2.0/wappay_init.cgi 調用該接口時指定支付參數,完成買家賬戶向商家賬戶的支付,采用頁面跳轉交互模式和后臺通知交互模式 初始化wap請求,通過生成token_id來進行交互驗證。支付接口 https://wap.tenpay.com/cgi-bin/wappayv2.0/wappay_gate.cgi調用該接口時指定支付參數,完成買家賬戶向商家賬戶的支付,采用頁面跳轉交互模式和后臺通知交互模式 結果分兩路返回:一路為前臺在callback_url后添加參數返回,表現為頁面跳轉;一路為后臺在notify_url后添加參數返回,要求后臺notify_url收到通知后進行響應。訂單查詢接口 http://wap.tenpay.com/cgi-bin/wapmainv2.0/wm_query_order.cgi 商戶在后臺對任意一筆訂單發起查詢,采用后臺系統調用交互模式 根據訂單號以XML格式返回具體的訂單內容和狀態2.3 業務實現流程其中藍色直線箭頭表示系統調用,黑色直線箭頭表示頁面跳轉。1) 商戶請求交易初始化:商戶根據客戶的支付行為生成訂單,包括商戶號、商戶訂單號、金額、等支付要素。并提交請求進行交易初始化和獲取token_id。2) 財付通接收到商戶的交易初始化請求后,系統創建財付通交易單,同時生成token_id,并返回該token_id。3) 商戶請求WAP支付:商戶根據token_id生成WAP支付請求,通過頁面跳轉方式引導用戶進入到財付通手機支付中心。4) 用戶在財付通手機支付中心完成支付后,財付通調用notify_url通知商戶交易結果。5) 商戶返回通知結果:根據扣款成功通知,做發貨等邏輯處理,并返回財付通處理結果。財付通確認交易完成并回跳至商戶的callback_url。2.4 頁面回跳callback_urlcallback_url應為WAP頁面,給買家展示支付結果。2.5 結果通知notify_urlnotify_url接收財付通從后臺發出的支付結果通知。在此通知接口模式中,商戶需要確保notify_url穩定可靠。該notify_url完成接收財付通發送的支付結果信息,交易結果信息將以GET方式傳遞至商戶。財付通只將支付成功的訂單進行返回。3 數據格式3.1 GET或POST采用HTTP標準的GET或POST協議,為了保證接收方接收數據正確,傳遞的參數如果存在特殊字符(如&、=等)需要進行URL Encode。GET或POST一般用于頁面跳轉交互模式的請求和通知、后臺系統調用模式的請求、后臺通知模式的請求。3.2 XML數據格式采用標準XML協議,所有參數只存在一級節點中,不采用多級節點嵌套。<?xml version="1.0" encoding="gb2312" ?><root><retcode>0</retcode><retmsg></retmsg><partner>1900000109</partner><status>0</status><sign>8DB4A013A8B515349C307F1E448CE836</sign></root>一般有返回碼retcode參數,0表示調用成功;非0表示調用失敗,失敗時結果不簽名,只有retcode和返回信息retmsg。XML一般用于后臺系統調用模式的應答。3.3 字符串格式直接以簡單字符串作為數據內容,一般用于后臺通知模式的接口反饋,表示處理是否成功。返回結果 結果說明success 處理成功,財付通系統收到此結果后不再進行后續通知fail或其他字符 處理不成功,財付通收到此結果或者沒有收到任何結果,系統通過補單機制(詳見第6節)再次通知4 數字簽名為了保證數據傳輸過程中的數據真實性和完整性,我們需要對數據進行數字簽名,在接收簽名數據之后進行簽名校驗。數字簽名有兩個步驟,先按一定規則拼接要簽名的原始串,再選擇具體的算法和密鑰計算出簽名結果。一般失敗的結果不簽名。4.1 簽名原始串無論是請求還是應答,無論是用get、post還是xml,簽名原始串按以下方式組裝成字符串:1、除sign字段外,所有參數按照字段名的ascii碼從小到大排序后使用QueryString的格式(即key1=value1&key2=value2…)拼接而成,空值不傳遞,不參與簽名組串。2、所有參數是指通信過程中實際出現的所有非空參數,即使是接口中無描述的字段,也需要參與簽名組串。如退款接口中無test字段,如果商戶請求時或財付通應答時,test有值,test字段也得參與參與簽名組串3、簽名原始串中,字段名和字段值都采用原始值,不進行URL Encode。4、財付通返回的應答或通知消息可能會由于升級增加參數,請驗證應答簽名時注意允許這種情況。舉例:調用某個接口,接口有如下字段:partner、total_fee、desc、attach實際調用接口時,各字段的值:partner=1900000109,total_fee=1,desc=a&b,attach=,test=1正確的簽名原始串是:desc=a&b&partner=1900000109&test=1&total_fee=1常見的錯誤有:desc=a%26b&partner=1900000109&test=1&total_fee=1desc=a&b&partner=1900000109&total_fee=1attach=&desc=a&b&partner=1900000109&test=1&total_fee=1partner=1900000109&total_fee=1&desc=a&b&test=1注意:Wap支付接口中的返回結果參數列表(6.2.4)比較特殊,第2點不適合,即所有參數指的是文檔中描述該接口的參數。4.2 簽名算法目前暫只支持MD5簽名MD5簽名MD5 是一種摘要生成算法,通過在簽名原始串后加上商戶通信密鑰的內容,進行MD5運算,形成的摘要字符串即為簽名結果。為了方便比較,簽名結果統一轉換為大寫字符。注意:簽名時將字符串轉化成字節流時指定的字符集input_charset一致。MD5簽名計算公式:sign = Md5(原字符串&key=商戶密鑰). toUpperCase如:簽名原始串是:input_charset=GBK&partner=1900000109&total_fee=1商戶密鑰是:8db4a013a8b515349c307f1e448ce836簽名的結果為:sign=md5(input_charset=GBK&partner=1900000109&total_fee=1&key=8934e7d15453e97507ef794cf7b0519d)= 8DB4A013A8B515349C307F1E448CE8365 補單機制對后臺通知交互模式,如果財付通收到商戶的應答不是success或超時,財付通認為通知失敗,財付通會通過一定的策略(如30分鐘共8次)定期重新發起通知,盡可能提高通知的成功率,但財付通不保證通知最終能成功。由于存在重新發送后臺通知的情況,因此同樣的通知可能會多次發送給商戶系統。商戶系統必須能夠正確處理重復的通知。財付通推薦的做法是,當收到通知進行處理時,首先檢查對應業務數據的狀態,判斷該通知是否已經處理過,如果沒有處理過再進行處理,如果處理過直接返回success。在對業務數據進行狀態檢查和處理之前,要采用數據鎖進行并發控制,以避免函數重入造成的數據混亂。6 接口6.1 初始化請求接口6.1.1 業務功能初始化wap請求,通過生成token_id來進行交互驗證。6.1.2 交互模式請求:頁面跳轉交互模式返回結果+通知:頁面跳轉交互模式+后臺通知交互模式6.1.3 請求參數列表請求url:https://wap.tenpay.com/cgi-bin/wappayv2.0/wappay_init.cgi通過get或post請求字段名 變量名 必填 類型 說明業務參數版本號 ver 是 String(8) 版本號,ver默認值是1.0,目前版本ver取值應為2.0字符集 charset 是 String(8) 1 UTF-8, 2 GB2312, 默認為1銀行類型 bank_type 是 String(16) 銀行類型:財付通支付填0商品描述 desc 是 String(255) 商品描述,32個字符以內買方財付通賬號 purchaser_id 否 String(20) 用戶(買方)的財付通帳戶(QQ )。若商戶沒有傳該參數,則在財付通支付頁面,買家需要輸入其財付通帳戶。商戶號 bargainor_id 是 String(10) 商戶號,由財付通統一分配的10位正整數(120XXXXXXX)號商戶訂單號 sp_billno 是 String(32) 商戶系統內部的定單號,32個字符內、可包含字母總金額 total_fee 是 Int 總金額,以分為單位,不允許包含任何字、符號幣種 fee_type 是 Int 現金支付幣種,目前只支持人民幣,默認值是1:人民幣通知地址 notify_url 是 String(255) 接收財付通通知的URL,需給絕對路徑,255字符內格式如:http://wap.tenpay.com/tenpay.asp前臺地址 callback_url 是 String(255) 交易完成后跳轉的URL,需給絕對路徑,255字符內格式如:http://wap.tenpay.com/tenpay.asp附加信息 attach 否 String(255) 商戶附加信息,可做擴展參數,255字符內訂單生成時間 time_start 否 String(14) 訂單生成時間,格式為yyyymmddhhmmss,如2009年12月25日9點10分10秒表示為20091225091010。時區為GMT+8 beijing。該時間取自商戶服務器訂單超時時間 time_expire 否 String(14) 訂單失效時間,格式為yyyymmddhhmmss,如2009年12月27日9點10分10秒表示為20091227091010。時區為GMT+8 beijing。該時間取自商戶服務器簽名 sign 是 String(32) MD5簽名結果,詳見“第4章 MD5簽名規則”6.1.4 返回結果和通知參數列表數據按XML的格式實時返回字段名 變量名 必填 類型 說明業務參數動態口令 token_id 是 String(64) 財付通生成的token_id。成功示例:<?xml version="1.0" encoding="GB2312" ?><root><token_id>20081113f9d49c20e8e5c8e40b6107ec42259e41</token_id></root>出錯示例:<?xml version="1.0" encoding="GB2312" ?><root><err_info>錯誤信息</err_info></root>6.2 Wap支付接口6.2.1 業務功能用戶通過Wap支付接口完成訂單支付。6.2.2 交互模式請求:頁面跳轉交互模式返回結果:頁面跳轉交互模式通知:后臺通知交互模式6.2.3 請求參數列表請求url:https://wap.tenpay.com/cgi-bin/wappayv2.0/wappay_gate.cgi通過get或post請求字段名 變量名 必填 類型 說明業務參數動態口令 token_id 是 String(64) 財付通生成的token_id。6.2.4 返回結果參數列表頁面返回通過請求中的callback_url進行,采用get或post字段名 變量名 必填 類型 說明業務參數返回狀態碼 ver 是 String(8) 版本號,ver默認值是1.0。目前版本ver取值應為2.0字符集 charset 是 String(8) 字符編碼,取值:GBK、UTF-8,默認:GBK。支付結果 pay_result 是 Int 支付結果:0—成功;其它—失敗財付通訂單號 transaction_id 是 String(28) 財付通交易號,28位長的數值,其中前10位為商戶號,之后8位為訂單產生的日期,如20090415,最后10位是流水號。商戶訂單號 sp_billno 是 String(32) 商戶系統內部的定單號,32個字符內、可包含字母總金額 total_fee 是 Int 總金額,以分為單位,不允許包含任何字、符號幣種 fee_type 是 Int 現金支付幣種,1-人民幣商戶號 bargainor_id 是 String(10) 賣方賬號(商戶spid)附加信息 attach 否 String(255) 商家數據包,原樣返回簽名 sign 是 String(32) MD5簽名結果只對通知返回的協議參數進行簽名。6.2.5 通知結果參數列表后臺通知通過請求中的notify_url進行,采用get或post字段名 變量名 必填 類型 說明業務參數版本號 ver 是 String(8) 版本號,ver默認值是1.0。目前版本ver取值應為2.0字符集 charset 是 String(8) 字符編碼,取值:GB2312、UTF-8,默認:GB2312。支付結果 pay_result 是 Int 支付結果:0—成功;其它—失敗支付結果信息 pay_info 否 String(64) 支付結果信息,支付成功時為空財付通訂單號 transaction_id 是 String(28) 財付通交易號,28位長的數值,其中前10位為商戶號,之后8位為訂單產生的日期,如20090415,最后10位是流水號。商戶訂單號 sp_billno 是 String(32) 商戶系統內部的定單號,32個字符內、可包含字母總金額 total_fee 是 Int 總金額,以分為單位,不允許包含任何字、符號幣種 fee_type 是 Int 現金支付幣種,1-人民幣商戶號 bargainor_id 是 String(10) 賣方賬號(商戶spid)附加信息 attach 否 String(255) 商家數據包,原樣返回簽名 sign 是 String(32) MD5簽名結果付款銀行 bank_type 是 String(16) 銀行類型銀行訂單號 bank_billno 否 String(32) 銀行訂單號,若為財付通余額支付則為空支付完成時間 time_end 是 String(14) 支付完成時間,格式為yyyyMMddhhmmss,如2009年12月27日9點10分10秒表示為20091227091010。時區為GMT+8 beijing。該時間取自財付通服務器買家別名 purchase_alias 否 String(64) 對應買家賬號的一個加密串6.2.6 后臺通知結果反饋財付通后臺通過notify_url通知商戶,商戶做業務處理后,需要以字符串的形式反饋處理結果,內容如下:返回結果 結果說明success 處理成功,財付通系統收到此結果后不再進行后續通知fail或其它字符 處理不成功,財付通收到此結果或者沒有收到任何結果,系統通過補單機制(詳見第5節)再次通知6.3 訂單查詢接口6.3.1 業務功能根據商戶訂單號或者財付通訂單號查詢財付通側記錄的具體訂單信息。6.3.2 交互模式后臺系統調用交互模式6.3.3 請求參數列表請求url:http://wap.tenpay.com/cgi-bin/wapmainv2.0/wm_query_order.cgi通過get或post請求字段名 變量名 必填 類型 說明業務參數版本號 ver 是 String(8) 版本號,ver默認值是1.0。目前版本ver取值應為2.0商戶號 bargainor_id 是 String(10) 賣方賬號(商戶spid)商戶訂單號 sp_billno 否 String(32) 商戶系統內部的訂單號, sp_billno和transaction_id至少一個必填,同時存在時transaction_id優先財付通訂單號 transaction_id 否 String(28) 財付通交易號, sp_billno和transaction_id至少一個必填,同時存在時transaction_id優先。附加信息 attach 否 String(255) 商家數據包,原樣返回字符集 charset 是 String(8) 字符編碼,取值:GB2312、UTF-8,默認:GB2312。簽名 sign 是 String(32) MD5簽名結果6.3.4 應答參數列表數據按XML的格式實時返回字段名 變量名 必填 類型 說明業務參數版本號 ver 是 String(8) 版本號,ver默認值是1.0。目前版本ver取值應為2.0字符集 charset 是 String(8) 字符編碼,取值:GB2312、UTF-8,默認:GB2312。支付結果 pay_result 是 Int 支付結果:0—成功;其它—失敗支付結果信息 pay_info 否 String(64) 支付結果信息,支付成功時為空財付通訂單號 transaction_id 是 String(28) 財付通交易號,28位長的數值,其中前10位為商戶號,之后8位為訂單產生的日期,如20090415,最后10位是流水號。商戶訂單號 sp_billno 是 String(32) 商戶系統內部的定單號,32個字符內、可包含字母總金額 total_fee 是 Int 總金額,以分為單位,不允許包含任何字、符號幣種 fee_type 是 Int 現金支付幣種,1-人民幣商戶號 bargainor_id 是 String(10) 賣方賬號(商戶spid)附加信息 attach 否 String(255) 商家數據包,原樣返回簽名 sign 是 String(32) MD5簽名結果付款銀行 bank_type 是 String(16) 銀行類型銀行訂單號 bank_billno 否 String(32) 銀行訂單號,若為財付通余額支付則為空支付完成時間 time_end 是 String(14) 支付完成時間,格式為yyyyMMddhhmmss,如2009年12月27日9點10分10秒表示為20091227091010。時區為GMT+8 beijing。該時間取自財付通服務器買家別名 purchase_alias 否 String(64) 對應買家賬號的一個加密串7 注意事項1、 所有涉及到金額的單位都是分,最小的單位是1分,不能有小數出現2、 notify_url是財付通服務器從后臺直接發起請求到商戶服務器,商戶處理時不能檢查用戶的cookie或session;商戶更新DB等發貨流程需要完整在notify_url完成,以確保掉單時,財付通補單能成功補上3、 notify_url有可能重復通知,商戶需要做去重處理,避免多次發貨4、 notify_url收到的通知,商戶處理成功或檢查訂單已經處理,需要返回處理成功的標志“success”,以告知財付通不再通知5、 notify_id的有效期是2分鐘,請商戶收到通知后盡快發起查詢Unitrans世聯翻譯公司在您身邊,離您近的翻譯公司,心貼心的專業服務,專業的全球語言翻譯與信息解決方案供應商,專業翻譯機構品牌。無論在本地,國內還是海外,我們的專業、星級體貼服務,為您的事業加速!世聯翻譯公司在北京、上海、深圳等國際交往城市設有翻譯基地,業務覆蓋全國城市。每天有近百萬字節的信息和貿易通過世聯走向全球!積累了大量政商用戶數據,翻譯人才庫數據,多語種語料庫大數據。世聯品牌和服務品質已得到政務防務和國際組織、跨國公司和大中型企業等近萬用戶的認可。 專業翻譯公司,北京翻譯公司,上海翻譯公司,英文翻譯,日文翻譯,韓語翻譯,翻譯公司排行榜,翻譯公司收費價格表,翻譯公司收費標準,翻譯公司北京,翻譯公司上海。