feat: implement Telepagos webhook handling with request validation and service integration

This commit is contained in:
2026-07-06 09:57:45 -03:00
parent 403caf77f5
commit 3731cd67fe
9 changed files with 329 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
<?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('telepagos_payments', function (Blueprint $table) {
$table->id();
$table->foreignId('compra_id')->constrained('compras')->onDelete('cascade');
$table->string('cuit_buyer')->nullable();
$table->string('cvu_buyer')->nullable();
$table->decimal('amount', 10, 2);
$table->string('concept')->nullable();
$table->string('operation')->nullable();
$table->string('operation_id')->nullable();
$table->string('transaction_id')->nullable();
$table->string('qr_order_id')->nullable();
$table->string('link_id')->nullable();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('telepagos_payments');
}
};

View File

@@ -0,0 +1,30 @@
<?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('telepagos_qr', function (Blueprint $table) {
$table->id();
$table->foreignId('compra_id')->constrained('compras')->onDelete('cascade');
$table->string('qr_order_id');
$table->text('qr_code');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('telepagos_qr');
}
};