0

以下のプロセスを構築したい

  1. クライアントが予約ボタンを押すと、トランザクションの金額をクレジット カードに保留する必要があります。

保留はカードに請求しないと思います。つまり、お金がカードから離れることはありません。保留は、お金が利用可能であることを確認し、数日間保留するだけです。

  1. この 7 日以内に別の API を呼び出して、請求を完了するか、保留をキャンセルするか、保留を期限切れにするだけです。

  2. クライアントが予約した場合、お金は保留になり、1 日ほどでキャンセルされ、保留は解除されます。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 ドルです。それが正しいかどうか、次のステップを完了する方法がわかりません。私を助けてください。私は何をすべきですか?

スクリーンショット

スクリーンショット1

4

0 に答える 0