glopes vor 1 Monat
Commit
412041d311
3 geänderte Dateien mit 82 neuen und 0 gelöschten Zeilen
  1. 3 0
      .gitignore
  2. 7 0
      composer.json
  3. 72 0
      public/index.php

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+webhook.log
+composer.lock
+vendor/

+ 7 - 0
composer.json

@@ -0,0 +1,7 @@
+{
+    "name": "ubuntu/webhook-service",
+    "require": {
+        "clue/framework-x": "^0.17",
+        "react/http": "^1.11"
+    }
+}

+ 72 - 0
public/index.php

@@ -0,0 +1,72 @@
+<?php
+declare(strict_types=1);
+
+// Exiba erros durante o desenvolvimento
+ini_set('display_errors', '1');
+ini_set('display_startup_errors', '1');
+error_reporting(E_ALL);
+
+require __DIR__ . '/../vendor/autoload.php';
+
+use FrameworkX\App;
+use React\Http\Message\Response;
+
+function writeLog(string $event, string $body): void
+{
+    $logLine = date('Y-m-d H:i:s') . " - [{$event}] - " . $body . PHP_EOL;
+    file_put_contents(__DIR__ . '/../webhook.log', $logLine, FILE_APPEND);
+}
+
+$app = new App();
+
+$app->get('/', function () {
+    return new Response(
+        200,
+        ['Content-Type' => 'application/json'],
+        json_encode(['message' => 'Webhook Service is up'])
+    );
+});
+
+$app->post('/edi', function ($request) {
+    $body = (string) $request->getBody();
+    writeLog('edi', $body);
+    return new Response(200, ['Content-Type' => 'application/json'], json_encode(['status' => 'success']));
+});
+
+$app->post('/qrcode/cash-in', function ($request) {
+    $body = (string) $request->getBody();
+    writeLog('qrcode:cash-in', $body);
+    return new Response(200, ['Content-Type' => 'application/json'], json_encode(['status' => 'success']));
+});
+
+$app->post('/cash-in', function ($request) {
+    $body = (string) $request->getBody();
+    writeLog('cash-in', $body);
+    return new Response(200, ['Content-Type' => 'application/json'], json_encode(['status' => 'success']));
+});
+
+$app->post('/cash-out', function ($request) {
+    $body = (string) $request->getBody();
+    writeLog('cash-out', $body);
+    return new Response(200, ['Content-Type' => 'application/json'], json_encode(['status' => 'success']));
+});
+
+$app->post('/refunds', function ($request) {
+    $body = (string) $request->getBody();
+    writeLog('refunds', $body);
+    return new Response(200, ['Content-Type' => 'application/json'], json_encode(['status' => 'success']));
+});
+
+$app->post('/ted', function ($request) {
+    $body = (string) $request->getBody();
+    writeLog('ted', $body);
+    return new Response(200, ['Content-Type' => 'application/json'], json_encode(['status' => 'success']));
+});
+
+$app->post('/{webhook}', function ($request, string $webhook) {
+    $body = (string) $request->getBody();
+    writeLog($webhook, $body);
+    return new Response(200, ['Content-Type' => 'application/json'], json_encode(['status' => 'success']));
+});
+
+$app->run();