跳至主要內容

整合指南

規劃您的整合。

每份指南均概述相關步驟及決定。請求及回應的詳情載於 API 技術文件。

託管收銀台(Hosted Checkout)整合

將客戶轉至由彩虹匯託管的付款頁面,並於您的伺服器接收付款結果。銀行卡資料於託管頁面輸入,而非您的網站。

適用對象: 希望接受銀行卡及電子錢包付款,而無須自行建立付款表格的商戶。

  1. 1

    取得測試環境使用權限

    測試環境憑證會於開戶期間發出。測試環境模擬交易處理,讓您在不涉及真實資金的情況下進行開發及測試。憑證只應儲存於您的伺服器。

  2. 2

    於伺服器建立付款

    當客戶準備付款時,您的伺服器發送付款請求,當中包括金額、貨幣、您的訂單參考編號、成功 URL、失敗 URL 及回調 URL。切勿從瀏覽器程式碼建立付款。

  3. 3

    儲存付款令牌並轉址

    回應會包含付款令牌及託管付款頁面的地址。請將令牌與訂單一併儲存,然後將客戶轉至該頁面。

  4. 4

    處理客戶返回

    客戶付款後會返回您的成功或失敗 URL。請向客戶顯示清晰的訊息,但切勿將客戶返回視為付款證明。客戶可能關閉瀏覽器或直接開啟該 URL。

  5. 5

    於伺服器確認狀態

    根據發送至您回調 URL 的回調更新訂單,並在履行訂單前以付款令牌透過 API 確認狀態。請參閱處理回調。

  6. 6

    完成測試後申請正式上線

    請於測試環境測試已批准、已拒絕及已放棄的付款,以及退款。正式環境使用權限須待合規、商業及技術審批完成後方會提供。欄位名稱及格式載於API 文件 (opens in a new tab)。

伺服器對伺服器 API 付款

透過彩虹匯 API 直接從您的伺服器建立及管理付款,包括兩步付款及退款。

適用對象: 正在建立自訂結帳流程,並能履行隨之而來的安全責任的開發團隊。

  1. 1

    決定如何收集銀行卡資料

    從您的伺服器發送原始銀行卡資料,會令您的系統納入支付卡行業數據安全標準(PCI DSS)的適用範圍,並須獲彩虹匯批准。請在開始開發前,於開戶期間確認您的方案。如您無須處理銀行卡資料,可考慮使用託管收銀台。

  2. 2

    保護您的憑證及環境

    API 憑證應保存在伺服器上,不得放入原始碼管理系統及用戶端程式碼。請為測試環境及正式環境使用不同憑證,並限制可讀取憑證的人員。

  3. 3

    建立付款

    發送付款請求,當中包括金額、貨幣、訂單參考編號及回調 URL。請將回應中的付款令牌與訂單一併儲存。

  4. 4

    在稍後才確認金額或存貨時使用兩步付款

    在付款請求中設定 needConfirmation,並在核實訂單後透過 API 確認或拒絕該付款。

  5. 5

    安全處理錯誤及重試

    為每次調用設定逾時。如遺失回應,請先以令牌查詢該付款,然後才重試,以免重試產生重複收費。

  6. 6

    退款、爭議及餘額

    以付款令牌作全額或部分退款。透過列表端點取得爭議資料,並透過餘額端點查核可用資金。

  7. 7

    測試完整流程

    申請正式上線前,請於測試環境測試批准、拒絕、確認、退款及回調。端點詳情載於API 文件 (opens in a new tab)。

處理回調

於您的伺服器接收付款狀態變更並安全處理,即使通知重複、延遲或不按次序送達亦然。

適用對象: 在彩虹匯整合中負責訂單履行及付款狀態的開發人員。

  1. 1

    提供 HTTPS 端點

    在您的伺服器提供接受 POST 請求的回調 URL。當付款狀態改變時(例如轉為 pending、approved 或 declined),彩虹匯會發送回調。

  2. 2

    核實每項請求

    請按API 文件 (opens in a new tab)所述方法核實真確性,並確認付款令牌屬於您的其中一張訂單。任何未通過核實的請求均應拒絕。

  3. 3

    記錄回調並迅速回應 200

    請以持久方式儲存回調,並以 HTTP 200 回應。耗時的工作(例如發送電郵或更新存貨)應於獨立程序中處理。非 200 的回應會導致系統重試該回調。

  4. 4

    以冪等方式處理

    同一回調可能多次送達。請以付款令牌及狀態作為處理依據,使同一訊息處理兩次的效果與處理一次相同。

  5. 5

    遵從狀態次序

    回調可能不按次序送達。切勿讓 pending 通知覆蓋已屬最終的 approved 或 declined 狀態。

  6. 6

    與 API 對賬

    履行訂單前,請透過 API 確認狀態。請定期檢查處於 pending 狀態時間較預期長的付款,以找出系統中斷期間遺漏的回調。請參閱設計可靠的付款回調。

定期付款

在客戶在場時收取首次付款,其後以定期付款令牌收取重複付款。

適用對象: 設有訂閱、分期付款或其他已協定重複收費的商戶。

  1. 1

    與客戶協定條款

    在首次付款前,向客戶顯示金額、頻率、開始日期及取消方法,並記錄客戶的同意。定期付款的可用性或因支付方式而異。

  2. 2

    將首次付款標示為定期付款

    以 recurring: true 建立客戶的首次付款。客戶會按一般方式,透過託管收銀台或您已獲批准的 API 流程完成付款。

  3. 3

    儲存定期付款令牌

    首次付款獲批後,回應會包含 recurringToken。請將其與客戶的協議一併安全儲存。該令牌並非卡號,但可用以向客戶收費,因此須妥為保護。

  4. 4

    建立重複付款

    每次收取其後的款項時,您的伺服器以定期付款令牌及協議下的應付金額建立付款。請一如處理其他付款般,透過回調處理結果。

  5. 5

    處理拒絕交易及取消

    請預先決定重複付款遭拒絕時會重試多少次,以及將如何聯絡客戶。客戶一旦取消,須立即停止收費。

  6. 6

    測試整個週期

    請於測試環境測試首次付款、成功的重複付款、遭拒絕的重複付款及取消。請求欄位載於API 文件 (opens in a new tab)。

準備好商討您的支付設定了嗎?

請告訴我們您的業務目前如何收款,以及您對下一個支付整合有何需要。

Cookie 偏好設定

選擇我們可使用的非必要 Cookie。絕對必要的 Cookie 會一直啟用,因為網站需要它們才能運作。

  • 絕對必要

    保安、負載平衡、表格保護及記錄您的 Cookie 選擇。

    一直啟用

閱讀 Cookie 政策