Stripe Webhooks(網(wǎng)絡(luò)鉤子) 是實現(xiàn)真正的支付結(jié)果異步監(jiān)聽與自動狀態(tài)變更。本文深入講解如何配置 Stripe Webhooks,并在實際項目中實現(xiàn)訂單狀態(tài)的自動更新機制。
![圖片[1]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618135538281-image.png)
一、什么是 Stripe Webhooks?
Webhooks 是 Stripe 向你服務(wù)器發(fā)送事件通知的一種機制。當(dāng)某個事件,如付款成功、退款完成、訂閱變更等發(fā)生時,Stripe 會向你預(yù)設(shè)的 URL(Webhook 端點)發(fā)送一個 POST 請求,包含事件詳細信息。
使用 Webhooks 有哪些優(yōu)勢?
- 異步通知:不用用戶跳轉(zhuǎn)或刷新頁面,也能獲取訂單狀態(tài)。
- 實時更新:支付結(jié)果可以瞬時反饋,提高用戶信任度。
- 穩(wěn)定可靠:Stripe 會自動重試失敗的 webhook 事件,確保消息到達。
- 擴展靈活:支持監(jiān)聽幾十種事件類型,如
payment_intent.succeeded
、charge.refunded
、invoice.payment_failed
等。
![圖片[2]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618135627377-image.png)
二、如何配置 Stripe Webhook 端點?
第一步:進入 Webhook 配置頁面
- 打開 Stripe 后臺:https://dashboard.stripe.com
- 登錄賬戶后,切換為測試模式(頁面上方顯示“測試模式”)在搜索欄中直接搜索 Webhook 即可快速創(chuàng)建
- 也可點擊進入 Webhook 頁面:
?? https://dashboard.stripe.com/test/workbench/webhooks
![圖片[3]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618143024899-image.png)
第二步:創(chuàng)建 Webhook 的“向?qū)Я鞒獭?/h3>
第一步選擇偵聽的事件類型
![圖片[4]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618143722460-image.png)
推薦勾選的事件:
類別 | 推薦事件 | 說明 |
---|---|---|
PaymentIntent | payment_intent.succeeded | 支付成功(常用于標(biāo)記訂單已支付) |
PaymentIntent | payment_intent.payment_failed | 支付失敗 |
![圖片[5]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618143928950-image.png)
選好后,點擊頁面右下角的紫色按鈕:
?? 繼續(xù)
第三步:配置 Webhook 端點信息
第 1 步:選擇你要監(jiān)聽的事件(推薦選擇):
- ?
payment_intent.succeeded
(支付成功) - ?
payment_intent.payment_failed
(支付失?。?/li>
第 2 步:選擇接收端類型
- 選擇Webhook端點,然后點繼續(xù)
![圖片[6]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618144231332-image.png)
第四步:填寫配置接收端
在這一步你將看到一個表單,填寫:
字段 | 內(nèi)容 |
---|---|
端點 URL(Endpoint URL) | 輸入你的服務(wù)器接收地址,如:https://yourdomain.com/webhook/stripe |
描述(可選) | 如“訂單狀態(tài)更新監(jiān)聽” |
然后點擊 “創(chuàng)建目的地“ 即可完成 Webhook 配置!
![圖片[7]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618144555604-image.png)
![圖片[8]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618144727494-image.png)
三、訂單狀態(tài)自動化更新流程
1. 客戶提交訂單并跳轉(zhuǎn)支付
創(chuàng)建 PaymentIntent 時附加訂單 ID:
\Stripe\PaymentIntent::create([
'amount' => 29900,
'currency' => 'usd',
'metadata' => ['order_id' => 'ORDER12345'],
]);
2. 客戶完成支付,Stripe 自動觸發(fā) Webhook
事件如 payment_intent.succeeded
被觸發(fā),Stripe 將發(fā)送請求到你的 webhook 端點。
![圖片[9]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618150551744-image.png)
![圖片[10]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618145423620-image.png)
3. 后端解析事件,更新訂單狀態(tài)
運用 $event->type
區(qū)分事件,調(diào)用系統(tǒng)的訂單更新邏輯(數(shù)據(jù)庫寫入、日志記錄、通知發(fā)送等)。
4. 自動通知客戶
在 webhook 接收邏輯中還可以:
- 發(fā)送支付成功郵件
- 推送站內(nèi)通知
- 通知發(fā)貨系統(tǒng)準(zhǔn)備物流
四、安全性與調(diào)試建議
1. 驗證 Stripe 簽名
建議啟用 webhook 的簽名驗證,確保數(shù)據(jù)來源真實可靠。密鑰簽名可在 Stripe 后臺 Webhook 配置頁中找到。
![圖片[11]-如何使用 Stripe Webhooks 實現(xiàn)訂單狀態(tài)自動更新](http://gqxi.cn/wp-content/uploads/2025/06/20250618145725945-image.png)
2. 本地開發(fā)推薦使用 stripe-cli
使用命令工具把 Stripe 事件轉(zhuǎn)發(fā)到本地服務(wù)器:
stripe listen --forward-to localhost:8000/webhook/stripe
還可以使用模擬測試特定事件:
stripe trigger payment_intent.succeeded
五、支持的常用事件推薦清單
事件類型 | 描述 |
---|---|
payment_intent.succeeded | 支付成功,常用于確認訂單 |
payment_intent.payment_failed | 支付失敗,可用于重試提醒 |
charge.refunded | 退款完成,更新狀態(tài)為已退款 |
checkout.session.completed | Checkout 支付成功(如用 Stripe Checkout) |
invoice.payment_succeeded | 訂閱類賬單支付成功 |
invoice.payment_failed | 自動續(xù)費失敗 |
更多事件類型可參考官方文檔:
https://stripe.com/docs/api/events/types
六、總結(jié)
Stripe Webhooks構(gòu)建一個穩(wěn)定、高效、不用人工介入的訂單狀態(tài)自動更新系統(tǒng)。無論是一次性支付、訂閱服務(wù)、退款處理,Webhook 都可以幫助系統(tǒng)在第一時間做出響應(yīng),是現(xiàn)代電商系統(tǒng)的核心機制。
聯(lián)系我們 | |
---|---|
教程看不懂?聯(lián)系我們?yōu)槟赓M解答!免費助力個人,小企站點! |
![]() 客服微信
|
① 電話:020-2206-9892 | |
② QQ咨詢:1025174874 | |
③ 郵件:info@361sale.com | |
④ 工作時間:周一至周五,9:30-18:30,節(jié)假日休息 |
暫無評論內(nèi)容