處理訂單資料

「訂單資料處理器」負責封裝及解除封裝訂單資料。它與「訂閱管理程式」及「交易管理程式」接合,以擷取封裝及解除封裝訂單資料所需的相關資訊。

如果要確保安全傳送訂單資料,則必須封裝訂單資料。封裝訂單資料包括簽署、壓縮、加密及 Base64 編碼,此視訂單類型的需求而定。接收端必須解除封裝訂單資料,才能檢視屬性。解除封裝訂單資料包括驗證、解壓縮、解密及 Base64 解碼,此視訂單類型的需求而定。

例如,設定檔資訊可能包含交易 ID、流程方向(上傳或下載)、回應類型(同步或非同步)、所需的程序類型、加密金鑰的物件 ID,以及「電子簽章 (ES)」的物件 ID。「EBICS 訂單處理」服務可執行 EBICS 交易和使用者擷取,以及已加密對稱金鑰的封裝和解除封裝。「EBICS 訂單處理」服務會根據所擷取的設定檔資訊,判斷是否需要封裝或解除封裝訂單資料,並呼叫適當的封裝或解除封套服務。

「授權訂單管理程式」負責起始「訂單資料處理器」,以解除封裝從 FUL 訂單類型要求收到的訂單資料、將解除封裝的訂單資料遞送至後端訂閱者的上傳信箱,並根據所定義的命名慣例來重新命名它。

除了「EBICS 訂單處理」服務,Sterling B2B Integrator 亦提供下列服務來處理訂單資料:
  • 「EBICS 訂單授權」服務會針對銀行技術上傳訂單類型 (FUL) 來處理送入的訂單要求。如果訂單已達成必要的簽章數,此服務就會將訂單轉遞至訂閱者上傳信箱。否則,此服務會將訂單轉遞至擱置訂單信箱。
  • 「EBICS 訂單串流」服務會使用 Sterling B2B Integrator 中的管線功能,來封裝及解除封裝訂單資料。
  • 「EBICS ES 包裝」服務可封裝或解除封裝在簽署及驗證 ES 時,所使用的金鑰資訊。
  • 「EBICS 壓縮」服務會在管線模式下,使用 zlib 來執行訂單資料的壓縮及解壓縮。
  • 「EBICS 加密」服務會在管線模式下,使用 AES-128 演算法來執行訂單資料的加密及解密。可支援 E002 加密演算法。
  • 「EBICS 編碼」服務會在管線模式下,使用 Base64 方法來執行訂單資料的編碼及解碼。
  • 「EBICS 簽署」服務會在以管線模式計算的 SHA-256 摘要上,執行訂單資料的簽署及驗證。可支援 A005 及 A006 簽署演算法。

若為上傳交易,就必須解除封裝訂單資料,若為下載交易,就必須封裝訂單資料。

封裝程序包括下列順序。然而,根據訂單類型,可能會不需要下列一或多個程序:
  1. 簽署
  2. 壓縮
  3. 加密
  4. Base64 編碼

下列範例說明訂單類型的加密。商業程序會呼叫「加密」服務。如果已簽署訂單資料,商業程序就會將對稱金鑰傳遞至「加密」服務。如果尚未簽署訂單資料,「加密」服務就會產生對稱金鑰,並傳回至商業程序。如果已建立對稱金鑰,商業程序就會在輸出訊息類型設為 setEncryptedKey 的情況下,呼叫「EBICS 訂單處理」服務。

解除封裝程序包括下列順序。然而,根據訂單類型,可能會不需要下列一或多個程序:
  1. Base64 解碼
  2. 解密
  3. 解壓縮
  4. 驗證簽章

下列範例說明訂單類型的解密。商業程序會在輸出訊息類型設為 getEncryptedKey 的情況下,呼叫「EBICS 訂單處理」服務。會在程序資料中擷取及設定 Base64 編碼的秘密金鑰,以供「加密」服務使用。

電子簽章

「電子簽章 (ES)」用來確定訂單資料的鑑別。簽章是確定用戶端傳送給銀行業伺服器的訂單資料具備完整性和不可否認性。

EBICS 指定兩種 ES 簽章類別:
  • 個人簽章
    • 類型 E 單一簽章
    • 類型 A 第一次簽章
    • 類型 B 第二次簽章
  • 類型 T 傳輸簽章
Sterling B2B Integrator 支援下列簽章類型:
  • 類型 T 傳輸簽章
  • 個人簽章或類型 E 銀行技術 ES - 單一簽章

傳輸簽章可以是自簽或 CA 簽章憑證。個人簽章必須是 CA 簽章,並交由銀行辨識。傳輸簽章用來提交訂單,個人簽章用來授權訂單。

在個人簽章中,您必須指定合約中每一種訂單類型或檔案格式的簽章數目,以處理訂單資料。容許的個人簽章數目上限是 2。類型 E 的個人簽章可包含下列簽章:
  • 單一
  • 選用雙重
  • 必要雙重

預先驗證

當使用銀行技術上傳訂單類型時,訂閱者可以在第一個交易步驟中傳送資訊給銀行。銀行可以預先驗證訂單資料。訂單資料的預先驗證包括:
  • 資料摘要驗證
  • 帳戶授權
  • 金額限制驗證
在訂單資料預先驗證成功之後,銀行系統會收到 FUL 檔案。只要符合下列必要條件,銀行可以利用預先驗證來處理訂單資料:
  • 銀行支援預先驗證功能
  • 送入要求中存在 Prevalidation 節點

資料摘要的預先驗證

只要符合下列必要條件,銀行可以驗證資料摘要:
  • 銀行支援預先驗證功能。
  • 送入要求中存在 Prevalidation 或 DataDigest 節點。
  • 訂單類型設為 SPR 要求以外的任何上傳訂單類型。

帳戶授權和金額限制的預先驗證

只要符合下列必要條件,銀行可以驗證帳戶授權和金額限制:
  • 銀行支援預先驗證功能。
  • 送入要求中存在 Prevalidation 或 AccountAuthorization 節點。
  • 送入要求中的 OrderAttribute 屬性不是設為 DZHNN。
  • 送入要求中的「訂單類型」設為「技術上傳訂單類型 (FUL)」。
  • 合約許可權中的簽署人簽章類別至少是 B。

若有定義授權訂單時所需的個人簽章數目下限和上限,預先驗證程序會驗證簽署人指定的帳戶資訊和金額限制。AccountAuthorization 之下所列出的帳戶必須是有效的夥伴帳戶。必須將 Prevalidation 中列出之所有帳戶的使用者許可權,配置給所有簽署人。指定貨幣值的金額不得超過任何簽署人之「使用者許可權」配置中所設定的金額上限。