發送LINE PAY APIs必須要知道他的Request Header的必要資訊是什麼!
官方文件:https://pay.line.me/th/developers/apis/onlineApis?locale=zh_TW,找到HTTP Request Header的地方。
何謂HTTP Request Header:
是指在超文字傳輸協定(HTTP)的請求和回應訊息中的訊息頭部分。它們定義了一個超文字傳輸協定事務中的操作參數。HTTP頭部欄位可以自己根據需要定義,因此可能在 Web 伺服器和瀏覽器上發現非標準的頭欄位。
HTTP Request Header:
從文件可以知道打LINE PAY API的必要資訊為:
Content-Type:要求格式為json
X-LINE-ChannelId(商家後台取得):是LINE PAY商家後台的重要資訊
X-LINE-MerchantDeviceProfileId:是非必填所以我們這次主題不會帶到此內容
X-LINE-Authorization-Nonce(程式中取得):是在建立HMAC簽章時, 使用一次性隨機數Nonce,可以避免相同簽名的生成,有效控制惡意請求。 一次性Nonce可以使用UUID 1 or 4和毫秒以下的時間戳(timestamp)。
建立Nonce很簡單~程式碼為:
String nonce = UUID.randomUUID().toString();
X-LINE-Authorization(程式中取得):就是上一篇有提到的HMAC Base64 簽章
Postman Request Header 範例:
那Request Header的部分就完成了~
但是目前還少了最重要的LINE PAY商家後台,那我們就開始創建LINE PAY商家後台並取得ChannelId!