為什麼要驗證?
若想要用綠界系統開電子發票,可能要打統編、輸入手機載具條碼或是愛心捐贈碼。使用驗證功能,可以先查詢該統編屬於哪間公司,或是手機條碼與愛心碼是否存在。例如,如果手機條碼並不存在,可能事後無法歸戶。
程式碼 (Node.js)
GitHub 連結:https://github.com/evojroan/ECPAy_EInvoice_Data_Verification
首先先確保電腦可以執行 Node.js。打開 app.js,於「//改以下就好」修改相關參數。執行本檔案,console.log 出來的內容就是發送 API 後回傳的結果,也同時把訊息解密好了。
三種驗證功能的差別非常小
進行統一編號、手機條碼、捐贈碼要傳送的參數非常相像,只差在要查詢的是統一編號、手機條碼還是捐贈碼而已,而且三者呼叫的 API 網址差別也只在於網址的最後面,所以可以一次就把所需的功能寫好,只要調整參數就可以選擇要驗證哪個資料。
URI 加解密與 AES 加解密
上次在綠界科技檢查碼(CheckMacValue)產生器中,已經用到 Node.js 中的 encodeURIComponent() 功能。在傳輸資料以進行驗證時,要先將資料經過 AES 加密;綠界回傳的資料也有經過 AES 加密。因此為了使用者方便,我也寫好了解密功能,能直接看到回傳的原始資料,以及解密後的資料。
查不到不代表資料不存在
綠界技術文件有提到,驗證是調用財政部系統資料,但因為財政部可能會進行不預期的維護作業,而影響查閱,所以查無資料並不意味著該統一編號、手機條碼或捐贈碼不存在,本驗證功能僅當作一種輔助性驗證工具。
確認過後再開立發票
開立發票時有時會需要打統編、使用手機條碼或捐贈愛心碼的功能。使用這些號碼前,應先完成確認作業再開立,才能確保發票資料的正確。