iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0

讓我們再來看一遍消費流程:
https://ithelp.ithome.com.tw/upload/images/20210928/20131205hReIZTMve8.png

訂單建立⇒交易付款⇒信用卡付款.ATM轉帳.(超商付款)⇒付款成功

買方付款成功之後,如何回去原先的資料庫修改該筆訂單的付款狀態為交易成功呢?

這時必須透過 OrderPayQuery 來查詢該筆訂單的交易狀態
https://ithelp.ithome.com.tw/upload/images/20210928/20131205EnjxnJAxyY.png

在這邊同樣是以json傳入參數,大致上會像這樣:

{
"ShopNo": "BA0026_001",
"PayToken": "db6ffffe158a59269d03ec641c5516267da14ce617b59e9c784054192ff617d5"
}

付款結果(PayOut)

  1. 虛擬帳號:付款人完成繳款後,會經由 BackendURL 訊息通知。
  2. 信用卡:當付款人刷卡(付款)成功後,會經由 BackendURL 或 ReturnURL 訊息通知。

已自動請款(CaptureOut)

  1. 信用卡:信用卡訂單若有指定預計自動請款天數(ExpBillingDays),豐收款 成功請款後會經由 BackendURL 訊息通知。

訊息內容判斷

查詢到主要重點欄位在 APTypeOrderNoShopNoStatus 這四個欄位,

回覆內容解析後如圖:
https://ithelp.ithome.com.tw/upload/images/20210928/20131205fzXf6fjFk7.png

很簡單,若要確認是某筆訂單的交易狀態為付款成功,則可以根據前面幾個欄位作key進行查詢,而當Status的value為"S"就是成功

明天會介紹實做的部分,如果有空的話也會考慮建個資料庫> <
主要會以關聯是資料庫(MSSQL或MySQL)搭配Code First Migration在.Net Core
有點想玩玩看模擬商家LINE Pay交易,但還需要再花點時間研究一下webhook的部分


上一篇
[Day 13] C#改造程式碼( Func<T, TResult> )教學(下)
下一篇
[Day 15] 牛刀小試-在Controller封裝自己的Post API
系列文
菜鳥工程師想用C#做出金流微服務是否搞錯了什麼?15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言