交易流程 – 直接交易
當你需要做用退款/獲取交易,便需要使用本流程。
在大部情形下,交易結果會直接在API中返回。但是,下列交易類別並不會立刻產生交易結果,則結果會經由webhook去通知商戶,或是經由查詢API得知。
1. 八達通退款
2. Checkout.com退款
3. 匯豐銀行FPS退款
4. 銀聯UPOP退款
5. 微信退款
1. 八達通退款
2. Checkout.com退款
3. 匯豐銀行FPS退款
4. 銀聯UPOP退款
5. 微信退款
-
請只經由後台送出交易API
而不要經由前端。因為API訊息是要使用密鑰簽署,而密鑰不應在前端部署。
-
只相信webhook通知或是查詢API
因為顧客可以中途關掉網頁甚至自行更改URL,所以通過前端的動作去判定交易結果是不安全的做法。
在相理交易時,使用一個有唯一性的ID去尋找和區別交易是非常重要的。這裏說明一下幾項交易ID的用法和關係。
商戶參考號 (merchantRef) – 這是由商戶自行設定,每筆交易也有不同值。如每同一個訂單下需要進行獲取/退款,需要一個與原來不同,新的商戶參考號值。
格式:最長25位, [A-Za-z0-9_-],最後三位不可以是’_’。
交易 ID (txnId) – 類似商戶參考號,但這是經由 Spiral 而不是商戶生成。
訂單 ID (orderId) – 同交易ID一樣是經由Spiral產生, 但在同一組訂單下的交易 (例如獲取/退款)都會擁有相同的訂單ID,而交易ID則有不同值。 進行獲取/退款時需要提供訂單ID去辦別原來訂單。
Hosted Session及直接交易兩種流程的不同使用場景:
直接交易 |
Hosted Session |
|
|