在 Day 9 我們使用 Order API 建立了一筆測試訂單。
在送出請求的 JSON 字串是這樣的。

圖 10-1: JSON 字串排版
當時我們建立訂單時的 APIService 欄位是 OrderCreate,這個欄位決定了要請 Order API 做什麼事情,而 Message 欄位則是加密過後的訊息 JSON 字串。
除了建立訂單以外,Order API 還有其它兩個查詢訂單的功能,如下:

圖 10-2: 文件第 38 頁 7.2. 訂單交易查詢
需求欄位範例:

*圖 10-3: OrderQuery 需求欄位
ShopNo 欄位是必填欄位,其餘欄位選填。最大查詢筆數 300 筆。

圖 10-4: 文件第 44 頁 7.3. 訊息查詢服務
需求欄位範例:

*圖 10-5: OrderPayQuery 需求欄位
ShopNo 及 PayToken 欄位皆必填。此功能透過交易完成時跳轉回商店網站的 ReturnURL 參數提供 PayToken 值。或 API 平台透過建立訂單時的 BackendURL 欄位主動傳值通知。

*圖 10-6: 文件第 47 頁 7.4. 即時訊息通知
這邊的作法是商店網站必須建立一個專門收此訊息通知的網址,然後把該網址當作建立訂單時的 BackendURL 欄位。當完成請款後,永豐金收款平台會主動通知,傳送 Pay Token。商店網站再使用該 Pay Token 查詢訂單狀態。
收款平台 POST 到商店網站的資料範例,同圖 10-5。
這 10 天的文章大家導覽了這份 API 文章,也說明了各項計算所需雜湊值以及加、解密的過程,一直到建立了測試訂單,重點整理如下表格:
| 項目 | 文章 |
|---|---|
| 取得 Nonce | Day 2 |
| 取得 HashId | Day 3 |
| 取得內文雜湊 | Day 4 |
| 取得 IV | Day 5 |
| 取得 Sign | Day 6 |
| 加密 Message | Day 7 |
| Order API - OrderCreate | Day 8 |
| 解密 Message | Day 9 |
| Order API - OrderQuery | Day 10 |
| Order API - OrderPayQuery | Day 10 |
| 訊息通知 | Day 10 |
希望對大家有幫助!如有問題也歡迎提問。明天即將發佈 PHP SDK 及使用範例,讓使用 PHP 的開發人員能寫幾行程式碼就能完成這 10 天的所有內容喔!大幅減低串接的門檻,歡迎有興趣的朋友準時收看。
另外 API 文件有錯誤的地方,如下圖:

*圖 10-7: 文件第 32 頁
ExpBillingDays 的可設定範圍 1-21,但實際上只能給 1-7,超過就會回錯:
E1001 – 自動請款天數設定範圍錯誤,最小值為:1,最大值為:7
請大家多留意一下。
本文更新於筆者的 TerryL 部落格,Day 10 - API 文件導覽總結 - 重點整理,有興趣可前往閱讀及討論。