我想建立下面的过程
- 当客户按下预订按钮时,我们需要在信用卡上保留交易金额
我认为保留不会从卡中扣款,即钱不会离开卡 保留只是检查钱是否可用并将其保留几天
在这 7 天内,我调用另一个 API 来完成收费、取消暂停或只是让暂停到期。
如果客户预约,钱被搁置,然后,大约一天后,他取消,搁置应该被释放我检查了 Stripe API 文档,但我不知道如何做这个过程。我认为必须使用 paymentIntent API。请向我解释我必须做什么。
$stripe = new \Stripe\StripeClient(env('STRIPE_SECRET_KEY')); $getPaymentMethod = $stripe->paymentMethods->all([ 'customer' => $request->customerId, 'type' => 'card', ]); $createIntent = $stripe->paymentIntents->create([ 'amount' => $request->price * 100, 'currency' => 'usd', 'payment_method' => $getPaymentMethod->data[0]->id, 'payment_method_types' => [$request->paymentType], 'customer' => $request->customerId, 'capture_method' => 'manual', 'description' => 'The payment of the appointment', ]); $confirmPaymentIntent = $stripe->paymentIntents->confirm( $createIntent->id, ['payment_method' => $getPaymentMethod->data[0]->id] ); $captureIntent = $stripe->paymentIntents->retrieve($confirmPaymentIntent->id); $results = $captureIntent->capture($confirmPaymentIntent->id); return $results;
我尝试了此代码,因此它可以正常工作并且可以捕获付款。但它没有收取条纹上的钱,余额为 0.00 美元。我不确定它是否正确以及如何完成下一步。请帮我。我应该怎么?