iT邦幫忙

2023 iThome 鐵人賽

DAY 13
0

之前範例程式的部分,java bean都已經建置完畢了。
現在的程式碼:
https://ithelp.ithome.com.tw/upload/images/20230913/20160220tuV4xeAMpe.png
上一篇有提到官方給的範例程式跟文件上要求的必填資料有些許的差異,把差異的地方也修正一下後。
修正後程式碼:
https://ithelp.ithome.com.tw/upload/images/20230913/20160220SwZpMkuRc5.png
修正的部分為:RedirectUrls物件裡-新增cancelUrl以及Currency幣種的部分修正為TWD(台幣)。
接下來將前面提到過的Hmac簽章範例程式貼到ConsumerCheck的程式裡~
範例程式在:https://pay.line.me/th/developers/apis/onlineApis?locale=zh_TW
找到API Authentication的部分往下滑一點就可以看到畫面右邊有:
https://ithelp.ithome.com.tw/upload/images/20230913/20160220GBi0CVJbSO.png
那這邊還需要在pom檔裡引入新的dependency

<dependency>
	<groupId>commons-codec</groupId>
	<artifactId>commons-codec</artifactId>
</dependency>

目前的程式碼為:
https://ithelp.ithome.com.tw/upload/images/20230913/20160220n050yvp3Ex.png
接下來將55行的toJson寫法換成能將json、java Object互相轉換的ObjectMapper:
附上一篇objectMapper的文章:https://kucw.github.io/blog/2020/6/java-jackson/
https://ithelp.ithome.com.tw/upload/images/20230913/20160220Cy0jOqJcUO.png
現在mapper.writeValueAsString的部分將滑鼠滑過去點擊Surround try/catch就可以囉~
前面有提到LINE PAY的API需要在Request Header添加必要資料。
上圖的signature對應的就是Request Header中的X-LINE-Authorization,而signature的組成就是由ChannelSecret+requestUri+RequestBody+nonce所組成。
ChannelSecret:LINE PAY商家後台我們連結金鑰裡的Channel Secret Key。
requestUri:官方文件裡提供給Request API這隻API的URL。
RequestBody:由objectmapper將範例程式中的java bean內容都轉為json格式的內容。
Nonce:同時也是Request Header中的X-LINE-Authorization-Nonce。
我們就把資訊都印出來。
Console:
https://ithelp.ithome.com.tw/upload/images/20230913/20160220z80If4Ohfg.png
這樣就可以帶到postman做測試囉!


上一篇
Day12 – 消費者付款API (Request API)!(1)
下一篇
Day14 – Postman測試Request API!
系列文
就算是初學者也能實作成功的使用java + spring 實現串接Line Pay APIs!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言