<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. */ public function up(): void { Schema::create('payments', function (Blueprint $table) { $table->id(); $table->foreignId('order_id')->constrained()->cascadeOnDelete(); $table->string('provider')->default('fpx'); // fpx $table->string('status')->default('initiated'); // initiated | pending | success | failed $table->string('reference')->nullable(); // your ref / gateway ref $table->json('payload')->nullable(); // store request/response later $table->timestamps(); }); } /** * Reverse the migrations. */ public function down(): void { Schema::dropIfExists('payments'); } };