iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
自我挑戰組

串接綠界服務的疑難雜症詳解系列 第 5

【綠界金流】薛丁格的訂單

  • 分享至 

  • xImage
  •  

當你突破重重難關
終於串接完成
成功呼叫建立訂單API

興沖沖登入綠界的管理後台
卻找不到剛剛建的訂單

為什麼?

今天來說一下「查詢訂單」時常會發生的問題吧


情境一:

綠界有免費的測試帳號,提供給大家開發測試使用
若使用MerchantID:3002607建立訂單
並且有收到付款完成通知,如下:

CustomField1=&CustomField2=&CustomField3=&CustomField4=&MerchantID=3002607&MerchantTradeNo=ECPaytest1724823139&PaymentDate=2024/08/28 13:32:41&PaymentType=Credit_CreditCard&PaymentTypeChargeFee=2&RtnCode=1&RtnMsg=交易成功&SimulatePaid=0&StoreID=&TradeAmt=100&TradeDate=2024/08/28 13:32:20&TradeNo=2408281332206560&CheckMacValue=D8F8A7E7C21DE27A8DE11224E57D2D9BFC25E9E49B8EDBCBB8F3D1EAD10F341C

這時登入綠界廠商測試管理後台
輸入對應的訂單號碼搜尋
但卻找不到這筆訂單
https://ithelp.ithome.com.tw/upload/images/20240830/20168877t8K4OGVWK8.png

解答:

發生此情況的原因是:「登入錯誤的測試帳號

由於綠界官方提供了不同的測試帳號,對應不同的服務

以上圖為例,是誤登入了「特店編號:2000132」的後台
由於訂單是建立在「特店編號:3002607」內
因此要登入帳號3002607的後台才能找到對應的訂單
https://ithelp.ithome.com.tw/upload/images/20240830/20168877Tr6NvjmrwU.png


情境二:

使用「帳號3002607」建立訂單
確定有轉跳到綠界付款頁面
https://ithelp.ithome.com.tw/upload/images/20240830/20168877Acpiyx9qa7.png

自己的系統也有紀錄到request的payload
但是為何登入「帳號3002607」的後台
還是找不到訂單?
https://ithelp.ithome.com.tw/upload/images/20240830/20168877wOty4EXpFz.png

解答:

發生此情況的原因是:「當消費者進入綠界頁面後,並未輸入卡號資訊便關閉頁面
這時,訂單就不算建立完成,也就無法從後台找到該張訂單囉

若確定系統有發送request紀錄,但遲遲未收到綠界回傳的付款結果通知
可以使用綠界的「查詢訂單」API,就可以查到該筆訂單的交易情況囉
實際呼叫「查詢訂單」API,可以查到如下結果:

CustomField1=&CustomField2=&CustomField3=&CustomField4=&HandlingCharge=0&ItemName=活動&MerchantID=3002607&MerchantTradeNo=ECPaytest1724824502&PaymentDate=&PaymentType=&PaymentTypeChargeFee=0&StoreID=&TradeAmt=100&TradeDate=2024/08/28 13:55:03&TradeNo=2408281355036702&TradeStatus=0&CheckMacValue=9389551A50AFC9E1894FA723A1C2B135

由上方回傳得知,TradeStatus=0,這時可以參考下方技術文件說明:
https://ithelp.ithome.com.tw/upload/images/20240830/201688777fRTFJ7UC9.png

如果是上述情況,綠界後台界面就會查不到訂單囉


情境三:

好,這次確定我的帳號3002607沒錯
確定有送出request
https://ithelp.ithome.com.tw/upload/images/20240830/20168877csC6cGalv1.png

確定有進入綠界付款頁面並完成付款
https://ithelp.ithome.com.tw/upload/images/20240830/20168877fjNT5XrzQO.png

確定有收到綠界回傳的付款結果通知

CustomField1=&CustomField2=&CustomField3=&CustomField4=&MerchantID=3002607&MerchantTradeNo=ECPaytest1724827086&PaymentDate=2024/08/28 14:39:34&PaymentType=Credit_CreditCard&PaymentTypeChargeFee=2&RtnCode=1&RtnMsg=交易成功&SimulatePaid=0&StoreID=&TradeAmt=100&TradeDate=2024/08/28 14:38:08&TradeNo=2408281438087073&CheckMacValue=AC2A01D640E284CE0C6A0A06843FED22F0B00C3F72557C2B4563333C3097CB66

確定有登入正確的3002607帳號後台
那為什麼,還 是 找 不 到 我 的 訂 單??
https://ithelp.ithome.com.tw/upload/images/20240830/20168877qhxgVy2fMC.png

解答:

發生此情況的原因是:綠界是接受建立「過去日期」的訂單

仔細看當初送出的payload,會發現MerchantTradeDate=2024/08/27 00:25:30
https://ithelp.ithome.com.tw/upload/images/20240830/20168877aPWR7bwPMH.png

由於筆者實際發送建立訂單的請求時間為2024/8/28
進到綠界後台查詢時,系統會自動先帶入當天日期,也就是「2024/8/28」,所以會查不到訂單
https://ithelp.ithome.com.tw/upload/images/20240830/20168877qhxgVy2fMC.png

必須把日期區間設置成「MerchantTradeDate」的日期,才能找到訂單哦
https://ithelp.ithome.com.tw/upload/images/20240830/20168877amrQTGHGHn.png


以上,就是本日「查不到訂單」系列。
大家串接綠界金流時,是否有遇過上述的情況呢?
希望這篇文章對你有幫助

那我們明天見啦


上一篇
【綠界金流】付款方式選擇障礙?
下一篇
【綠界金流】就是想用Apple Pay
系列文
串接綠界服務的疑難雜症詳解22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言