Stripe手动提现:如何确认付款处理完成状态?
Hey there, great question—tracking payout status is crucial when you’re managing held user funds like this. Here are the most reliable methods to know when a manual payout to a user’s external account has finished processing:
Webhooks (The Recommended Approach)
Stripe triggers apayout.updatedwebhook event whenever a payout’s status changes. You’ll want to listen specifically for when the status shifts topaid—this confirms the funds have successfully landed in the user’s external account. You should also handlefailedorcanceledstatuses to address any errors promptly. To set this up:- Navigate to the Webhooks section in your Stripe Dashboard
- Add an endpoint that listens for the
payout.updatedevent - In your server code, parse the event payload and check the
data.object.statusfield to confirm completion
API Polling (For Non-Webhook Setups)
If webhooks aren’t a fit for your app’s architecture, you can periodically fetch payout details using the Stripe API. Use theRetrieve a Payoutendpoint (GET /v1/payouts/{payout_id}) and check thestatusfield. Wait until it showspaidbefore releasing the corresponding held funds in your system. Just remember to keep polling intervals reasonable (like every few hours, since payouts take 2-7 days) to avoid hitting rate limits.Stripe Dashboard Alerts (For Manual Monitoring)
If you only need to keep an eye on a small volume of payouts, you can set up email alerts in the Stripe Dashboard. Head to Settings > Notifications and enable alerts for payout status changes. This works for manual checks but isn’t scalable for apps with lots of users.
One quick tip: When you initiate a manual payout, Stripe will return a unique payout_id—be sure to save this ID in your database so you can easily reference it later for webhook events or API calls.
内容的提问来源于stack exchange,提问作者Abhijeet

