feat: ( payment ) add waafi webhook log

This commit is contained in:
Abubeker Yasin
2026-07-15 21:23:10 +03:00
parent 2ffb2f9f60
commit 9cf71e7e7a
2 changed files with 11 additions and 1 deletions

View File

@@ -45,6 +45,12 @@ export class WaafiWebhookService {
const mapped = this.provider.mapWebhookStatus(payment.status);
this.logger.log(
`Waafi authorization: ref=${payment.reference_id} txn=${payment.transaction_id} ` +
`rawStatus=${payment.status} mapped=${mapped} ` +
`signatureValid=${signatureValid} (fresh=${this.isFresh(timestamp)}) eventId=${eventId ?? "n/a"}`,
);
await this.processor.process({
provider: this.provider.method,
// X-Webhook-Event-Id is unique per event; fall back to a derived id if absent.

View File

@@ -127,10 +127,14 @@ export class WebhooksController {
@Req() req: { rawBody?: Buffer },
) {
this.logger.log("\n\n\n\nWaafi payment notification callback (Djibouti)\n\n\n\n");
this.logger.log(
`Waafi webhook hit: event=${payload?.event ?? "unknown"} eventId=${headers["x-webhook-event-id"] ?? "n/a"}`,
);
this.logger.log(`Waafi webhook headers: ${JSON.stringify(headers)}`);
this.logger.log(`Waafi webhook payload: ${JSON.stringify(payload)}`);
this.logger.log(
`Waafi webhook raw body: ${req.rawBody?.toString("utf8") ?? "(none)"}`,
);
try {
// HMAC verification must sign over the exact raw bytes Waafi sent, not re-serialized JSON.
const rawBody = req.rawBody?.toString("utf8") ?? "";