今天來說串接綠界「全方位金流」常常會遇到的問題吧
有些人可能是基於開發者習慣
在串接任何API前都會先使用POSTMAN這類程式,對API進行測試
順便看看API的呼叫與回傳狀況
雖然這是個好習慣,但串接「全方位金流」規格時,可能就會遇到問題了
若有正確呼叫「全方位金流」API,畫面應該長這樣:
但你會發現,若使用POSTMAN這類程式呼叫「全方位金流」,只會取回API回傳的HTML程式碼:
這時,若將取回的HTML程式碼貼到記事本,再用瀏覽器開啟
就會得到這樣的畫面:
你會發現畫面怪怪的,很像是css沒有讀取到
為什麼呢,原因如下:
<link href="/Content/themes/WebStylePayment/css/payment.css?t=20240828102151" rel="stylesheet" />
<link href="/Content/themes/WebStylePayment/css/pm_en.css" rel="stylesheet" />
<link href="/Scripts/vue/plugin/simplert.css" rel="stylesheet" />
「全方位金流」這支API的流程,是程式端發起請求後,「轉跳」至綠界頁面進行付款。
因此必須由「前端」產生一個form之後,再submit出來。
其實仔細看綠界官方文件的話,寫在這裡:
透過前端網頁轉導(Submit),綠界才會將畫面進行「轉跳」
若使用後端呼叫「全方位金流」API,綠界是無法協助進行轉跳的
你只會取回一長串的HTML程式碼
如果你串接「全方位金流」的時候遇到這個狀況,趕緊看看是不是踩到這個雷
小提醒:雖然這支API必須使用前端form進行呼叫
但是千萬不要把相對應的金鑰也放在前端讓大家看!
重要的東西記得自己藏好哦
我很確定有按照問題一的方式,在前端生成form之後再sumbit出去
但為何會出現這個畫面?
恩..
這個情況,可以把綠界官方文件打開,看一下HTTPS傳輸協定:
然後再看看剛剛的錯誤畫面:
眼尖的你發現了嗎?
原來是用到GET方式呼叫API了
趁被主管發現前
趕緊返回你的程式把GET改成POST吧
感想:
每一支API都有自己的規矩
每次剛要開始串新的API,或是沒接觸過的規格
常常會遇到千奇百怪的錯誤
但又因為錯誤不大,導致找了半天找不到問題點
真心覺得看規格看很快,三兩下就可以串起來的工程師很厲害
可能大腦構造和我們一般人不同吧
以上,就是今天的內容
各位串接綠界金流還有遇到哪些問題呢?
歡迎留言分享
我們明天見!