運作架構
連結後,你能做什麼?
依商家授權的 Scope 開放對應能力
銷售數據存取
讀取商家的訂單、訂閱、營收、流失率等數據,打造自己的儀表板或分析報表。
orders:readsubscriptions:readanalytics:read推廣與分潤
自動成為商家的推廣者,追蹤歸因、計算佣金、自動撥款。不碰金流、不處理稅務。
org:readorders:read即時事件通知
透過 Webhook 接收訂單成立、訂閱異動、付款成功等事件,驅動你的自動化流程。
webhooks產品目錄同步
讀取商家的產品與價格資訊,在你的平台上展示與推薦,自動保持同步。
products:read客戶資料查詢
經授權後存取商家的客戶與訂閱者資料,用於 CRM 整合或客戶洞察分析。
customers:readAPI 金鑰管理
代商家建立和管理 API 金鑰,實現更深層的系統整合。
api-keys:readapi-keys:write應用場景
不同類型的平台,用同一套 Connect 機制
SaaS 市集 / 聯盟行銷
聚合多個商家的產品,統一推廣與行銷。平台自動成為推廣者,每筆成交自動分潤。
數據分析 / 顧問工具
讀取多個商家的營收、訂閱、流失數據,提供跨品牌的績效分析或投資人報表。
自動化 / 工具整合
監聽商家事件,觸發自動化流程 — CRM 同步、通知發送、庫存管理、會計記帳。
課程 / 內容平台
匯集多位講師的課程,統一展示與結帳入口。講師用自己的帳號收款,平台專注行銷。
合規 / 稅務 / 記帳
經授權讀取商家交易紀錄,自動產出稅務報表、發票整理、財務對帳。
白標 / 品牌整合
將商家的結帳與訂閱管理嵌入你的平台,提供一致的品牌體驗。
怎麼運作?
標準 OAuth 流程,4 步完成串接
商家點擊「連結 Recur 帳號」
在你的平台上放置授權按鈕。商家點擊後進入 Recur 的 OAuth 授權頁面。
商家選擇授權範圍
商家用自己的 Recur 帳號登入,確認要開放的權限(銷售數據、產品資訊、推廣設定等)。
取得 Access Token
授權完成後,你的平台取得 token,可開始呼叫 API 存取商家資料,或接收 Webhook 事件。
打造你的產品體驗
用取得的資料建立儀表板、觸發自動化流程、追蹤推廣成效 — 依你的需求自由發揮。
平台與商家都受益
平台端
OAuth 標準整合
業界標準 OAuth 2.0 + OIDC。任何語言、任何框架都能串接。
精細的 Scope 權限
商家明確授權存取範圍。只開放產品資料、不開放客戶個資?沒問題。
即時 Webhook 通知
訂單、訂閱、客戶事件即時推送。不需要輪詢,事件驅動架構。
不碰金流
商家用自己的 PAYUNi 收款。平台不需要申請金流牌照、不處理退款爭議。
商家端
零開發成本
點擊授權按鈕,30 秒完成連結。不需要寫程式、不需要提供 API key。
隨時可撤銷
在 Recur 後台一鍵解除授權。帳號、密碼永遠不會與平台分享。
額外曝光管道
加入平台等於多了銷售渠道。平台幫你推廣,你專心做產品。
完整控制權
用自己的 Recur 後台管理一切。產品、定價、客戶資料都在你手上。
SDK 讓串接變得簡單
不用手寫 OAuth 流程,SDK 幫你處理授權、token、型別
import { RecurConnect } from '@recur-tw/connect'
const connect = new RecurConnect({
clientId: 'your-platform-id',
clientSecret: process.env.RECUR_CONNECT_SECRET,
})
// 產生授權連結 — 一行搞定
const url = connect.getAuthUrl({
scope: ['org:read', 'orders:read', 'products:read'],
redirectUri: '/api/recur/callback',
})
// 處理 callback — 自動換 token
const account = await connect.handleCallback(code)
// 透過已連結帳號存取商家資料 — 完整型別
const orders = await account.orders.list({ limit: 10 })
const products = await account.products.list()
const revenue = await account.analytics.revenue({ period: '30d' })RecurConnect 處理 OAuth 授權、token 交換與自動續期。account 物件提供完整的 typed API。
import { RecurConnectButton } from '@recur-tw/connect/react'
<RecurConnectButton
clientId="your-platform-id"
scope={['org:read', 'orders:read']}
onSuccess={(account) => {
console.log(`已連結: ${account.organizationName}`)
}}
/>一個元件搞定授權按鈕。自動處理 redirect、popup、callback。
import { RecurConnect } from '@recur-tw/connect'
const connect = new RecurConnect({
clientId: 'your-platform-id',
clientSecret: process.env.RECUR_CONNECT_SECRET,
})
export const POST = connect.webhookHandler({
'order.paid': async (event, account) => {
// event 和 account 都有完整型別
await syncToYourDatabase(event.data)
},
'subscription.cancelled': async (event, account) => {
await notifyTeam(account.organizationName, event.data)
},
})
// 自動驗證簽名,自動回應 200宣告式 webhook handler,自動驗證簽名。支援 Next.js、Hono、Express。
常見問題
什麼是 Recur Connect?
Recur Connect 讓外部平台透過 OAuth 授權,安全存取 Recur 商家的資料與功能。你可以用它來讀取銷售數據、接收事件通知、建立推廣關係,或任何你的平台需要的整合。類似 Stripe Connect,但專為台灣市場設計。
平台可以存取哪些資料?
取決於商家授權的 Scope。可能包括:組織資訊、產品目錄、訂單與訂閱數據、營收分析、客戶資料等。每個 Scope 都需要商家在授權頁面明確同意。
平台需要處理金流嗎?
不需要。每位商家使用自己的 PAYUNi 帳號收款。如果你的平台想透過推廣分潤,Recur 負責計算與撥款,平台不需要碰錢。
商家的資料安全嗎?
絕對安全。商家透過 OAuth 明確授權存取範圍,隨時可在 Recur 後台撤銷。帳號密碼永遠不會與平台分享。所有 API 存取都有 Token 驗證與過期機制。
可以同時用於推廣分潤和數據分析嗎?
可以。Recur Connect 的能力取決於授權的 Scope。一個平台可以同時擁有推廣分潤、銷售數據讀取、Webhook 事件通知等多種能力,只要商家同意授權。
需要多少開發工作才能串接?
使用 @recur-tw/connect SDK,前端放一個 RecurConnectButton 元件、後端寫一個 callback handler、設定一個 webhook endpoint。SDK 處理 OAuth 流程、token 管理和簽名驗證,大部分平台可以在幾小時內完成串接。