审查未捕获的付款
在您的 Stripe 集成使用授权和捕获的情况下,了解如何使用审核功能。
默认情况下,您可以一步创建 Stripe 付款,不需要采取进一步操作,便可将资金发送到您的银行账户。
但是,Stripe 也支持两步付款,通常称为授权和捕获。如果您的集成使用了这种技术,则请牢记:批准审核和捕获付款是独立的两项操作。
在管理平台中查看未捕获的付款
当 Stripe 将未捕获的付款送入审核时,除了通过批准或退款来关闭审核的一组按钮之外,管理平台还会显示一个捕获按钮。此外,由于退还未捕获的付款通常被称为“释放”或“冲正”,因此未捕获的付款会有一个取消按钮,而不是退款按钮。
备注
批准审核并不会自动捕获收款。仍然需要点击捕获。
用 API 自动捕获批准的付款
通过 API,您可以设置您的集成应用,使其:
- 立即捕获_未_被送入
review
的付款 - 将被送入
review
的付款保留未捕获状态 - 审核通过后,捕获付款
立即捕获未被送入审核的付款
要创建未捕获的付款,请相应在 API 请求中设置捕获行为。成功后,检查 Payment Intent 的 review 属性。如果属性为空,则捕获收款。
审核通过后捕获付款
按照设计,上一步中会将处于 review
状态的付款保留为未捕获状态。在这一步中,用 webhooks 自动化在批准后捕获这些付款的过程。
从配置您的 Webhook 开始,侦听 review.
事件。事件数据包括 review 对象,该对象的 reason
属性指示审核是否被批准,或是否因其他原因(例如已退款)而关闭。
// Review object included in review.closed event webhook. { "id": "prv_08voh1589O8KAxCGPcIQpmkz", "object": "review", "payment_intent": "pi_1D0CsEITpIrAk4QYdrWDnbRS", "created": 1474379631, "livemode": false, "open": false, "reason": "approved" }
如果 reason
已 approved
,则捕获收款。
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
post "/my/webhook/url" do event_json = JSON.parse(request.body.read) event = Stripe::Event.retrieve(event_json["id"]) if event.type == 'review.closed' review = event.object if review.reason == 'approved' pi = Stripe::PaymentIntent.retrieve(review.payment_intent) pi.capture end end status 200 end'sk_test_4eC39HqLyjWDarjtT1zdp7dc'
要捕获已批准的付款,审核流程必须在 7 天内完成。否则,会与其他任何未捕获的付款一样,授权会自动过期,不能再捕获付款。