diff --git a/app/Helpers/helpers.php b/app/Helpers/helpers.php index bfab18a..b380075 100644 --- a/app/Helpers/helpers.php +++ b/app/Helpers/helpers.php @@ -664,7 +664,9 @@ function syncVisaWithAzatAPI(VisaMasterPaymentOrderItem $orderItem): array } if (! isset($response['authRefNum'])) { - warn('payment missing authRefNum', $onlinePaymentResource->orderId); + warn('missing-authRefNum', $onlinePaymentResource->orderId); + ignorePayment('missing-authRefNum', $orderItem); + return [ 'error' => 'authRefNum missing', 'type' => 'modal', @@ -726,3 +728,12 @@ function warn($message, $content) { 'updated_at' => now(), ]); } + +function ignorePayment($message, $item) { + DB::table('ignore_visa_payments')->insert([ + 'message' => $message, + 'payment_id' => $item->id, + 'created_at' => now(), + 'updated_at' => now(), + ]); +} diff --git a/app/Jobs/SendVisaToSystem.php b/app/Jobs/SendVisaToSystem.php index 3448d92..31f1c59 100644 --- a/app/Jobs/SendVisaToSystem.php +++ b/app/Jobs/SendVisaToSystem.php @@ -8,6 +8,7 @@ use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Log; class SendVisaToSystem implements ShouldQueue @@ -27,10 +28,13 @@ class SendVisaToSystem implements ShouldQueue */ public function handle(): void { + $ignore = DB::table('ignore_visa_payments')->pluck('payment_id'); + $orderItems = VisaMasterPaymentOrderItem::query() ->where('paid', true) ->where('synced_with_system', false) ->whereDate('created_at', '>', '2025-09-05') + ->whereIntegerNotInRaw('id', $ignore) ->limit(2) ->get() ->each(function ($orderItem) { diff --git a/app/Models/IgnoreVisaPayment.php b/app/Models/IgnoreVisaPayment.php new file mode 100644 index 0000000..062623b --- /dev/null +++ b/app/Models/IgnoreVisaPayment.php @@ -0,0 +1,11 @@ +id(); + $table->string('message')->index(); + $table->unsignedBigInteger('payment_id')->index(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('ignore_visa_payments'); + } +};