當交易並不會立即完成,而是會經由電郵或其他方法去發給顧客時,你可以使用API去請求交易鏈結(或是手動在Spiral平台產生)。


Spiral會經API返回
交易鏈結,當顧客進入縺結時,會讓顧客選擇支付返式及進行交易。

交易鏈結API有三個步驟。

 

 

 

步驟一:產生鏈結

商戶後台發送帶有訂單資料請求API至Spiral網關,Spiral網關則會返回交易鏈結。

轉至 API 交檔

步驟二:發送鏈結至顧客

商戶後台應使用電郵或其他方法發送鏈結給顧客。

WebhooksCreated with Sketch.

步驟三:接收交易結果通知

當交易完成,Spiral網關會發送通知(webhook)給商戶後台。

如果Spiral未能收到商戶後台的確認(response code 200),則會在約兩小時內, 以大約15分鐘的間距重發。 如果商戶未能在正常時間下收到通知,可以發起查詢的API以取得交易結果。

轉至 API 交檔
  • 請只經由後台送出交易API

    而不要經由前端。因為API訊息是要使用密鑰簽署,而密鑰不應在前端部署。

  • 只相信webhook通知或是查詢API

    因為顧客可以中途關掉網頁甚至自行更改URL,所以通過前端的動作去判定交易結果是不安全的做法。

在相理交易時,使用一個有唯一性的ID去尋找和區別交易是非常重要的。這裏說明一下幾項交易ID的用法和關係。

商戶參考號 (merchantRef) – 這是由商戶自行設定,每筆交易也有不同值。如每同一個訂單下需要進行獲取/退款,需要一個與原來不同,新的商戶參考號值。
格式:最長22位, [A-Za-z0-9_-]。

交易 ID (txnId) – 類似商戶參考號,但這是經由 Spiral 而不是商戶生成。

訂單 ID (orderId) – 同交易ID一樣是經由Spiral產生, 但在同一組訂單下的交易 (例如獲取/退款)都會擁有相同的訂單ID,而交易ID則有不同值。 進行獲取/退款時需要提供訂單ID去辦別原來訂單。