iT邦幫忙

2024 iThome 鐵人賽

DAY 12
0

上篇講了透過 使用者驗證 來限制使用者使用我們的 API

另一個系統中常見的元件 (服務) 就是 支付服務 了, 由於近年來電子支付盛行, 有各式各樣的付款方式
不過筆者只有接過 Stripe, 其他沒有實務經驗, 所以會分成幾天介紹, 預計介紹以下幾種付款方式的原理

  • 網頁支付
  • 行動支付
  • 電子錢包
  • 加密貨幣
  • 第三方支付平台

有些付款方式背後是使用相同的技術, 只是支援多種支付方式, 比如電子錢包可以用在 網頁支付 和 行動支付
不過感覺從 使用者端 介紹讀起來會比較有感覺, 所以先依照這個分類方式介紹XD

網頁支付

通常包含幾個角色

  • Payment Gateway
  • Payment Processor
  • 信用卡網路 (Credit Card Network)
  • 發卡銀行
  • 收款銀行 (或合作銀行)

以下分別說明

Payment Gateway

作為 店家 和 Payment Processor 中間的 服務 (Gateway), 負責接受網站發送的 付款請求
並驗證 付款方式 的有效性如卡號, 有效期限等等

常見的有: Stripe, PayPal, Square, NewebPay (藍新金流, 台灣廠商蠻常見)

Payment Processor

介於 Payment Gateway 和 銀行/信用卡發行商 之間, 負責整理 商家 的 付款請求 後轉發給 信用卡網路
(整理如驗證資料完整性, 反詐欺, 加密, 標準化請求, 檢查授權等等)

常見的有: Stripe, PayPal, Square, NewebPay (藍新金流, 台灣廠商蠻常見)

信用卡網路

信用卡網路 主要負責處理 發卡銀行 和 收款銀行 的資金轉移
步驟如下

  1. 法卡銀行 收到 Payment Processor 的請求, 開始檢查信用卡有效性 和 使用者帳戶餘額
  2. 通過則 "授權" 此交易
  3. 比對 應收帳款 和 應付帳款 後 "清算交易"
  4. 最後 "結算交易", 將資金從 發卡銀行 轉給 收款銀行

常見的有: Visa, MasterCard, American Express

發卡銀行

就是 使用者 申辦信用卡的銀行 (也是開戶銀行)

比如國泰世華, 富邦, 中信等等

收款銀行

即 店家 的銀行戶頭 (不確定開業是不是要另外開戶?)

比如電商平台, 8591 等等可以線上輸入卡號的網站

行動支付

行動支付也是很常聽到但涵蓋很廣的名稱, 一個判斷是否為行動支付的方式, 就是 "沒有該行動裝置的情況下能否付款"?

這裡想成手機就好~

行動支付生活中常見的有以下幾種

  • NFC 支付
  • 掃碼支付
  • 程式內購買 (In-App Purchase)

NFC 支付

NFC (Near Field Communication) 在前篇 使用者驗證 中有提到, 是一種讓裝置間能夠交換資料的技術, 在驗證中我們是以 自然人憑證 舉例, 手機是作為 讀取器 讀取 自然人憑證 (都嵌有 NFC 晶片)

以支付來說, 支援行動支付的 店家 通常會有一個支付裝置 (Payment Device), 能夠讀取 使用者手機裡的 NFC 晶片進行交易

https://ithelp.ithome.com.tw/upload/images/20240812/20161950TjANsQLiEY.jpg

比如: 百貨公司櫃檯 (應該都支援?), 各種商店等等, 只要看到結帳櫃檯有上圖的機器就是了XD

掃碼支付

這邊是指透過 QR Code (Quick Response Code) 支付

QR Code 是透過將資料 編碼 (Encode) 後, 用矩形呈現
行動裝置 在掃瞄到 QR Code 之後進行解碼 (Decode), 根據解碼的內容進行後續操作
比如若解碼為 URL, 則會打開瀏覽器; 若為開啟某個 App (也算 URL), 則會打開對應的 App (如 Line Pay)

https://ithelp.ithome.com.tw/upload/images/20240812/201619502FGtaUgBj6.jpg

程式內購買

程式內購買 的流程是根據平台如 Windows, MacOS, Mac Store, Apple Store, Google Play, Windows Store 等等

如果是行動裝置 (如手機) 的話, 假設程式都是從 Apple Store 或 Google Play 下載回來
那我們的 客戶端 只需要向商店發起支付請求即可, 後續的 驗證 和 扣款流程 都由商店處理 (幫我們發給 信用卡網路)

如果不是從商店安裝的 App (如 iOS TestFlight, android APK), 或是 PC 端 (如 Windows, MacOS) 程式
通常會走回上面的 網頁支付 (Webview), 使用者 在網頁輸入付款資訊後, 請求 Payment Gateway 進行後續付款流程

Reference


上一篇
[Day 11] 使用者驗證 (二)
下一篇
[Day 13] 支付服務 (二)
系列文
30 天 系統設計 學習筆記:建立思考的 SOP30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言