|
|
@@ -0,0 +1,34 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+use Illuminate\Database\Migrations\Migration;
|
|
|
+use Illuminate\Database\Schema\Blueprint;
|
|
|
+use Illuminate\Support\Facades\Schema;
|
|
|
+
|
|
|
+return new class extends Migration
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * Conta de pagamento própria da unidade (Franchisee).
|
|
|
+ *
|
|
|
+ * Diferente do antigo modelo white-label de subcontas (descontinuado), aqui
|
|
|
+ * a unidade que JÁ possui conta no Asaas informa a sua própria api_key para
|
|
|
+ * que a cobrança de alunos passe a ser emitida por ela. Ter conta no Asaas
|
|
|
+ * é opcional — por isso todos os campos de integração são anuláveis.
|
|
|
+ */
|
|
|
+ public function up(): void
|
|
|
+ {
|
|
|
+ Schema::create('unit_payment_accounts', function (Blueprint $table) {
|
|
|
+ $table->id();
|
|
|
+ $table->foreignId('unit_id')->unique()->constrained('units')->onDelete('cascade');
|
|
|
+ // Texto cifrado (cast 'encrypted' no model) — nunca trafega em texto puro.
|
|
|
+ $table->text('asaas_api_key')->nullable();
|
|
|
+ $table->string('status')->default('pending');
|
|
|
+ $table->timestamp('onboarded_at')->nullable();
|
|
|
+ $table->timestamps();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ public function down(): void
|
|
|
+ {
|
|
|
+ Schema::dropIfExists('unit_payment_accounts');
|
|
|
+ }
|
|
|
+};
|