如何在 laravel with stripe-php 中获得付款后的余额?

How in laravel with stripe-php get balance after payment?

在 laravel 5.8 应用程序 stripe/stripe-php 中:^7.50 当客户支付 fir 提供的服务时 它有代码:

    \Stripe\Stripe::setApiKey( config('app.STRIPE_TEST_KEY') );
    $user = User::where('id', $request->user_id)->first();
    $customer_id = $user->stripe_customer_id;

    $charge = \Stripe\Charge::create([
        'amount' => $request->amount * 100, // Say $request->amount= 50
        'currency' => $request->currency,   // USD
        'customer' => $customer_id
    ]);
    TransactionsTable::create([
        'user_id' => $user->id,
        'type' => $request->card['brand'],
        'amount' => $request->amount,
        'currency' => $request->currency,
        'transaction_id' => $charge->id,
        'status' => $charge->status
    ]);

然后从客户卡中扣除50美元,添加到stripe账户的所有者 (开发 app.STRIPE_TEST_KEY) 我的问题 1) 因为我想发送电子邮件给 stripe 帐户的所有者,我可以通过哪种方式获得余额 手术成功后的他? test/live 下的总和有何不同?

  1. 遇到无效操作如何查错?说如果客户卡没有足够的钱或 已到期?在 catch 块中使用 $e->getMessage() 还是有更好的方法?

谢谢!

  1. 您可以使用余额 API 检索:https://stripe.com/docs/api/balance

  2. 您需要捕获 Charge::create 中的错误:https://stripe.com/docs/api/errors/handling?lang=php

您还应该考虑使用付款意向而不是费用:https://stripe.com/docs/payments/payment-intents/migration