豐收款 – 解密 Order API 回傳的 Message 字串
建立測試訂單後,返回結果是加密後的字串,而今天的任務就是解密 Message 欄位,還原成我們可以讀取的資料。
第 13 屆 iThome 鐵人賽,永豐金 APIs 分組賽優選作品「豐支付 PHP SDK 設計及 WooCommerce 電商串接實戰」。以簡易的教學方式分享如何進行金流串接。
建立測試訂單後,返回結果是加密後的字串,而今天的任務就是解密 Message 欄位,還原成我們可以讀取的資料。
使用前幾篇文章提到的資料欄位,開始串接永豐金 API 來建立我們的第一筆測試訂單。
本文的目標是將如 Message 欄位的內文使用 AES 加密機制將其進行加密,並轉換成如圖所示的 16 進制字串。
進行內文加密需要 IV 值,是為了避免加密的內容被破解而在加密時加入的亂數值。
合併字串進行 SHA256 加密之後轉為大寫字元即為我們要的安全簽章 - Sign 值。
真正要傳給豐支付 API 的訂單資料欄位,稱為訊息內文,排序及去除空欄位及多節點欄位,接著把過濾後的資料轉成網址型態的字串。