我如何使用条纹进行部分捕获

How do I do partial capture with stripe

我试过使用条纹进行部分捕获。

首先我授权12000然后我捕获部分

curl https://api.stripe.com/v1/charges/{chargeId}/capture \
     -u key 
     -d amount=250 
     -X POST 

紧接着(为了测试)我做了完全相同的事情

    curl https://api.stripe.com/v1/charges/{chargeId}/capture \
     -u key 
     -d amount=250 
     -X POST 

第一个成功但第二个失败

{
  "error": {
    "type": "invalid_request_error",
    "message": "Charge ch_18092DHwc58lFNepWa5maML7 has already been captured."
  }
}

我做错了什么,因为我无法获取剩余资金

p.s。我在遇到同样问题的 stripe.net 开始这样做。然后排除 stripe.net 作为错误的来源我直接在终端中尝试

你现在做的事情叫做"auth and capture",你现在授权,然后再从信用卡中扣款。

要授权,请在第一次请求时将 capture 设置为 false

在第二次请求中,除非您想降低价格并向客户退款,否则不应设置 amount

您只能捕获一次授权交易 - 即使它只是部分捕获。根据Stripe support:

If you want to charge less than the initial amount, you can pass in the amount parameter and we’ll refund the rest back to the customer.

(强调)

您会在仪表板上注意到部分捕获的交易显示剩余资金已退还。

另一种方法是保存客户的卡并根据需要创建费用。