認識 Stripe
Stripe 是一套線上金流平台,讓網站或 App 能收信用卡、錢包與各地常用付款方式。對 Python 開發者來說,真正要寫的程式不多:伺服器算出金額、呼叫 Stripe API、再用 webhook 確認「錢真的進來了」之後才出貨或開通權限。
本站用繁體中文把這條路拆開:先建立帳號與測試環境,再講核心物件,接著用 Flask 寫完整收款流程,最後用官方與優質影音對照實作。
最必須掌握的 20%
金流文件很長,但大多數收款程式反覆用到的只有這五件事:
- 金鑰分兩把:
pk_...可放前端;sk_...只能放伺服器,而且要用環境變數,不要寫進 Git。 - 金額在伺服器算:價格、數量、折扣都從後端決定。前端只負責顯示與收集付款資料,不能當計價來源。
- 選對整合方式:沒有程式就用 Payment Link;要最快上線用 Checkout 託管頁;要留在自己網站裡再做 Payment Element。
- Checkout Session / PaymentIntent 代表「這一筆要收多少錢」:建立它、讓顧客付款、看狀態是否變成成功。
- Webhook 才是履約依據:成功頁可能沒被打開。務必驗證簽章,再依
checkout.session.completed或payment_intent.succeeded出貨。
把這五點做對,就能寫出可上線的收款程式。其餘(訂閱、稅務、退款、3D Secure)都是在這條骨幹上加功能。
官方學習資源
官方文件與範例
Stripe Docs 可切換 Python 範例。Checkout Quickstart 與 Accept a payment 是寫程式時最常打開的兩頁。stripe-samples 有可下載的完整專案。
官方 YouTube
Stripe Developers 有逐步示範與直播。本站已整理並嵌入於 官方影音。
官方認證課程
Stripe Training 提供 Associate / Professional Developer 實作挑戰,後端可選 Python。適合想取得原廠認證的開發者。說明見 Stripe certification for partners。
建議學習順序
- 帳號與金鑰 → Python SDK → 測試卡
- 金流架構 → 安全原則
- Checkout 託管頁(先做這個)
- Webhook 履約(沒有這步就不算出貨)
- 需要自訂表單時再做 PaymentIntent
- 對照 官方影音 與本站程式