光大銀行公共事業繳費【手機充值業務】

    以前的一段時間,突然被調去開發手機充值功能。猶豫以前沒有接觸過這方面內容,再加上沒有相關文檔,開始有點茫然。前先後後花了一週多的時間才完成開發。僅再次記錄一些開發中遇到的問題與心得。
前端

    功能描述:
ajax

    業務功能:全國手機充值(移動聯通電信三家)數據庫

    接口描述:光大銀行-公共事業繳費接口,由深圳分行提供的全國手機充值業務。jsp

    疑惑點:因爲充值業務借用了公共事業繳費接口,因此只能採起先查詢繳費單再對繳費單進行銷帳的業務流程。(從邏輯上講充值業務不該該有先查詢動做,由於是業務是預繳費的,不存在應繳費用問題spa

    業務總流程:  用戶輸入手機號  -----> ajax判斷運營商(獲取事業單位編號)----->用戶選擇金額- ---->下一步 -----> 打開新頁面,原頁面返回訂單信息-----> 查詢繳費單, 生成訂單 ----->選擇支付渠道 ----->用戶完成支付 -----> 銀行返回響應報文-----> 修改支付訂單 -----> 根據支付結果向光大發起銷帳請求  ----->請求結果展示。orm


細節:接口

    一:建立手機充值訂單信息
開發

          根據光大接口查詢待繳費的公共事業費帳單(查詢繳費單,根據光大公共事業繳費規則,只有先查詢才能生成供銷帳的繳費單)文檔

            獲取BillQueryRecordDTO公共事業單位繳費信息  -----取繳費通信流水號----組裝查詢報文----網關發送---獲取並解析光大響應 --- 保存繳費單(事實上返回的是原請求數據,目的是根據返回結果判斷光大方是否生成繳費單)----繳費單轉換成手機充值的支付訂單(BillChargeOrderDTO  |  TB_PY_TRAN_BILL_ORDER)---DB保存繳費訂單form

    二: 確認支付繳費帳單

        1:設置未支付狀態-----根據訂單編號查詢繳費訂單-----保存查詢出的繳費訂單列表-----從數據庫獲取支付業務登記流水號-----根據繳費訂單列表統計,生成待支付業務登記DTOPayRegisterInfoDTO | TB_PY_TRAN_PAY_REGISTER)-----根據待支付業務登記信息組織支付訂單數據-----獲取支付地址,組織商戶訂單DTOMerOrderInfoDTO | )----組織前端form重定向須要的信息----將待支付業務登記信息保存到數據庫---更新繳費單信息---前端重定向到支付

    三:支付環節:

           請求:paygate/daysRequest.do

           響應:common/paymentResult

            發送平臺支付請求(銀行扣款)-----解析請求報文-----報文數據檢查------查詢商戶信息MerchantDTO |  TB_PY_MER_INFO)-----  建立支付平臺訂單PayTranOrderInfoDTO | TB_PY_TRAN_ORDER_INFO) ---loadPayBank.jsp---讀取支付銀行渠道----常規支付環節---去訂單,取商戶信息,取可用快捷帳戶列表等----進入用戶銀行選擇界面

    四:用戶選擇支付方式,並完成支付。

        像銀行發送支付請求,等待響應 --- common/paymentResult.do ---解析返回結果 ---更新支付登記記錄(PayRegisterInfoDTO)-----更新關聯繳費單BillChargeOrderDTO-----根據繳費訂單信息建立銷帳流水BillChargeFlowDTO | TB_PY_TRAN_BILL_FLOW )---根據銷帳流水組裝銷帳請求報文送到光大,並及時獲取銷帳響應(該業務當即會有結果)------解析響應信息,根據響應結果更新銷帳流水-----根據銷帳流水的狀態更新銷帳訂單-----根據繳費訂單建立快捷繳費記錄(BillChargeOrderDTO)----保存處理結果----充值結束 ---展示。


遺留問題:業務中根據繳費訂單建立快捷繳費記錄,不明白,爲何要次日次建立一個新的快捷繳費記錄

相關文章
相關標籤/搜索