在 Day 9 我們使用 Order
API 建立了一筆測試訂單。
在送出請求的 JSON 字串是這樣的。
圖 10-1: JSON 字串排版
當時我們建立訂單時的 APIService 欄位是 OrderCreate
,這個欄位決定了要請 Order
API 做什麼事情,而 Message 欄位則是加密過後的訊息 JSON 字串。
Order API 其它服務
除了建立訂單以外,Order API 還有其它兩個查詢訂單的功能,如下:
批次訂單查詢
- APIService: OrderQuery
圖 10-2: 文件第 38 頁 7.2. 訂單交易查詢
需求欄位範例:
*圖 10-3: OrderQuery 需求欄位
ShopNo
欄位是必填欄位,其餘欄位選填。最大查詢筆數 300 筆。
單筆訂單查詢
- APIService: OrderPayQuery
圖 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
請大家多留意一下。
留言