コマンド php artisan charge:debts をスケジュールしましたが、これには毎分のスケジュール オプションがありますが、API リクエストが毎回 2 倍になるという問題があります。
私のKernel.php:
$schedule->command('charge:debts')->everyMinute();
私のコンソールコマンド機能:
$active_debts = Debt::where([['status', '=', 0]]) -> with('channels') -> get();
foreach($active_debts as $debt) {
try {
$stripe = new \Stripe\StripeClient(env('STRIPE_CODE'));
$stripe->transfers->create([
'amount' => $transfer_amount,
'currency' => $currency,
'destination' => 'XXXXXX',//acct_1GqQxFH4ie1ley5J
'transfer_group' => 'Pltaform fees',
], ['stripe_account' => $merchant_code]);
Debt::where('id', $debt->id) -> update([
'status' => 1
]);
} catch(\Stripe\Exception\InvalidRequestException $e) {
...
}
}
誰かが $stripe->tranfers->create を 2 回呼び出すのを避ける方法を教えてくれるでしょうか? データベースにはステータス= 0の「負債」が1つだけあります:)