Skip to main content

Logging

TatrapayPlusLogger

TatrapayPlusLogger je jednoduchý a prispôsobiteľný HTTP logger pre TatraPayPlusAPIApi. Pomáha vám ladiť volania API zaznamenávaním odchádzajúcich požiadaviek a prichádzajúcich odpovedí a zároveň bezpečne maskuje citlivé údaje.


Funkcie

  • Zaznamenáva metadáta žiadostí a odpovedí
  • Vstavané maskovanie polí
  • Rozšíriteľné pomocou write_line()

Maskované polia

Logger maskuje citlivé hodnoty pred ich výstupom:

  • Headers: Authorization
  • Body fields (reqest and response): client_id, client_secret, access_token

Príklad maskovaného výstupu: client_secret=abcde*************uvxyz

Maskovanie môžete zakázať nastavením parametra mask_sensitive_data=False počas inicializácie loggeru.

Príklad použitia

Krok 1: Vytvorenie podtriedy Loggeru

use Tatrapayplus\TatrapayplusApiClient\TatraPayPlusLogger;

class ConsoleLogger extends TatraPayPlusLogger
{
public array $mask_body_fields = [
"access_token",
];

public function writeLine(string $line): void
{
print $line;
}
}

Krok 2: Vloženie loggeru do klienta

use Tatrapayplus\TatrapayplusApiClient\Api\TatraPayPlusAPIApi;

$logger = new ConsoleLogger();

$tatrapayplus_api = new TatraPayPlusAPIApi(
"your-client-id",
"your-client-secret",
$logger,
);

Prispôsobenie

Maskovacie polia si môžete prispôsobiť:

$logger->mask_body_fields = ["client_id", "client_secret", "access_token"];
$logger->mask_header_fields = ["Authorization"];
$logger->mask_sensitive_data = true; # or false to disable masking

Príklad výstupu

INFO [2025-04-10 13:11:51] [INFO] Request:
Method: POST
URL: https://api.tatrabanka.sk/tatrapayplus/sandbox/v1/payments
Headers:
{'Authorization': 'Beare*********************************70d69', 'Content-Type': 'application/json', 'X-Request-ID': 'df7f30e8-6cde-4c76-b377-a2e83fd937dd', 'IP-Address': '127.0.1.1', 'Redirect-URI': 'https://tatrabanka.sk/', 'Accept-Language': 'sk', 'Content-Length': '125'}
Body:
{
"basePayment": {
"instructedAmount": {
"amountValue": 120,
"currency": "EUR"
},
"endToEnd": "ORDER123456"
},
"bankTransfer": {}
}

INFO [2025-04-10 13:11:51] [INFO] Response success(status: 201):
{
"paymentId": "baf651a5-1582-4b92-9a59-dacd61f65a51",
"tatraPayPlusUrl": "https://api.tatrabanka.sk/tatrapayplus/sandbox/v1/auth?paymentId=baf651a5-1582-4b92-9a59-dacd61f65a51&client_id=l7ba7ffa0bf66b49b88d17dfe144955f54&hmac=bf1796ce46ebc32617726f53db1981c920f6363bbcbec3a4044ef258db3479a2",
"availablePaymentMethods": [
{
"isAvailable": false,
"reasonCodeMethodAvailabilityDescription": "Mandatory structure: userData was not provided in the request body. See specs.",
"paymentMethod": "CARD_PAY",
"reasonCodeMethodAvailability": "MANDATORY_STRUCTURE_NOT_PROVIDED"
},
{
"isAvailable": false,
"reasonCodeMethodAvailabilityDescription": "Mandatory structure: userData was not provided in the request body. See specs.",
"paymentMethod": "PAY_LATER",
"reasonCodeMethodAvailability": "MANDATORY_STRUCTURE_NOT_PROVIDED"
},
{
"isAvailable": true,
"paymentMethod": "BANK_TRANSFER"
},
{
"isAvailable": true,
"paymentMethod": "QR_PAY"
}
]
}