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"
}
]
}