{
  "ok": true,
  "storage": "durable-object",
  "endpoint": "https://test.onebrick.io/v3/integration/callback-logs",
  "count": 139,
  "filters": {},
  "summary": {
    "by_service": {
      "redirect": 21,
      "generic": 2,
      "qris": 45,
      "virtual_account": 61,
      "disbursement": 7,
      "checkout_page": 3
    },
    "by_status": {
      "paid": 25,
      "unknown": 18,
      "COMPLETED": 26,
      "PAID": 19,
      "completed": 51
    },
    "by_signature_status": {
      "missing": 139
    }
  },
  "events": [
    {
      "id": "1786410660782-12d8345d2f5d",
      "trace_id": "trace_b676b2635927",
      "received_at": "2026-08-11T01:11:00.782Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.onebrick.io/callback?client_ref=CLIENT-DEMO&order_id=ORDER-1001&status=paid",
      "reference_id": "CLIENT-DEMO",
      "reference_key": "client_ref",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "paid",
      "status_key": "status",
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "15.232.20.96",
      "content_type": null,
      "query": {
        "client_ref": "CLIENT-DEMO",
        "order_id": "ORDER-1001",
        "status": "paid"
      },
      "headers": {
        "accept": "*/*",
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "15.232.20.96",
        "cf-ipcountry": "ID",
        "cf-ray": "a2935d25d855ffe4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "from": "gptbot(at)openai.com",
        "host": "sagad-test-client.me-446.workers.dev",
        "referer": "https://test.onebrick.io/",
        "user-agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)",
        "via": "2.0 Caddy",
        "x-forwarded-for": "74.7.242.25",
        "x-forwarded-host": "test.onebrick.io",
        "x-forwarded-proto": "https",
        "x-openai-host-hash": "824028452",
        "x-real-ip": "15.232.20.96"
      },
      "body": null,
      "callback_attempt": 5,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786407378147-840372a20c8f",
        "first_seen_at": "2026-08-11T00:16:18.147Z"
      }
    },
    {
      "id": "1786410652759-a24711c2a38a",
      "trace_id": "trace_6bf09aa65d8f",
      "received_at": "2026-08-11T01:10:52.759Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.onebrick.io/callback",
      "reference_id": null,
      "reference_key": null,
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "15.232.20.96",
      "content_type": null,
      "query": {},
      "headers": {
        "accept": "*/*",
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "15.232.20.96",
        "cf-ipcountry": "ID",
        "cf-ray": "a2935cf3bc10ffe4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "from": "gptbot(at)openai.com",
        "host": "sagad-test-client.me-446.workers.dev",
        "referer": "https://test.onebrick.io/",
        "user-agent": "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.4; +https://openai.com/gptbot)",
        "via": "2.0 Caddy",
        "x-forwarded-for": "74.7.242.25",
        "x-forwarded-host": "test.onebrick.io",
        "x-forwarded-proto": "https",
        "x-openai-host-hash": "824028452",
        "x-real-ip": "15.232.20.96"
      },
      "body": null,
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1786407378147-840372a20c8f",
      "trace_id": "trace_f7c0f904fb69",
      "received_at": "2026-08-11T00:16:18.147Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.onebrick.io/callback?order_id=ORDER-1001&status=paid&client_ref=CLIENT-DEMO",
      "reference_id": "CLIENT-DEMO",
      "reference_key": "client_ref",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "paid",
      "status_key": "status",
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "15.232.20.96",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "status": "paid",
        "client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "*/*",
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "15.232.20.96",
        "cf-ipcountry": "ID",
        "cf-ray": "a2930d016f5035b2",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "sagad-test-client.me-446.workers.dev",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
        "via": "1.1 Caddy",
        "x-forwarded-for": "158.69.117.45",
        "x-forwarded-host": "test.onebrick.io",
        "x-forwarded-proto": "https",
        "x-real-ip": "15.232.20.96"
      },
      "body": null,
      "callback_attempt": 4,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786407289426-2bc6d13b5f6e",
        "first_seen_at": "2026-08-11T00:14:49.426Z"
      }
    },
    {
      "id": "1786407289426-2bc6d13b5f6e",
      "trace_id": "trace_3ad81e25991a",
      "received_at": "2026-08-11T00:14:49.426Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test-stg.onebrick.io/callback?order_id=ORDER-1001&status=paid&client_ref=CLIENT-DEMO",
      "reference_id": "CLIENT-DEMO",
      "reference_key": "client_ref",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "paid",
      "status_key": "status",
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "15.232.20.96",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "status": "paid",
        "client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "*/*",
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "15.232.20.96",
        "cf-ipcountry": "ID",
        "cf-ray": "a2930ad6ef7afd3a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "sagad-test-client.me-446.workers.dev",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
        "via": "1.1 Caddy",
        "x-forwarded-for": "158.69.55.82",
        "x-forwarded-host": "test-stg.onebrick.io",
        "x-forwarded-proto": "https",
        "x-real-ip": "15.232.20.96"
      },
      "body": null,
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786407064809-3a096ad31297",
        "first_seen_at": "2026-08-11T00:11:04.809Z"
      }
    },
    {
      "id": "1786407281010-78fbdc84ea15",
      "trace_id": "trace_8e6ba3f8265f",
      "received_at": "2026-08-11T00:14:41.010Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.onebrick.io/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "15.232.20.96",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.5",
        "cf-connecting-ip": "15.232.20.96",
        "cf-ipcountry": "ID",
        "cf-ray": "a2930aa2482235b2",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "dnt": "1",
        "host": "sagad-test-client.me-446.workers.dev",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "cross-site",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0",
        "via": "2.0 Caddy",
        "x-forwarded-for": "45.88.138.44",
        "x-forwarded-host": "test.onebrick.io",
        "x-forwarded-proto": "https",
        "x-real-ip": "15.232.20.96"
      },
      "body": null,
      "callback_attempt": 15,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786406899956-99b6f4000ad8",
        "first_seen_at": "2026-08-11T00:08:19.956Z"
      }
    },
    {
      "id": "1786407064809-3a096ad31297",
      "trace_id": "trace_1b0554b565aa",
      "received_at": "2026-08-11T00:11:04.809Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.onebrick.io/callback?order_id=ORDER-1001&status=paid&client_ref=CLIENT-DEMO",
      "reference_id": "CLIENT-DEMO",
      "reference_key": "client_ref",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "paid",
      "status_key": "status",
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "15.232.20.96",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "status": "paid",
        "client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "*/*",
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "15.232.20.96",
        "cf-ipcountry": "ID",
        "cf-ray": "a293055b0b51347c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "sagad-test-client.me-446.workers.dev",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
        "via": "1.1 Caddy",
        "x-forwarded-for": "158.69.55.148",
        "x-forwarded-host": "test.onebrick.io",
        "x-forwarded-proto": "https",
        "x-real-ip": "15.232.20.96"
      },
      "body": null,
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786407064354-a4e26094d87a",
        "first_seen_at": "2026-08-11T00:11:04.354Z"
      }
    },
    {
      "id": "1786407064354-a4e26094d87a",
      "trace_id": "trace_4bee1ba4c861",
      "received_at": "2026-08-11T00:11:04.354Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test-stg.onebrick.io/callback?order_id=ORDER-1001&status=paid&client_ref=CLIENT-DEMO",
      "reference_id": "CLIENT-DEMO",
      "reference_key": "client_ref",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "paid",
      "status_key": "status",
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "15.232.20.96",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "status": "paid",
        "client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "*/*",
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "15.232.20.96",
        "cf-ipcountry": "ID",
        "cf-ray": "a29305583eabdb41",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "sagad-test-client.me-446.workers.dev",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
        "via": "1.1 Caddy",
        "x-forwarded-for": "158.69.55.148",
        "x-forwarded-host": "test-stg.onebrick.io",
        "x-forwarded-proto": "https",
        "x-real-ip": "15.232.20.96"
      },
      "body": null,
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1786406899956-99b6f4000ad8",
      "trace_id": "trace_a59dfe752ca5",
      "received_at": "2026-08-11T00:08:19.956Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test-stg.onebrick.io/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "15.232.20.96",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "fr-FR,fr;q=0.9,en-US;q=0.8",
        "cf-connecting-ip": "15.232.20.96",
        "cf-ipcountry": "ID",
        "cf-ray": "a2930154ba00db41",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "sagad-test-client.me-446.workers.dev",
        "sec-ch-ua": "\"Chromium\";v=\"130\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"macOS\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36",
        "via": "2.0 Caddy",
        "x-forwarded-for": "45.88.138.44",
        "x-forwarded-host": "test-stg.onebrick.io",
        "x-forwarded-proto": "https",
        "x-real-ip": "15.232.20.96"
      },
      "body": null,
      "callback_attempt": 14,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786385321986-9e4827db6acf",
        "first_seen_at": "2026-08-10T18:08:41.986Z"
      }
    },
    {
      "id": "1786385321986-9e4827db6acf",
      "trace_id": "trace_b2309d850d3a",
      "received_at": "2026-08-10T18:08:41.986Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "34.48.32.16",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "34.48.32.16",
        "cf-ipcountry": "US",
        "cf-ray": "a290f2866ba5fe57",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "34.48.32.16"
      },
      "body": null,
      "callback_attempt": 13,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786316168646-6ab6b47a3eff",
        "first_seen_at": "2026-08-09T22:56:08.646Z"
      }
    },
    {
      "id": "1786368182962-93af2fa4f53f",
      "trace_id": "trace_c11cc53866f0",
      "received_at": "2026-08-10T13:23:02.962Z",
      "method": "POST",
      "path": "/api/callback",
      "service": "generic",
      "service_name": "Generic API Callback",
      "url": "https://test.sagad.net/api/callback",
      "reference_id": "client-qa-connected-flow-bricko-bricki-a-i-stage-a-only-20260810190411-c-owner-delegation-20260810201919-testing-env-delegated",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "2001:448a:2010:67f0:9c52:a846:376f:ff1d",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept": "*/*",
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "2001:448a:2010:67f0:9c52:a846:376f:ff1d",
        "cf-ipcountry": "ID",
        "cf-ray": "a28f50177f7752ea",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "357",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
        "x-client-qa-source": "client-nightly-qa",
        "x-forwarded-proto": "https",
        "x-real-ip": "2001:448a:2010:67f0:9c52:a846:376f:ff1d"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"event\":\"client_nightly_callback_probe\",\"referenceId\":\"client-qa-connected-flow-bricko-bricki-a-i-stage-a-only-20260810190411-c-owner-delegation-20260810201919-testing-env-delegated\",\"reference_id\":\"client-qa-connected-flow-bricko-bricki-a-i-stage-a-only-20260810190411-c-owner-delegation-20260810201919-testing-env-delegated\",\"source\":\"client-nightly-qa\"}",
        "parsed": {
          "event": "client_nightly_callback_probe",
          "referenceId": "client-qa-connected-flow-bricko-bricki-a-i-stage-a-only-20260810190411-c-owner-delegation-20260810201919-testing-env-delegated",
          "reference_id": "client-qa-connected-flow-bricko-bricki-a-i-stage-a-only-20260810190411-c-owner-delegation-20260810201919-testing-env-delegated",
          "source": "client-nightly-qa"
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "client-qa-connected-flow-bricko-bricki-a-i-stage-a-only-20260810190411-c-owner-delegation-20260810201919-testing-env-delegated",
        "reference_id": "client-qa-connected-flow-bricko-bricki-a-i-stage-a-only-20260810190411-c-owner-delegation-20260810201919-testing-env-delegated",
        "event_id": "1786368182962-93af2fa4f53f",
        "received_at": "2026-08-10T13:23:02.962Z"
      }
    },
    {
      "id": "1786316168646-6ab6b47a3eff",
      "trace_id": "trace_1fb175fa2b75",
      "received_at": "2026-08-09T22:56:08.646Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "34.28.233.29",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "34.28.233.29",
        "cf-ipcountry": "US",
        "cf-ray": "a28a5a360a102bff",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "34.28.233.29"
      },
      "body": null,
      "callback_attempt": 12,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786265551894-b4578aad4cfe",
        "first_seen_at": "2026-08-09T08:52:31.894Z"
      }
    },
    {
      "id": "1786265551894-b4578aad4cfe",
      "trace_id": "trace_52cabaa25983",
      "received_at": "2026-08-09T08:52:31.894Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "34.97.211.247",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "34.97.211.247",
        "cf-ipcountry": "JP",
        "cf-ray": "a2858673582db118",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "34.97.211.247"
      },
      "body": null,
      "callback_attempt": 11,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786168205665-1081cae11b42",
        "first_seen_at": "2026-08-08T05:50:05.665Z"
      }
    },
    {
      "id": "1786255815650-2ccc297c53a4",
      "trace_id": "trace_492a49381412",
      "received_at": "2026-08-09T06:10:15.650Z",
      "method": "POST",
      "path": "/api/callback",
      "service": "generic",
      "service_name": "Generic API Callback",
      "url": "https://test.sagad.net/api/callback",
      "reference_id": "client-qa-connected-flow-bricko-bricki-a-i-akb2b-20260809123919-testingEnvironment-20260809130443-testing-env-delegated",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "2001:448a:2010:67f0:8095:7b6c:fc1b:fbf2",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept": "*/*",
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "2001:448a:2010:67f0:8095:7b6c:fc1b:fbf2",
        "cf-ipcountry": "ID",
        "cf-ray": "a28498bfc85dfd81",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "343",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.7778.96 Safari/537.36",
        "x-client-qa-source": "client-nightly-qa",
        "x-forwarded-proto": "https",
        "x-real-ip": "2001:448a:2010:67f0:8095:7b6c:fc1b:fbf2"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"event\":\"client_nightly_callback_probe\",\"referenceId\":\"client-qa-connected-flow-bricko-bricki-a-i-akb2b-20260809123919-testingEnvironment-20260809130443-testing-env-delegated\",\"reference_id\":\"client-qa-connected-flow-bricko-bricki-a-i-akb2b-20260809123919-testingEnvironment-20260809130443-testing-env-delegated\",\"source\":\"client-nightly-qa\"}",
        "parsed": {
          "event": "client_nightly_callback_probe",
          "referenceId": "client-qa-connected-flow-bricko-bricki-a-i-akb2b-20260809123919-testingEnvironment-20260809130443-testing-env-delegated",
          "reference_id": "client-qa-connected-flow-bricko-bricki-a-i-akb2b-20260809123919-testingEnvironment-20260809130443-testing-env-delegated",
          "source": "client-nightly-qa"
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "client-qa-connected-flow-bricko-bricki-a-i-akb2b-20260809123919-testingEnvironment-20260809130443-testing-env-delegated",
        "reference_id": "client-qa-connected-flow-bricko-bricki-a-i-akb2b-20260809123919-testingEnvironment-20260809130443-testing-env-delegated",
        "event_id": "1786255815650-2ccc297c53a4",
        "received_at": "2026-08-09T06:10:15.650Z"
      }
    },
    {
      "id": "1786168205665-1081cae11b42",
      "trace_id": "trace_8a6f03d64a77",
      "received_at": "2026-08-08T05:50:05.665Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "35.200.87.182",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "35.200.87.182",
        "cf-ipcountry": "JP",
        "cf-ray": "a27c3dd569f1d769",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "35.200.87.182"
      },
      "body": null,
      "callback_attempt": 10,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786160041546-bb797f60398a",
        "first_seen_at": "2026-08-08T03:34:01.546Z"
      }
    },
    {
      "id": "1786160041546-bb797f60398a",
      "trace_id": "trace_2d8908a36c0b",
      "received_at": "2026-08-08T03:34:01.546Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "34.142.172.46",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "34.142.172.46",
        "cf-ipcountry": "SG",
        "cf-ray": "a27b7683ae640cea",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "34.142.172.46"
      },
      "body": null,
      "callback_attempt": 9,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786157454597-d50933df2af3",
        "first_seen_at": "2026-08-08T02:50:54.597Z"
      }
    },
    {
      "id": "1786157454597-d50933df2af3",
      "trace_id": "trace_f139e12b125b",
      "received_at": "2026-08-08T02:50:54.597Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "34.73.46.118",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "34.73.46.118",
        "cf-ipcountry": "US",
        "cf-ray": "a27b375b3ea87be2",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "34.73.46.118"
      },
      "body": null,
      "callback_attempt": 8,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786156929960-3601e30e8994",
        "first_seen_at": "2026-08-08T02:42:09.960Z"
      }
    },
    {
      "id": "1786156929960-3601e30e8994",
      "trace_id": "trace_95e9c227f521",
      "received_at": "2026-08-08T02:42:09.960Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "34.126.166.246",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "34.126.166.246",
        "cf-ipcountry": "SG",
        "cf-ray": "a27b2a8c3a31a06f",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "34.126.166.246"
      },
      "body": null,
      "callback_attempt": 7,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786156426249-1abf1737e91a",
        "first_seen_at": "2026-08-08T02:33:46.249Z"
      }
    },
    {
      "id": "1786156426249-1abf1737e91a",
      "trace_id": "trace_f446dfb35dc8",
      "received_at": "2026-08-08T02:33:46.249Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "35.243.147.70",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "35.243.147.70",
        "cf-ipcountry": "US",
        "cf-ray": "a27b1e400cf17cc4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "35.243.147.70"
      },
      "body": null,
      "callback_attempt": 6,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786138166287-80f5925d4a44",
        "first_seen_at": "2026-08-07T21:29:26.287Z"
      }
    },
    {
      "id": "1786138166287-80f5925d4a44",
      "trace_id": "trace_15c5931c9d75",
      "received_at": "2026-08-07T21:29:26.287Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "35.240.201.179",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "35.240.201.179",
        "cf-ipcountry": "SG",
        "cf-ray": "a27960734afefdaa",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "35.240.201.179"
      },
      "body": null,
      "callback_attempt": 5,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786133886851-90d0a9b4d752",
        "first_seen_at": "2026-08-07T20:18:06.851Z"
      }
    },
    {
      "id": "1786133886851-90d0a9b4d752",
      "trace_id": "trace_982de1db1a37",
      "received_at": "2026-08-07T20:18:06.851Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "34.146.116.8",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "34.146.116.8",
        "cf-ipcountry": "JP",
        "cf-ray": "a278f7f8c93dd77c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "34.146.116.8"
      },
      "body": null,
      "callback_attempt": 4,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786128509041-1b0133f349c0",
        "first_seen_at": "2026-08-07T18:48:29.041Z"
      }
    },
    {
      "id": "1786128509041-1b0133f349c0",
      "trace_id": "trace_129de0a79bbc",
      "received_at": "2026-08-07T18:48:29.041Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "34.21.255.182",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "34.21.255.182",
        "cf-ipcountry": "SG",
        "cf-ray": "a27874ad7f1cdfc6",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "34.21.255.182"
      },
      "body": null,
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786127019494-31a6d35d5ab3",
        "first_seen_at": "2026-08-07T18:23:39.494Z"
      }
    },
    {
      "id": "1786127019494-31a6d35d5ab3",
      "trace_id": "trace_644282774ba3",
      "received_at": "2026-08-07T18:23:39.494Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "136.85.27.200",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "136.85.27.200",
        "cf-ipcountry": "SG",
        "cf-ray": "a278504fdae5fd95",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "136.85.27.200"
      },
      "body": null,
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1786028870150-126aa01487da",
        "first_seen_at": "2026-08-06T15:07:50.150Z"
      }
    },
    {
      "id": "1786059313899-9230a43ac75b",
      "trace_id": "trace_2c31cce0c5c9",
      "received_at": "2026-08-06T23:35:13.899Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-01",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db57df7da999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_cd321b8ac5b142feaa18422c1790f27f\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-01\",\"amount\":10001,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:06:29.597+07:00\",\"paidAt\":\"2026-08-06T03:06:30.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_cd321b8ac5b142feaa18422c1790f27f",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-01",
            "amount": 10001,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:06:29.597+07:00",
            "paidAt": "2026-08-06T03:06:30.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985590811-cfefc6dd4820",
        "first_seen_at": "2026-08-06T03:06:30.811Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-01",
        "reference_id": "qaj-767195b641-qr-01",
        "event_id": "1786059313899-9230a43ac75b",
        "received_at": "2026-08-06T23:35:13.899Z"
      }
    },
    {
      "id": "1786059312874-51b89e757b6c",
      "trace_id": "trace_913e567c6989",
      "received_at": "2026-08-06T23:35:12.874Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-07",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db516bdba999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_0174ff00a3b8411495ffecad6b639703\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-07\",\"amount\":10007,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:06:51.805+07:00\",\"paidAt\":\"2026-08-06T03:06:52.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_0174ff00a3b8411495ffecad6b639703",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-07",
            "amount": 10007,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:06:51.805+07:00",
            "paidAt": "2026-08-06T03:06:52.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985612985-069dad9a99b9",
        "first_seen_at": "2026-08-06T03:06:52.985Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-07",
        "reference_id": "qaj-767195b641-qr-07",
        "event_id": "1786059312874-51b89e757b6c",
        "received_at": "2026-08-06T23:35:12.874Z"
      }
    },
    {
      "id": "1786059311869-30627397a060",
      "trace_id": "trace_bbf5a15bf317",
      "received_at": "2026-08-06T23:35:11.869Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-10",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db4b281ca999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_45ba14aa75614b29a27cd69c45dd9aa3\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-10\",\"amount\":10010,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:25:01.380+07:00\",\"paidAt\":\"2026-08-06T03:25:05.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_45ba14aa75614b29a27cd69c45dd9aa3",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-10",
            "amount": 10010,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:25:01.380+07:00",
            "paidAt": "2026-08-06T03:25:05.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986705556-3033fcd4627a",
        "first_seen_at": "2026-08-06T03:25:05.556Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-10",
        "reference_id": "qaj-ead1376723-qr-10",
        "event_id": "1786059311869-30627397a060",
        "received_at": "2026-08-06T23:35:11.869Z"
      }
    },
    {
      "id": "1786059310859-2d1acad94b6c",
      "trace_id": "trace_e2c84ea32262",
      "received_at": "2026-08-06T23:35:10.859Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-03",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db44dcbaa999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_6b544a8d247c41c292724eea146010ab\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-03\",\"amount\":10003,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:24:39.408+07:00\",\"paidAt\":\"2026-08-06T03:24:41.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_6b544a8d247c41c292724eea146010ab",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-03",
            "amount": 10003,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:24:39.408+07:00",
            "paidAt": "2026-08-06T03:24:41.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986681133-e47118261f53",
        "first_seen_at": "2026-08-06T03:24:41.133Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-03",
        "reference_id": "qaj-ead1376723-qr-03",
        "event_id": "1786059310859-2d1acad94b6c",
        "received_at": "2026-08-06T23:35:10.859Z"
      }
    },
    {
      "id": "1786059309878-1f9e9e5cb2b2",
      "trace_id": "trace_81bf1411e5ee",
      "received_at": "2026-08-06T23:35:09.878Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-09",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db3eb947a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_7821cedc343e4cbcb05a4b601f99345b\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-09\",\"amount\":10009,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:24:58.141+07:00\",\"paidAt\":\"2026-08-06T03:24:58.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_7821cedc343e4cbcb05a4b601f99345b",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-09",
            "amount": 10009,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:24:58.141+07:00",
            "paidAt": "2026-08-06T03:24:58.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986699152-1f6d50b838d3",
        "first_seen_at": "2026-08-06T03:24:59.152Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-09",
        "reference_id": "qaj-ead1376723-qr-09",
        "event_id": "1786059309878-1f9e9e5cb2b2",
        "received_at": "2026-08-06T23:35:09.878Z"
      }
    },
    {
      "id": "1786059308837-c03106fa69fb",
      "trace_id": "trace_3a0dfaf873d0",
      "received_at": "2026-08-06T23:35:08.837Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-06",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10006",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db383d71a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_414d2dbc4b7b43b69dd44c9b65e164ef\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-06\",\"amount\":10006,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:06:48.758+07:00\",\"paidAt\":\"2026-08-06T03:06:49.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_414d2dbc4b7b43b69dd44c9b65e164ef",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-06",
            "amount": 10006,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:06:48.758+07:00",
            "paidAt": "2026-08-06T03:06:49.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985609808-c8926a9269c3",
        "first_seen_at": "2026-08-06T03:06:49.808Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-06",
        "reference_id": "qaj-767195b641-qr-06",
        "event_id": "1786059308837-c03106fa69fb",
        "received_at": "2026-08-06T23:35:08.837Z"
      }
    },
    {
      "id": "1786059307866-3e49838dc47a",
      "trace_id": "trace_e06907c1d323",
      "received_at": "2026-08-06T23:35:07.866Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-05",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db322a31a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_dbbe48fb71cf4c4da5980585aa2c5106\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-05\",\"amount\":10005,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:24:45.824+07:00\",\"paidAt\":\"2026-08-06T03:24:47.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_dbbe48fb71cf4c4da5980585aa2c5106",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-05",
            "amount": 10005,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:24:45.824+07:00",
            "paidAt": "2026-08-06T03:24:47.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986687478-b82a08893183",
        "first_seen_at": "2026-08-06T03:24:47.478Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-05",
        "reference_id": "qaj-ead1376723-qr-05",
        "event_id": "1786059307866-3e49838dc47a",
        "received_at": "2026-08-06T23:35:07.866Z"
      }
    },
    {
      "id": "1786059307793-e1342c03cc98",
      "trace_id": "trace_24b9b3ce1ddc",
      "received_at": "2026-08-06T23:35:07.793Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-07",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db31a9f1a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_b0e9ce2f69ba402e9fab396d6568304a\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-07\",\"amount\":10007,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:24:51.744+07:00\",\"paidAt\":\"2026-08-06T03:24:52.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_b0e9ce2f69ba402e9fab396d6568304a",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-07",
            "amount": 10007,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:24:51.744+07:00",
            "paidAt": "2026-08-06T03:24:52.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986692786-8dc8b47f78c2",
        "first_seen_at": "2026-08-06T03:24:52.786Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-07",
        "reference_id": "qaj-ead1376723-qr-07",
        "event_id": "1786059307793-e1342c03cc98",
        "received_at": "2026-08-06T23:35:07.793Z"
      }
    },
    {
      "id": "1786059306829-8975edd02a9b",
      "trace_id": "trace_ed7dbaa15505",
      "received_at": "2026-08-06T23:35:06.829Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-04",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10004",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db2bae65a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_bad324438aba45d5a88d2f06e1561952\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-04\",\"amount\":10004,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:06:42.390+07:00\",\"paidAt\":\"2026-08-06T03:06:43.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_bad324438aba45d5a88d2f06e1561952",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-04",
            "amount": 10004,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:06:42.390+07:00",
            "paidAt": "2026-08-06T03:06:43.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985603472-f43afb036cd7",
        "first_seen_at": "2026-08-06T03:06:43.472Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-04",
        "reference_id": "qaj-767195b641-qr-04",
        "event_id": "1786059306829-8975edd02a9b",
        "received_at": "2026-08-06T23:35:06.829Z"
      }
    },
    {
      "id": "1786059306761-64465b79eec9",
      "trace_id": "trace_edd2bffd4239",
      "received_at": "2026-08-06T23:35:06.761Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-01",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db2b3e21a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_52bd26148de148daaec82df6e68a2818\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-01\",\"amount\":10001,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:24:30.661+07:00\",\"paidAt\":\"2026-08-06T03:24:31.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_52bd26148de148daaec82df6e68a2818",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-01",
            "amount": 10001,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:24:30.661+07:00",
            "paidAt": "2026-08-06T03:24:31.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986671657-f8f1077a1b72",
        "first_seen_at": "2026-08-06T03:24:31.657Z"
      }
    },
    {
      "id": "1786059305895-3e883d56b2c2",
      "trace_id": "trace_fe39f56dfb1b",
      "received_at": "2026-08-06T23:35:05.895Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-08",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db25dabea999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_a47c3af5ec05464dbfb4ae74315352c0\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-08\",\"amount\":10008,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:06:54.906+07:00\",\"paidAt\":\"2026-08-06T03:06:56.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_a47c3af5ec05464dbfb4ae74315352c0",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-08",
            "amount": 10008,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:06:54.906+07:00",
            "paidAt": "2026-08-06T03:06:56.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985616148-12934ba02a10",
        "first_seen_at": "2026-08-06T03:06:56.148Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-08",
        "reference_id": "qaj-767195b641-qr-08",
        "event_id": "1786059305895-3e883d56b2c2",
        "received_at": "2026-08-06T23:35:05.895Z"
      }
    },
    {
      "id": "1786059305792-028a60cb4d41",
      "trace_id": "trace_e582da735cc2",
      "received_at": "2026-08-06T23:35:05.792Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-06",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10006",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db252a71a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_92708217fa1e42ec86f1e9159b8c659b\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-06\",\"amount\":10006,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:24:48.844+07:00\",\"paidAt\":\"2026-08-06T03:24:49.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_92708217fa1e42ec86f1e9159b8c659b",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-06",
            "amount": 10006,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:24:48.844+07:00",
            "paidAt": "2026-08-06T03:24:49.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986689587-0b0d0a240b25",
        "first_seen_at": "2026-08-06T03:24:49.587Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-06",
        "reference_id": "qaj-ead1376723-qr-06",
        "event_id": "1786059305792-028a60cb4d41",
        "received_at": "2026-08-06T23:35:05.792Z"
      }
    },
    {
      "id": "1786059304863-cd8b50a3d241",
      "trace_id": "trace_c0f0a492cbba",
      "received_at": "2026-08-06T23:35:04.863Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-02",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db1f5eb2a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_ee4be284fb194de691715825695a0be4\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-02\",\"amount\":10002,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:06:33.594+07:00\",\"paidAt\":\"2026-08-06T03:06:35.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_ee4be284fb194de691715825695a0be4",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-02",
            "amount": 10002,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:06:33.594+07:00",
            "paidAt": "2026-08-06T03:06:35.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985596151-2fe2ef0a6c23",
        "first_seen_at": "2026-08-06T03:06:36.151Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-02",
        "reference_id": "qaj-767195b641-qr-02",
        "event_id": "1786059304863-cd8b50a3d241",
        "received_at": "2026-08-06T23:35:04.863Z"
      }
    },
    {
      "id": "1786059304751-d5ac3a8f7e5b",
      "trace_id": "trace_0fd10cc8c409",
      "received_at": "2026-08-06T23:35:04.751Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-02",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db1eae5ba999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_9c25bc15230d46f7b95c45caa16de4fa\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-02\",\"amount\":10002,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:24:35.914+07:00\",\"paidAt\":\"2026-08-06T03:24:36.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_9c25bc15230d46f7b95c45caa16de4fa",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-02",
            "amount": 10002,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:24:35.914+07:00",
            "paidAt": "2026-08-06T03:24:36.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986676922-31daa071a9f4",
        "first_seen_at": "2026-08-06T03:24:36.922Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-02",
        "reference_id": "qaj-ead1376723-qr-02",
        "event_id": "1786059304751-d5ac3a8f7e5b",
        "received_at": "2026-08-06T23:35:04.751Z"
      }
    },
    {
      "id": "1786059304232-339987cd798f",
      "trace_id": "trace_09eff8d6c61a",
      "received_at": "2026-08-06T23:35:04.232Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-05",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db1b6c68a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_3d9e9401db96448b84d06727053a2ed9\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-05\",\"amount\":10005,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:06:45.446+07:00\",\"paidAt\":\"2026-08-06T03:06:46.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_3d9e9401db96448b84d06727053a2ed9",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-05",
            "amount": 10005,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:06:45.446+07:00",
            "paidAt": "2026-08-06T03:06:46.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985606639-7bab0a37a83f",
        "first_seen_at": "2026-08-06T03:06:46.639Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-05",
        "reference_id": "qaj-767195b641-qr-05",
        "event_id": "1786059304232-339987cd798f",
        "received_at": "2026-08-06T23:35:04.232Z"
      }
    },
    {
      "id": "1786059303258-269eaf7784c9",
      "trace_id": "trace_5a5412fb0473",
      "received_at": "2026-08-06T23:35:03.258Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-08",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a271db154972a999",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_6870661c5dec4f42ae503001621c52fa\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-08\",\"amount\":10008,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-06T10:24:54.806+07:00\",\"paidAt\":\"2026-08-06T03:24:55.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_6870661c5dec4f42ae503001621c52fa",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-08",
            "amount": 10008,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-06T10:24:54.806+07:00",
            "paidAt": "2026-08-06T03:24:55.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986695929-ad200ca2050a",
        "first_seen_at": "2026-08-06T03:24:55.929Z"
      }
    },
    {
      "id": "1786028870150-126aa01487da",
      "trace_id": "trace_ea199bf57715",
      "received_at": "2026-08-06T15:07:50.150Z",
      "method": "GET",
      "path": "/callback",
      "service": "redirect",
      "service_name": "Redirect Callback",
      "url": "https://test.sagad.net/callback?order_id=ORDER-1001&amp;status=paid&amp;client_ref=CLIENT-DEMO",
      "reference_id": "ORDER-1001",
      "reference_key": "order_id",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": null,
      "status_key": null,
      "amount": null,
      "amount_key": null,
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "35.228.181.105",
      "content_type": null,
      "query": {
        "order_id": "ORDER-1001",
        "amp;status": "paid",
        "amp;client_ref": "CLIENT-DEMO"
      },
      "headers": {
        "accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
        "accept-encoding": "gzip, br",
        "accept-language": "en-US,en;q=0.9",
        "cf-connecting-ip": "35.228.181.105",
        "cf-ipcountry": "FI",
        "cf-ray": "a26ef4166cf83e6a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "host": "test.sagad.net",
        "priority": "u=0, i",
        "sec-ch-ua": "\"Chromium\";v=\"152\", \"Not?A_Brand\";v=\"24\", \"Vivaldi\";v=\"7.3\"",
        "sec-ch-ua-mobile": "?0",
        "sec-ch-ua-platform": "\"Windows\"",
        "sec-fetch-dest": "document",
        "sec-fetch-mode": "navigate",
        "sec-fetch-site": "none",
        "sec-fetch-user": "?1",
        "upgrade-insecure-requests": "1",
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/152.0.0.0 Safari/537.36",
        "x-forwarded-proto": "https",
        "x-real-ip": "35.228.181.105"
      },
      "body": null,
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785986705556-3033fcd4627a",
      "trace_id": "trace_4d1494885643",
      "received_at": "2026-08-06T03:25:05.556Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-10",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aeeadbbb535a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_45ba14aa75614b29a27cd69c45dd9aa3\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-10\",\"amount\":10010,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:25:01.380+07:00\",\"paidAt\":\"2026-08-06T03:25:05.301+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_45ba14aa75614b29a27cd69c45dd9aa3",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-10",
            "amount": 10010,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:25:01.380+07:00",
            "paidAt": "2026-08-06T03:25:05.301+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986700739-b8769e078993",
        "first_seen_at": "2026-08-06T03:25:00.739Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-10",
        "reference_id": "qaj-ead1376723-qr-10",
        "event_id": "1785986705556-3033fcd4627a",
        "received_at": "2026-08-06T03:25:05.556Z"
      }
    },
    {
      "id": "1785986699152-1f6d50b838d3",
      "trace_id": "trace_67f9d7828809",
      "received_at": "2026-08-06T03:24:59.152Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-09",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aee85a8bc35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_7821cedc343e4cbcb05a4b601f99345b\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-09\",\"amount\":10009,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:58.141+07:00\",\"paidAt\":\"2026-08-06T03:24:58.973+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_7821cedc343e4cbcb05a4b601f99345b",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-09",
            "amount": 10009,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:58.141+07:00",
            "paidAt": "2026-08-06T03:24:58.973+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986697550-9792c63af823",
        "first_seen_at": "2026-08-06T03:24:57.550Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-09",
        "reference_id": "qaj-ead1376723-qr-09",
        "event_id": "1785986699152-1f6d50b838d3",
        "received_at": "2026-08-06T03:24:59.152Z"
      }
    },
    {
      "id": "1785986695929-ad200ca2050a",
      "trace_id": "trace_2927b0e899d1",
      "received_at": "2026-08-06T03:24:55.929Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-08",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aee718e5d35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_6870661c5dec4f42ae503001621c52fa\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-08\",\"amount\":10008,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:54.806+07:00\",\"paidAt\":\"2026-08-06T03:24:55.805+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_6870661c5dec4f42ae503001621c52fa",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-08",
            "amount": 10008,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:54.806+07:00",
            "paidAt": "2026-08-06T03:24:55.805+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986694392-983aaeca2c0a",
        "first_seen_at": "2026-08-06T03:24:54.392Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-08",
        "reference_id": "qaj-ead1376723-qr-08",
        "event_id": "1785986695929-ad200ca2050a",
        "received_at": "2026-08-06T03:24:55.929Z"
      }
    },
    {
      "id": "1785986692786-8dc8b47f78c2",
      "trace_id": "trace_6c2b04fc4114",
      "received_at": "2026-08-06T03:24:52.786Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-07",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aee5de82335a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_b0e9ce2f69ba402e9fab396d6568304a\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-07\",\"amount\":10007,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:51.744+07:00\",\"paidAt\":\"2026-08-06T03:24:52.636+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_b0e9ce2f69ba402e9fab396d6568304a",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-07",
            "amount": 10007,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:51.744+07:00",
            "paidAt": "2026-08-06T03:24:52.636+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986691417-f7492746a90f",
        "first_seen_at": "2026-08-06T03:24:51.417Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-07",
        "reference_id": "qaj-ead1376723-qr-07",
        "event_id": "1785986692786-8dc8b47f78c2",
        "received_at": "2026-08-06T03:24:52.786Z"
      }
    },
    {
      "id": "1785986689587-0b0d0a240b25",
      "trace_id": "trace_858c3a9dbe50",
      "received_at": "2026-08-06T03:24:49.587Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-06",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10006",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aee49edc435a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_92708217fa1e42ec86f1e9159b8c659b\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-06\",\"amount\":10006,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:48.844+07:00\",\"paidAt\":\"2026-08-06T03:24:49.466+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_92708217fa1e42ec86f1e9159b8c659b",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-06",
            "amount": 10006,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:48.844+07:00",
            "paidAt": "2026-08-06T03:24:49.466+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986688506-0762d373530d",
        "first_seen_at": "2026-08-06T03:24:48.506Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-06",
        "reference_id": "qaj-ead1376723-qr-06",
        "event_id": "1785986689587-0b0d0a240b25",
        "received_at": "2026-08-06T03:24:49.587Z"
      }
    },
    {
      "id": "1785986687478-b82a08893183",
      "trace_id": "trace_4e4037c3ff1e",
      "received_at": "2026-08-06T03:24:47.478Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-05",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aee3cb88a35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_dbbe48fb71cf4c4da5980585aa2c5106\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-05\",\"amount\":10005,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:45.824+07:00\",\"paidAt\":\"2026-08-06T03:24:47.352+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_dbbe48fb71cf4c4da5980585aa2c5106",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-05",
            "amount": 10005,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:45.824+07:00",
            "paidAt": "2026-08-06T03:24:47.352+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986685390-891d3a9e84e8",
        "first_seen_at": "2026-08-06T03:24:45.390Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-05",
        "reference_id": "qaj-ead1376723-qr-05",
        "event_id": "1785986687478-b82a08893183",
        "received_at": "2026-08-06T03:24:47.478Z"
      }
    },
    {
      "id": "1785986684361-b134fb569729",
      "trace_id": "trace_31b25efb8300",
      "received_at": "2026-08-06T03:24:44.361Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-04",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10004",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aee29388d35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_01951935ebbc45a3b628564b5d706b41\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-04\",\"amount\":10004,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:42.695+07:00\",\"paidAt\":\"2026-08-06T03:24:44.182+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_01951935ebbc45a3b628564b5d706b41",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-04",
            "amount": 10004,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:42.695+07:00",
            "paidAt": "2026-08-06T03:24:44.182+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986682368-230a7d681575",
        "first_seen_at": "2026-08-06T03:24:42.368Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-04",
        "reference_id": "qaj-ead1376723-qr-04",
        "event_id": "1785986684361-b134fb569729",
        "received_at": "2026-08-06T03:24:44.361Z"
      }
    },
    {
      "id": "1785986681133-e47118261f53",
      "trace_id": "trace_4c07ac803965",
      "received_at": "2026-08-06T03:24:41.133Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-03",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aee151b8135a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_6b544a8d247c41c292724eea146010ab\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-03\",\"amount\":10003,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:39.408+07:00\",\"paidAt\":\"2026-08-06T03:24:41.014+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_6b544a8d247c41c292724eea146010ab",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-03",
            "amount": 10003,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:39.408+07:00",
            "paidAt": "2026-08-06T03:24:41.014+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986678759-181e265c9631",
        "first_seen_at": "2026-08-06T03:24:38.759Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-03",
        "reference_id": "qaj-ead1376723-qr-03",
        "event_id": "1785986681133-e47118261f53",
        "received_at": "2026-08-06T03:24:41.133Z"
      }
    },
    {
      "id": "1785986676922-31daa071a9f4",
      "trace_id": "trace_9c1361b1076a",
      "received_at": "2026-08-06T03:24:36.922Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-02",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aedfab93235a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_9c25bc15230d46f7b95c45caa16de4fa\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-02\",\"amount\":10002,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:35.914+07:00\",\"paidAt\":\"2026-08-06T03:24:36.791+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_9c25bc15230d46f7b95c45caa16de4fa",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-02",
            "amount": 10002,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:35.914+07:00",
            "paidAt": "2026-08-06T03:24:36.791+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986673426-c4334049486e",
        "first_seen_at": "2026-08-06T03:24:33.426Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-02",
        "reference_id": "qaj-ead1376723-qr-02",
        "event_id": "1785986676922-31daa071a9f4",
        "received_at": "2026-08-06T03:24:36.922Z"
      }
    },
    {
      "id": "1785986671657-f8f1077a1b72",
      "trace_id": "trace_4b6fb5a353a0",
      "received_at": "2026-08-06T03:24:31.657Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-ead1376723-qr-01",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aedd9df4835a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_52bd26148de148daaec82df6e68a2818\",\"type\":\"qris\",\"referenceId\":\"qaj-ead1376723-qr-01\",\"amount\":10001,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:24:30.661+07:00\",\"paidAt\":\"2026-08-06T03:24:31.511+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_52bd26148de148daaec82df6e68a2818",
            "type": "qris",
            "referenceId": "qaj-ead1376723-qr-01",
            "amount": 10001,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:24:30.661+07:00",
            "paidAt": "2026-08-06T03:24:31.511+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986670322-ba602ee29bfb",
        "first_seen_at": "2026-08-06T03:24:30.322Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-qr-01",
        "reference_id": "qaj-ead1376723-qr-01",
        "event_id": "1785986671657-f8f1077a1b72",
        "received_at": "2026-08-06T03:24:31.657Z"
      }
    },
    {
      "id": "1785986668855-590a663c4374",
      "trace_id": "trace_bd82fbbc91ec",
      "received_at": "2026-08-06T03:24:28.855Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-10",
      "reference_key": "referenceId",
      "transaction_id": "PAY_48fbe3b96fd2bfb16a9afc59a1358a21",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_48fbe3b96fd2bfb16a9afc59a1358a21\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8062692724755296\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aedc85e4535a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_1905d518a4174e59b79a23b0224374d2\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:27.000+07:00\",\"paymentId\":\"PAY_48fbe3b96fd2bfb16a9afc59a1358a21\",\"bankShortCode\":\"BRI\",\"accountNo\":\"8062692724755296\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_48fbe3b96fd2bfb16a9afc59a1358a21\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8062692724755296\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:27.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_48fbe3b96fd2bfb16a9afc59a1358a21\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8062692724755296\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_1905d518a4174e59b79a23b0224374d2",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-10",
            "amount": "10010",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:27.000+07:00",
            "paymentId": "PAY_48fbe3b96fd2bfb16a9afc59a1358a21",
            "bankShortCode": "BRI",
            "accountNo": "8062692724755296",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_48fbe3b96fd2bfb16a9afc59a1358a21",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "8062692724755296",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-10",
              "amount": "10010",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:27.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_48fbe3b96fd2bfb16a9afc59a1358a21",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "8062692724755296",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986667207-8eec1abdfaff",
        "first_seen_at": "2026-08-06T03:24:27.207Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-10",
        "reference_id": "qaj-ead1376723-va-10",
        "event_id": "1785986668855-590a663c4374",
        "received_at": "2026-08-06T03:24:28.855Z"
      }
    },
    {
      "id": "1785986667997-0e2277d1a10d",
      "trace_id": "trace_e66c6c6054fe",
      "received_at": "2026-08-06T03:24:27.997Z",
      "method": "POST",
      "path": "/callbacks/disbursement",
      "service": "disbursement",
      "service_name": "Disbursement Callback",
      "url": "https://test.sagad.net/callbacks/disbursement",
      "reference_id": "qaj-ead1376723-sm-09",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "completed",
      "status_key": "status",
      "amount": "29999",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aedc2fe7e35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "470",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"9f11e03363db4f3a76849104e\",\"type\":\"disbursement\",\"attributes\":{\"referenceId\":\"qaj-ead1376723-sm-09\",\"description\":\"Automation J qaj-ead1376723-sm-09\",\"amount\":\"29999\",\"feeAmount\":\"2200\",\"status\":\"completed\",\"settlementStatus\":null,\"createdAt\":\"2026-08-06T10:23:58.000+07:00\",\"errorDetail\":{},\"disbursementMethod\":{\"type\":\"bank_transfer\",\"bankAccountNo\":\"12345678\",\"bankShortCode\":\"MANDIRI\",\"bankAccountHolderName\":\"PROD ONLY\",\"bankName\":\"Bank Mandiri\"}}}}",
        "parsed": {
          "data": {
            "id": "9f11e03363db4f3a76849104e",
            "type": "disbursement",
            "attributes": {
              "referenceId": "qaj-ead1376723-sm-09",
              "description": "Automation J qaj-ead1376723-sm-09",
              "amount": "29999",
              "feeAmount": "2200",
              "status": "completed",
              "settlementStatus": null,
              "createdAt": "2026-08-06T10:23:58.000+07:00",
              "errorDetail": {},
              "disbursementMethod": {
                "type": "bank_transfer",
                "bankAccountNo": "12345678",
                "bankShortCode": "MANDIRI",
                "bankAccountHolderName": "PROD ONLY",
                "bankName": "Bank Mandiri"
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986638017-c00704095bc7",
        "first_seen_at": "2026-08-06T03:23:58.017Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-sm-09",
        "reference_id": "qaj-ead1376723-sm-09",
        "event_id": "1785986667997-0e2277d1a10d",
        "received_at": "2026-08-06T03:24:27.997Z"
      }
    },
    {
      "id": "1785986666922-4d3d5174e4be",
      "trace_id": "trace_91c590bf1ed8",
      "received_at": "2026-08-06T03:24:26.922Z",
      "method": "POST",
      "path": "/callbacks/disbursement",
      "service": "disbursement",
      "service_name": "Disbursement Callback",
      "url": "https://test.sagad.net/callbacks/disbursement",
      "reference_id": "qaj-ead1376723-sm-05",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "completed",
      "status_key": "status",
      "amount": "29999",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aedbc3cb535a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "470",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"94f7250ac9eab495e173afa2f\",\"type\":\"disbursement\",\"attributes\":{\"referenceId\":\"qaj-ead1376723-sm-05\",\"description\":\"Automation J qaj-ead1376723-sm-05\",\"amount\":\"29999\",\"feeAmount\":\"2200\",\"status\":\"completed\",\"settlementStatus\":null,\"createdAt\":\"2026-08-06T10:23:56.000+07:00\",\"errorDetail\":{},\"disbursementMethod\":{\"type\":\"bank_transfer\",\"bankAccountNo\":\"12345678\",\"bankShortCode\":\"MANDIRI\",\"bankAccountHolderName\":\"PROD ONLY\",\"bankName\":\"Bank Mandiri\"}}}}",
        "parsed": {
          "data": {
            "id": "94f7250ac9eab495e173afa2f",
            "type": "disbursement",
            "attributes": {
              "referenceId": "qaj-ead1376723-sm-05",
              "description": "Automation J qaj-ead1376723-sm-05",
              "amount": "29999",
              "feeAmount": "2200",
              "status": "completed",
              "settlementStatus": null,
              "createdAt": "2026-08-06T10:23:56.000+07:00",
              "errorDetail": {},
              "disbursementMethod": {
                "type": "bank_transfer",
                "bankAccountNo": "12345678",
                "bankShortCode": "MANDIRI",
                "bankAccountHolderName": "PROD ONLY",
                "bankName": "Bank Mandiri"
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986635699-1e4c2f2e89c7",
        "first_seen_at": "2026-08-06T03:23:55.699Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-sm-05",
        "reference_id": "qaj-ead1376723-sm-05",
        "event_id": "1785986666922-4d3d5174e4be",
        "received_at": "2026-08-06T03:24:26.922Z"
      }
    },
    {
      "id": "1785986665696-5fa784bdd9dc",
      "trace_id": "trace_3f2784164160",
      "received_at": "2026-08-06T03:24:25.696Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-09",
      "reference_key": "referenceId",
      "transaction_id": "PAY_f9e26ab7d32cd0f5457b946933c2d4e2",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_f9e26ab7d32cd0f5457b946933c2d4e2\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5916695559289519\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aedb4982735a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_1c5e2a063daf421ea191f4bbf0e82a8c\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:24.000+07:00\",\"paymentId\":\"PAY_f9e26ab7d32cd0f5457b946933c2d4e2\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5916695559289519\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_f9e26ab7d32cd0f5457b946933c2d4e2\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5916695559289519\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:24.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_f9e26ab7d32cd0f5457b946933c2d4e2\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5916695559289519\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_1c5e2a063daf421ea191f4bbf0e82a8c",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-09",
            "amount": "10009",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:24.000+07:00",
            "paymentId": "PAY_f9e26ab7d32cd0f5457b946933c2d4e2",
            "bankShortCode": "BRI",
            "accountNo": "5916695559289519",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_f9e26ab7d32cd0f5457b946933c2d4e2",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5916695559289519",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-09",
              "amount": "10009",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:24.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_f9e26ab7d32cd0f5457b946933c2d4e2",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5916695559289519",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986664310-fed60b8aa273",
        "first_seen_at": "2026-08-06T03:24:24.310Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-09",
        "reference_id": "qaj-ead1376723-va-09",
        "event_id": "1785986665696-5fa784bdd9dc",
        "received_at": "2026-08-06T03:24:25.696Z"
      }
    },
    {
      "id": "1785986662527-42e49b4f83c9",
      "trace_id": "trace_4aff0d148f30",
      "received_at": "2026-08-06T03:24:22.527Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_f49b36f37290c3b6a0dfa1526ccf8e57",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_f49b36f37290c3b6a0dfa1526ccf8e57\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5951006314728017\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aeda0cf2f35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_aa89063b63a441fdb8f8490cf03fa0bd\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:21.000+07:00\",\"paymentId\":\"PAY_f49b36f37290c3b6a0dfa1526ccf8e57\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5951006314728017\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_f49b36f37290c3b6a0dfa1526ccf8e57\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5951006314728017\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:21.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_f49b36f37290c3b6a0dfa1526ccf8e57\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5951006314728017\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_aa89063b63a441fdb8f8490cf03fa0bd",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:21.000+07:00",
            "paymentId": "PAY_f49b36f37290c3b6a0dfa1526ccf8e57",
            "bankShortCode": "BRI",
            "accountNo": "5951006314728017",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_f49b36f37290c3b6a0dfa1526ccf8e57",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5951006314728017",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:21.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_f49b36f37290c3b6a0dfa1526ccf8e57",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5951006314728017",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986661448-fbd3d57ff618",
        "first_seen_at": "2026-08-06T03:24:21.448Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-08",
        "reference_id": "qaj-ead1376723-va-08",
        "event_id": "1785986662527-42e49b4f83c9",
        "received_at": "2026-08-06T03:24:22.527Z"
      }
    },
    {
      "id": "1785986660408-fac3476bed51",
      "trace_id": "trace_76b2d012d63d",
      "received_at": "2026-08-06T03:24:20.408Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-07",
      "reference_key": "referenceId",
      "transaction_id": "PAY_37d30eced597476bbb3173bfb8cec166",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_37d30eced597476bbb3173bfb8cec166\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"708874068942539\",\"displayNa\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed938bcd35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "921",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_60503d1c52fa4567bfdca37de9ba1286\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:18.000+07:00\",\"paymentId\":\"PAY_37d30eced597476bbb3173bfb8cec166\",\"bankShortCode\":\"BRI\",\"accountNo\":\"708874068942539\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_37d30eced597476bbb3173bfb8cec166\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"708874068942539\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:18.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_37d30eced597476bbb3173bfb8cec166\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"708874068942539\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_60503d1c52fa4567bfdca37de9ba1286",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-07",
            "amount": "10007",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:18.000+07:00",
            "paymentId": "PAY_37d30eced597476bbb3173bfb8cec166",
            "bankShortCode": "BRI",
            "accountNo": "708874068942539",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_37d30eced597476bbb3173bfb8cec166",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "708874068942539",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-07",
              "amount": "10007",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:18.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_37d30eced597476bbb3173bfb8cec166",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "708874068942539",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986658609-6902b03b8231",
        "first_seen_at": "2026-08-06T03:24:18.609Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-07",
        "reference_id": "qaj-ead1376723-va-07",
        "event_id": "1785986660408-fac3476bed51",
        "received_at": "2026-08-06T03:24:20.408Z"
      }
    },
    {
      "id": "1785986658449-619c3416709c",
      "trace_id": "trace_696202afe0db",
      "received_at": "2026-08-06T03:24:18.449Z",
      "method": "POST",
      "path": "/callbacks/disbursement",
      "service": "disbursement",
      "service_name": "Disbursement Callback",
      "url": "https://test.sagad.net/callbacks/disbursement",
      "reference_id": "qaj-ead1376723-sm-10",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "completed",
      "status_key": "status",
      "amount": "29999",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed8748bd35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "470",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"89f7acedbd72f15ec97ca8746\",\"type\":\"disbursement\",\"attributes\":{\"referenceId\":\"qaj-ead1376723-sm-10\",\"description\":\"Automation J qaj-ead1376723-sm-10\",\"amount\":\"29999\",\"feeAmount\":\"2200\",\"status\":\"completed\",\"settlementStatus\":null,\"createdAt\":\"2026-08-06T10:23:59.000+07:00\",\"errorDetail\":{},\"disbursementMethod\":{\"type\":\"bank_transfer\",\"bankAccountNo\":\"12345678\",\"bankShortCode\":\"MANDIRI\",\"bankAccountHolderName\":\"PROD ONLY\",\"bankName\":\"Bank Mandiri\"}}}}",
        "parsed": {
          "data": {
            "id": "89f7acedbd72f15ec97ca8746",
            "type": "disbursement",
            "attributes": {
              "referenceId": "qaj-ead1376723-sm-10",
              "description": "Automation J qaj-ead1376723-sm-10",
              "amount": "29999",
              "feeAmount": "2200",
              "status": "completed",
              "settlementStatus": null,
              "createdAt": "2026-08-06T10:23:59.000+07:00",
              "errorDetail": {},
              "disbursementMethod": {
                "type": "bank_transfer",
                "bankAccountNo": "12345678",
                "bankShortCode": "MANDIRI",
                "bankAccountHolderName": "PROD ONLY",
                "bankName": "Bank Mandiri"
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986638664-8bb524ab14ac",
        "first_seen_at": "2026-08-06T03:23:58.664Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-sm-10",
        "reference_id": "qaj-ead1376723-sm-10",
        "event_id": "1785986658449-619c3416709c",
        "received_at": "2026-08-06T03:24:18.449Z"
      }
    },
    {
      "id": "1785986657445-df1f25478fac",
      "trace_id": "trace_142894cf8641",
      "received_at": "2026-08-06T03:24:17.445Z",
      "method": "POST",
      "path": "/callbacks/disbursement",
      "service": "disbursement",
      "service_name": "Disbursement Callback",
      "url": "https://test.sagad.net/callbacks/disbursement",
      "reference_id": "qaj-ead1376723-sm-02",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "completed",
      "status_key": "status",
      "amount": "29999",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed810d7f35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "470",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"c725f7c0136696b41a72a7cb0\",\"type\":\"disbursement\",\"attributes\":{\"referenceId\":\"qaj-ead1376723-sm-02\",\"description\":\"Automation J qaj-ead1376723-sm-02\",\"amount\":\"29999\",\"feeAmount\":\"2200\",\"status\":\"completed\",\"settlementStatus\":null,\"createdAt\":\"2026-08-06T10:23:54.000+07:00\",\"errorDetail\":{},\"disbursementMethod\":{\"type\":\"bank_transfer\",\"bankAccountNo\":\"12345678\",\"bankShortCode\":\"MANDIRI\",\"bankAccountHolderName\":\"PROD ONLY\",\"bankName\":\"Bank Mandiri\"}}}}",
        "parsed": {
          "data": {
            "id": "c725f7c0136696b41a72a7cb0",
            "type": "disbursement",
            "attributes": {
              "referenceId": "qaj-ead1376723-sm-02",
              "description": "Automation J qaj-ead1376723-sm-02",
              "amount": "29999",
              "feeAmount": "2200",
              "status": "completed",
              "settlementStatus": null,
              "createdAt": "2026-08-06T10:23:54.000+07:00",
              "errorDetail": {},
              "disbursementMethod": {
                "type": "bank_transfer",
                "bankAccountNo": "12345678",
                "bankShortCode": "MANDIRI",
                "bankAccountHolderName": "PROD ONLY",
                "bankName": "Bank Mandiri"
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986633685-d1d55b096fa3",
        "first_seen_at": "2026-08-06T03:23:53.685Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-sm-02",
        "reference_id": "qaj-ead1376723-sm-02",
        "event_id": "1785986657445-df1f25478fac",
        "received_at": "2026-08-06T03:24:17.445Z"
      }
    },
    {
      "id": "1785986657243-af4b9fc0e63b",
      "trace_id": "trace_d635fa66c745",
      "received_at": "2026-08-06T03:24:17.243Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-06",
      "reference_key": "referenceId",
      "transaction_id": "PAY_58c5c61fd6ae769c1267fe3154e03a5b",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10006",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_58c5c61fd6ae769c1267fe3154e03a5b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9518678178802360\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed7fb9fc35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_5982f9d2e74943919d5d24c699a2d310\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-06\",\"amount\":\"10006\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:15.000+07:00\",\"paymentId\":\"PAY_58c5c61fd6ae769c1267fe3154e03a5b\",\"bankShortCode\":\"BRI\",\"accountNo\":\"9518678178802360\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_58c5c61fd6ae769c1267fe3154e03a5b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9518678178802360\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-06\",\"amount\":\"10006\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:15.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_58c5c61fd6ae769c1267fe3154e03a5b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9518678178802360\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_5982f9d2e74943919d5d24c699a2d310",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-06",
            "amount": "10006",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:15.000+07:00",
            "paymentId": "PAY_58c5c61fd6ae769c1267fe3154e03a5b",
            "bankShortCode": "BRI",
            "accountNo": "9518678178802360",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_58c5c61fd6ae769c1267fe3154e03a5b",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "9518678178802360",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-06",
              "amount": "10006",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:15.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_58c5c61fd6ae769c1267fe3154e03a5b",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "9518678178802360",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986655584-e3e91721459f",
        "first_seen_at": "2026-08-06T03:24:15.584Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-06",
        "reference_id": "qaj-ead1376723-va-06",
        "event_id": "1785986657243-af4b9fc0e63b",
        "received_at": "2026-08-06T03:24:17.243Z"
      }
    },
    {
      "id": "1785986654095-c521694dd430",
      "trace_id": "trace_13079710804e",
      "received_at": "2026-08-06T03:24:14.095Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-05",
      "reference_key": "referenceId",
      "transaction_id": "PAY_ff722483c04f79bdf7dc51e3431abff9",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_ff722483c04f79bdf7dc51e3431abff9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2588302675074924\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed6c1aaa35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_21e8601950a749799468e9729327673b\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:12.000+07:00\",\"paymentId\":\"PAY_ff722483c04f79bdf7dc51e3431abff9\",\"bankShortCode\":\"BRI\",\"accountNo\":\"2588302675074924\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_ff722483c04f79bdf7dc51e3431abff9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2588302675074924\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:12.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_ff722483c04f79bdf7dc51e3431abff9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2588302675074924\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_21e8601950a749799468e9729327673b",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-05",
            "amount": "10005",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:12.000+07:00",
            "paymentId": "PAY_ff722483c04f79bdf7dc51e3431abff9",
            "bankShortCode": "BRI",
            "accountNo": "2588302675074924",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_ff722483c04f79bdf7dc51e3431abff9",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "2588302675074924",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-05",
              "amount": "10005",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:12.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_ff722483c04f79bdf7dc51e3431abff9",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "2588302675074924",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986652686-38bc781cdb82",
        "first_seen_at": "2026-08-06T03:24:12.686Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-05",
        "reference_id": "qaj-ead1376723-va-05",
        "event_id": "1785986654095-c521694dd430",
        "received_at": "2026-08-06T03:24:14.095Z"
      }
    },
    {
      "id": "1785986650918-363bfdc5b482",
      "trace_id": "trace_5d4f69c512fb",
      "received_at": "2026-08-06T03:24:10.918Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-04",
      "reference_key": "referenceId",
      "transaction_id": "PAY_03a8ecab692591059c60809513884e11",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10004",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_03a8ecab692591059c60809513884e11\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"3251442553541932\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed583b0935a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_12b18a33505a415db09ec3df46d300de\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-04\",\"amount\":\"10004\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:09.000+07:00\",\"paymentId\":\"PAY_03a8ecab692591059c60809513884e11\",\"bankShortCode\":\"BRI\",\"accountNo\":\"3251442553541932\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_03a8ecab692591059c60809513884e11\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"3251442553541932\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-04\",\"amount\":\"10004\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:09.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_03a8ecab692591059c60809513884e11\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"3251442553541932\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_12b18a33505a415db09ec3df46d300de",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-04",
            "amount": "10004",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:09.000+07:00",
            "paymentId": "PAY_03a8ecab692591059c60809513884e11",
            "bankShortCode": "BRI",
            "accountNo": "3251442553541932",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_03a8ecab692591059c60809513884e11",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "3251442553541932",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-04",
              "amount": "10004",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:09.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_03a8ecab692591059c60809513884e11",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "3251442553541932",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986649638-9372895160fc",
        "first_seen_at": "2026-08-06T03:24:09.638Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-04",
        "reference_id": "qaj-ead1376723-va-04",
        "event_id": "1785986650918-363bfdc5b482",
        "received_at": "2026-08-06T03:24:10.918Z"
      }
    },
    {
      "id": "1785986647780-0514b59fe3ac",
      "trace_id": "trace_d4cfeb57089c",
      "received_at": "2026-08-06T03:24:07.780Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_2759968401d5b930699bea1165493441",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_2759968401d5b930699bea1165493441\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1894738405132520\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed44992835a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_b798ed083c5e4693906eaf32799fc6ed\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:06.000+07:00\",\"paymentId\":\"PAY_2759968401d5b930699bea1165493441\",\"bankShortCode\":\"BRI\",\"accountNo\":\"1894738405132520\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_2759968401d5b930699bea1165493441\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1894738405132520\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:06.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_2759968401d5b930699bea1165493441\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1894738405132520\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_b798ed083c5e4693906eaf32799fc6ed",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:06.000+07:00",
            "paymentId": "PAY_2759968401d5b930699bea1165493441",
            "bankShortCode": "BRI",
            "accountNo": "1894738405132520",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_2759968401d5b930699bea1165493441",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "1894738405132520",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:06.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_2759968401d5b930699bea1165493441",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "1894738405132520",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986646652-a521b85afdb1",
        "first_seen_at": "2026-08-06T03:24:06.652Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-03",
        "reference_id": "qaj-ead1376723-va-03",
        "event_id": "1785986647780-0514b59fe3ac",
        "received_at": "2026-08-06T03:24:07.780Z"
      }
    },
    {
      "id": "1785986645749-07baffcf0e74",
      "trace_id": "trace_c7b671bdf281",
      "received_at": "2026-08-06T03:24:05.749Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-02",
      "reference_key": "referenceId",
      "transaction_id": "PAY_aaac13720737f4bbdbf0317f239e170f",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_aaac13720737f4bbdbf0317f239e170f\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4012746152082794\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed37ec9635a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_2d8dbdbd5b5e4cc2ad6dc3c5c46a7d46\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:03.000+07:00\",\"paymentId\":\"PAY_aaac13720737f4bbdbf0317f239e170f\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4012746152082794\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_aaac13720737f4bbdbf0317f239e170f\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4012746152082794\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:24:03.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_aaac13720737f4bbdbf0317f239e170f\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4012746152082794\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_2d8dbdbd5b5e4cc2ad6dc3c5c46a7d46",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-02",
            "amount": "10002",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:24:03.000+07:00",
            "paymentId": "PAY_aaac13720737f4bbdbf0317f239e170f",
            "bankShortCode": "BRI",
            "accountNo": "4012746152082794",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_aaac13720737f4bbdbf0317f239e170f",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4012746152082794",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-02",
              "amount": "10002",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:24:03.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_aaac13720737f4bbdbf0317f239e170f",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4012746152082794",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986642072-5dcc1ffe88c0",
        "first_seen_at": "2026-08-06T03:24:02.072Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-02",
        "reference_id": "qaj-ead1376723-va-02",
        "event_id": "1785986645749-07baffcf0e74",
        "received_at": "2026-08-06T03:24:05.749Z"
      }
    },
    {
      "id": "1785986640815-9beb0f321920",
      "trace_id": "trace_5dfb5e845559",
      "received_at": "2026-08-06T03:24:00.815Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-ead1376723-va-01",
      "reference_key": "referenceId",
      "transaction_id": "PAY_545b1fd6a37e60c036946e385628fdd4",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_545b1fd6a37e60c036946e385628fdd4\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6434824048316262\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26aed190a3d35a4",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_a1b1ed45e26549c586fdaabb4df753fb\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-ead1376723-va-01\",\"amount\":\"10001\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:23:59.000+07:00\",\"paymentId\":\"PAY_545b1fd6a37e60c036946e385628fdd4\",\"bankShortCode\":\"BRI\",\"accountNo\":\"6434824048316262\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_545b1fd6a37e60c036946e385628fdd4\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6434824048316262\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-ead1376723-va-01\",\"amount\":\"10001\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:23:59.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_545b1fd6a37e60c036946e385628fdd4\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6434824048316262\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_a1b1ed45e26549c586fdaabb4df753fb",
            "type": "virtual_account",
            "referenceId": "qaj-ead1376723-va-01",
            "amount": "10001",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:23:59.000+07:00",
            "paymentId": "PAY_545b1fd6a37e60c036946e385628fdd4",
            "bankShortCode": "BRI",
            "accountNo": "6434824048316262",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_545b1fd6a37e60c036946e385628fdd4",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "6434824048316262",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-ead1376723-va-01",
              "amount": "10001",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:23:59.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_545b1fd6a37e60c036946e385628fdd4",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "6434824048316262",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785986639204-efac652c8891",
        "first_seen_at": "2026-08-06T03:23:59.204Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-ead1376723-va-01",
        "reference_id": "qaj-ead1376723-va-01",
        "event_id": "1785986640815-9beb0f321920",
        "received_at": "2026-08-06T03:24:00.815Z"
      }
    },
    {
      "id": "1785985619386-3d482cabb42c",
      "trace_id": "trace_dc3acc22936d",
      "received_at": "2026-08-06T03:06:59.386Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-09",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad4292971842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_2103a631439d47948881b2ba03ce8751\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-09\",\"amount\":10009,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:58.177+07:00\",\"paidAt\":\"2026-08-06T03:06:59.200+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_2103a631439d47948881b2ba03ce8751",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-09",
            "amount": 10009,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:58.177+07:00",
            "paidAt": "2026-08-06T03:06:59.200+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985617666-b7ab85bedf63",
        "first_seen_at": "2026-08-06T03:06:57.666Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-09",
        "reference_id": "qaj-767195b641-qr-09",
        "event_id": "1785985619386-3d482cabb42c",
        "received_at": "2026-08-06T03:06:59.386Z"
      }
    },
    {
      "id": "1785985616148-12934ba02a10",
      "trace_id": "trace_0224a8c6d818",
      "received_at": "2026-08-06T03:06:56.148Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-08",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad414ecc6842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_a47c3af5ec05464dbfb4ae74315352c0\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-08\",\"amount\":10008,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:54.906+07:00\",\"paidAt\":\"2026-08-06T03:06:56.031+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_a47c3af5ec05464dbfb4ae74315352c0",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-08",
            "amount": 10008,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:54.906+07:00",
            "paidAt": "2026-08-06T03:06:56.031+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985614574-f7aff9162a37",
        "first_seen_at": "2026-08-06T03:06:54.574Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-08",
        "reference_id": "qaj-767195b641-qr-08",
        "event_id": "1785985616148-12934ba02a10",
        "received_at": "2026-08-06T03:06:56.148Z"
      }
    },
    {
      "id": "1785985612985-069dad9a99b9",
      "trace_id": "trace_379f3b9301e5",
      "received_at": "2026-08-06T03:06:52.985Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-07",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad4012a0d842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_0174ff00a3b8411495ffecad6b639703\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-07\",\"amount\":10007,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:51.805+07:00\",\"paidAt\":\"2026-08-06T03:06:52.862+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_0174ff00a3b8411495ffecad6b639703",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-07",
            "amount": 10007,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:51.805+07:00",
            "paidAt": "2026-08-06T03:06:52.862+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985611504-87ddf67c521f",
        "first_seen_at": "2026-08-06T03:06:51.504Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-07",
        "reference_id": "qaj-767195b641-qr-07",
        "event_id": "1785985612985-069dad9a99b9",
        "received_at": "2026-08-06T03:06:52.985Z"
      }
    },
    {
      "id": "1785985609808-c8926a9269c3",
      "trace_id": "trace_6f16b90d9448",
      "received_at": "2026-08-06T03:06:49.808Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-06",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10006",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad3ed480e842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_414d2dbc4b7b43b69dd44c9b65e164ef\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-06\",\"amount\":10006,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:48.758+07:00\",\"paidAt\":\"2026-08-06T03:06:49.693+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_414d2dbc4b7b43b69dd44c9b65e164ef",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-06",
            "amount": 10006,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:48.758+07:00",
            "paidAt": "2026-08-06T03:06:49.693+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985608245-ecf52a86e702",
        "first_seen_at": "2026-08-06T03:06:48.245Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-06",
        "reference_id": "qaj-767195b641-qr-06",
        "event_id": "1785985609808-c8926a9269c3",
        "received_at": "2026-08-06T03:06:49.808Z"
      }
    },
    {
      "id": "1785985606639-7bab0a37a83f",
      "trace_id": "trace_f00102a2a960",
      "received_at": "2026-08-06T03:06:46.639Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-05",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad3d97f2e842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_3d9e9401db96448b84d06727053a2ed9\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-05\",\"amount\":10005,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:45.446+07:00\",\"paidAt\":\"2026-08-06T03:06:46.525+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_3d9e9401db96448b84d06727053a2ed9",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-05",
            "amount": 10005,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:45.446+07:00",
            "paidAt": "2026-08-06T03:06:46.525+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985605127-268fa794d5a8",
        "first_seen_at": "2026-08-06T03:06:45.127Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-05",
        "reference_id": "qaj-767195b641-qr-05",
        "event_id": "1785985606639-7bab0a37a83f",
        "received_at": "2026-08-06T03:06:46.639Z"
      }
    },
    {
      "id": "1785985603472-f43afb036cd7",
      "trace_id": "trace_eca89fa9d9eb",
      "received_at": "2026-08-06T03:06:43.472Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-04",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10004",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad3c5ae21842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_bad324438aba45d5a88d2f06e1561952\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-04\",\"amount\":10004,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:42.390+07:00\",\"paidAt\":\"2026-08-06T03:06:43.356+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_bad324438aba45d5a88d2f06e1561952",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-04",
            "amount": 10004,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:42.390+07:00",
            "paidAt": "2026-08-06T03:06:43.356+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985601769-581642c99de8",
        "first_seen_at": "2026-08-06T03:06:41.769Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-04",
        "reference_id": "qaj-767195b641-qr-04",
        "event_id": "1785985603472-f43afb036cd7",
        "received_at": "2026-08-06T03:06:43.472Z"
      }
    },
    {
      "id": "1785985600320-e8edf965c80e",
      "trace_id": "trace_351191aec801",
      "received_at": "2026-08-06T03:06:40.320Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-03",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad3b1fe0f842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_8bd031b3faa5410d9f590d6c4cfd267b\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-03\",\"amount\":10003,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:38.818+07:00\",\"paidAt\":\"2026-08-06T03:06:40.190+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_8bd031b3faa5410d9f590d6c4cfd267b",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-03",
            "amount": 10003,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:38.818+07:00",
            "paidAt": "2026-08-06T03:06:40.190+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985597926-b237a1d4e72a",
        "first_seen_at": "2026-08-06T03:06:37.926Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-03",
        "reference_id": "qaj-767195b641-qr-03",
        "event_id": "1785985600320-e8edf965c80e",
        "received_at": "2026-08-06T03:06:40.320Z"
      }
    },
    {
      "id": "1785985596151-2fe2ef0a6c23",
      "trace_id": "trace_5f12172cd612",
      "received_at": "2026-08-06T03:06:36.151Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-02",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad397ec54842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_ee4be284fb194de691715825695a0be4\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-02\",\"amount\":10002,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:33.594+07:00\",\"paidAt\":\"2026-08-06T03:06:35.968+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_ee4be284fb194de691715825695a0be4",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-02",
            "amount": 10002,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:33.594+07:00",
            "paidAt": "2026-08-06T03:06:35.968+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985592393-e01025bb8d86",
        "first_seen_at": "2026-08-06T03:06:32.393Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-02",
        "reference_id": "qaj-767195b641-qr-02",
        "event_id": "1785985596151-2fe2ef0a6c23",
        "received_at": "2026-08-06T03:06:36.151Z"
      }
    },
    {
      "id": "1785985590811-cfefc6dd4820",
      "trace_id": "trace_fa7bf31bf237",
      "received_at": "2026-08-06T03:06:30.811Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-767195b641-qr-01",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "PAID",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad3768d8c842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "292",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_cd321b8ac5b142feaa18422c1790f27f\",\"type\":\"qris\",\"referenceId\":\"qaj-767195b641-qr-01\",\"amount\":10001,\"feeAmount\":60,\"status\":\"PAID\",\"createdAt\":\"2026-08-06T10:06:29.597+07:00\",\"paidAt\":\"2026-08-06T03:06:30.692+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":null,\"merchantNmid\":null}}",
        "parsed": {
          "data": {
            "id": "QR_cd321b8ac5b142feaa18422c1790f27f",
            "type": "qris",
            "referenceId": "qaj-767195b641-qr-01",
            "amount": 10001,
            "feeAmount": 60,
            "status": "PAID",
            "createdAt": "2026-08-06T10:06:29.597+07:00",
            "paidAt": "2026-08-06T03:06:30.692+07:00",
            "qrisType": "DYNAMIC",
            "merchant": null,
            "merchantNmid": null
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985589256-d9d1b98f1b4e",
        "first_seen_at": "2026-08-06T03:06:29.256Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-qr-01",
        "reference_id": "qaj-767195b641-qr-01",
        "event_id": "1785985590811-cfefc6dd4820",
        "received_at": "2026-08-06T03:06:30.811Z"
      }
    },
    {
      "id": "1785985588179-1a315caa448b",
      "trace_id": "trace_f4cc2b4d0df8",
      "received_at": "2026-08-06T03:06:28.179Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-10",
      "reference_key": "referenceId",
      "transaction_id": "PAY_995e5e4ae367e0ef35dcf809463ee3fc",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_995e5e4ae367e0ef35dcf809463ee3fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6303286344214999\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad3661aef842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_e980a206642146a2bb42250696b0b4db\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:26.000+07:00\",\"paymentId\":\"PAY_995e5e4ae367e0ef35dcf809463ee3fc\",\"bankShortCode\":\"BRI\",\"accountNo\":\"6303286344214999\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_995e5e4ae367e0ef35dcf809463ee3fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6303286344214999\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:26.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_995e5e4ae367e0ef35dcf809463ee3fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6303286344214999\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_e980a206642146a2bb42250696b0b4db",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-10",
            "amount": "10010",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:06:26.000+07:00",
            "paymentId": "PAY_995e5e4ae367e0ef35dcf809463ee3fc",
            "bankShortCode": "BRI",
            "accountNo": "6303286344214999",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_995e5e4ae367e0ef35dcf809463ee3fc",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "6303286344214999",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-10",
              "amount": "10010",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:06:26.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_995e5e4ae367e0ef35dcf809463ee3fc",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "6303286344214999",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985586412-f8a9afd96d02",
        "first_seen_at": "2026-08-06T03:06:26.412Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-10",
        "reference_id": "qaj-767195b641-va-10",
        "event_id": "1785985588179-1a315caa448b",
        "received_at": "2026-08-06T03:06:28.179Z"
      }
    },
    {
      "id": "1785985584967-af3ec1e96782",
      "trace_id": "trace_8d15a7d5e59b",
      "received_at": "2026-08-06T03:06:24.967Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-09",
      "reference_key": "referenceId",
      "transaction_id": "PAY_0713d9c164ee3c4c8b4bfc513a8fa8b1",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_0713d9c164ee3c4c8b4bfc513a8fa8b1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7046765914174137\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad35208db842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_6df0cd6c432949e29534019acf6482f5\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:23.000+07:00\",\"paymentId\":\"PAY_0713d9c164ee3c4c8b4bfc513a8fa8b1\",\"bankShortCode\":\"BRI\",\"accountNo\":\"7046765914174137\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_0713d9c164ee3c4c8b4bfc513a8fa8b1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7046765914174137\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:23.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_0713d9c164ee3c4c8b4bfc513a8fa8b1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7046765914174137\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_6df0cd6c432949e29534019acf6482f5",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-09",
            "amount": "10009",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:06:23.000+07:00",
            "paymentId": "PAY_0713d9c164ee3c4c8b4bfc513a8fa8b1",
            "bankShortCode": "BRI",
            "accountNo": "7046765914174137",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_0713d9c164ee3c4c8b4bfc513a8fa8b1",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "7046765914174137",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-09",
              "amount": "10009",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:06:23.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_0713d9c164ee3c4c8b4bfc513a8fa8b1",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "7046765914174137",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985583337-bea9a6a3ccfb",
        "first_seen_at": "2026-08-06T03:06:23.337Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-09",
        "reference_id": "qaj-767195b641-va-09",
        "event_id": "1785985584967-af3ec1e96782",
        "received_at": "2026-08-06T03:06:24.967Z"
      }
    },
    {
      "id": "1785985584185-80f742f7eb71",
      "trace_id": "trace_7c2a685caaea",
      "received_at": "2026-08-06T03:06:24.185Z",
      "method": "POST",
      "path": "/callbacks/disbursement",
      "service": "disbursement",
      "service_name": "Disbursement Callback",
      "url": "https://test.sagad.net/callbacks/disbursement",
      "reference_id": "qaj-767195b641-sm-10",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "completed",
      "status_key": "status",
      "amount": "29999",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad34d1a73842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "470",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"a6367256bd86cce784bbce94f\",\"type\":\"disbursement\",\"attributes\":{\"referenceId\":\"qaj-767195b641-sm-10\",\"description\":\"Automation J qaj-767195b641-sm-10\",\"amount\":\"29999\",\"feeAmount\":\"2200\",\"status\":\"completed\",\"settlementStatus\":null,\"createdAt\":\"2026-08-06T10:05:56.000+07:00\",\"errorDetail\":{},\"disbursementMethod\":{\"type\":\"bank_transfer\",\"bankAccountNo\":\"12345678\",\"bankShortCode\":\"MANDIRI\",\"bankAccountHolderName\":\"PROD ONLY\",\"bankName\":\"Bank Mandiri\"}}}}",
        "parsed": {
          "data": {
            "id": "a6367256bd86cce784bbce94f",
            "type": "disbursement",
            "attributes": {
              "referenceId": "qaj-767195b641-sm-10",
              "description": "Automation J qaj-767195b641-sm-10",
              "amount": "29999",
              "feeAmount": "2200",
              "status": "completed",
              "settlementStatus": null,
              "createdAt": "2026-08-06T10:05:56.000+07:00",
              "errorDetail": {},
              "disbursementMethod": {
                "type": "bank_transfer",
                "bankAccountNo": "12345678",
                "bankShortCode": "MANDIRI",
                "bankAccountHolderName": "PROD ONLY",
                "bankName": "Bank Mandiri"
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985556078-25074c2f1c20",
        "first_seen_at": "2026-08-06T03:05:56.078Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-sm-10",
        "reference_id": "qaj-767195b641-sm-10",
        "event_id": "1785985584185-80f742f7eb71",
        "received_at": "2026-08-06T03:06:24.185Z"
      }
    },
    {
      "id": "1785985584133-3562502be2fc",
      "trace_id": "trace_e56364da550a",
      "received_at": "2026-08-06T03:06:24.133Z",
      "method": "POST",
      "path": "/callbacks/disbursement",
      "service": "disbursement",
      "service_name": "Disbursement Callback",
      "url": "https://test.sagad.net/callbacks/disbursement",
      "reference_id": "qaj-767195b641-sm-03",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "completed",
      "status_key": "status",
      "amount": "29999",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad34cc994842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "470",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"cb385852ecf67696e3fca431b\",\"type\":\"disbursement\",\"attributes\":{\"referenceId\":\"qaj-767195b641-sm-03\",\"description\":\"Automation J qaj-767195b641-sm-03\",\"amount\":\"29999\",\"feeAmount\":\"2200\",\"status\":\"completed\",\"settlementStatus\":null,\"createdAt\":\"2026-08-06T10:05:51.000+07:00\",\"errorDetail\":{},\"disbursementMethod\":{\"type\":\"bank_transfer\",\"bankAccountNo\":\"12345678\",\"bankShortCode\":\"MANDIRI\",\"bankAccountHolderName\":\"PROD ONLY\",\"bankName\":\"Bank Mandiri\"}}}}",
        "parsed": {
          "data": {
            "id": "cb385852ecf67696e3fca431b",
            "type": "disbursement",
            "attributes": {
              "referenceId": "qaj-767195b641-sm-03",
              "description": "Automation J qaj-767195b641-sm-03",
              "amount": "29999",
              "feeAmount": "2200",
              "status": "completed",
              "settlementStatus": null,
              "createdAt": "2026-08-06T10:05:51.000+07:00",
              "errorDetail": {},
              "disbursementMethod": {
                "type": "bank_transfer",
                "bankAccountNo": "12345678",
                "bankShortCode": "MANDIRI",
                "bankAccountHolderName": "PROD ONLY",
                "bankName": "Bank Mandiri"
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985551573-6425bc521ede",
        "first_seen_at": "2026-08-06T03:05:51.573Z"
      }
    },
    {
      "id": "1785985583055-60fb44e5b130",
      "trace_id": "trace_013f595df077",
      "received_at": "2026-08-06T03:06:23.055Z",
      "method": "POST",
      "path": "/callbacks/disbursement",
      "service": "disbursement",
      "service_name": "Disbursement Callback",
      "url": "https://test.sagad.net/callbacks/disbursement",
      "reference_id": "qaj-767195b641-sm-06",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "completed",
      "status_key": "status",
      "amount": "29999",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad3461c4a842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "470",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"9bbe9f176a39a0ca19fa144f4\",\"type\":\"disbursement\",\"attributes\":{\"referenceId\":\"qaj-767195b641-sm-06\",\"description\":\"Automation J qaj-767195b641-sm-06\",\"amount\":\"29999\",\"feeAmount\":\"2200\",\"status\":\"completed\",\"settlementStatus\":null,\"createdAt\":\"2026-08-06T10:05:53.000+07:00\",\"errorDetail\":{},\"disbursementMethod\":{\"type\":\"bank_transfer\",\"bankAccountNo\":\"12345678\",\"bankShortCode\":\"MANDIRI\",\"bankAccountHolderName\":\"PROD ONLY\",\"bankName\":\"Bank Mandiri\"}}}}",
        "parsed": {
          "data": {
            "id": "9bbe9f176a39a0ca19fa144f4",
            "type": "disbursement",
            "attributes": {
              "referenceId": "qaj-767195b641-sm-06",
              "description": "Automation J qaj-767195b641-sm-06",
              "amount": "29999",
              "feeAmount": "2200",
              "status": "completed",
              "settlementStatus": null,
              "createdAt": "2026-08-06T10:05:53.000+07:00",
              "errorDetail": {},
              "disbursementMethod": {
                "type": "bank_transfer",
                "bankAccountNo": "12345678",
                "bankShortCode": "MANDIRI",
                "bankAccountHolderName": "PROD ONLY",
                "bankName": "Bank Mandiri"
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985553313-135f4e32e580",
        "first_seen_at": "2026-08-06T03:05:53.313Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-sm-06",
        "reference_id": "qaj-767195b641-sm-06",
        "event_id": "1785985583055-60fb44e5b130",
        "received_at": "2026-08-06T03:06:23.055Z"
      }
    },
    {
      "id": "1785985581801-945e83ba03b6",
      "trace_id": "trace_7b709dcb42fe",
      "received_at": "2026-08-06T03:06:21.801Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_27953253a98b00c297e68200bab3367e",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_27953253a98b00c297e68200bab3367e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"934969741500144\",\"displayNa\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad33e3bb6842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "921",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_21519d45c9204e7e8309629e312684c7\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:20.000+07:00\",\"paymentId\":\"PAY_27953253a98b00c297e68200bab3367e\",\"bankShortCode\":\"BRI\",\"accountNo\":\"934969741500144\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_27953253a98b00c297e68200bab3367e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"934969741500144\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:20.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_27953253a98b00c297e68200bab3367e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"934969741500144\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_21519d45c9204e7e8309629e312684c7",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:06:20.000+07:00",
            "paymentId": "PAY_27953253a98b00c297e68200bab3367e",
            "bankShortCode": "BRI",
            "accountNo": "934969741500144",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_27953253a98b00c297e68200bab3367e",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "934969741500144",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:06:20.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_27953253a98b00c297e68200bab3367e",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "934969741500144",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985580515-dbd05045a67a",
        "first_seen_at": "2026-08-06T03:06:20.515Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-08",
        "reference_id": "qaj-767195b641-va-08",
        "event_id": "1785985581801-945e83ba03b6",
        "received_at": "2026-08-06T03:06:21.801Z"
      }
    },
    {
      "id": "1785985578632-0a038d35c636",
      "trace_id": "trace_2b782b572f0f",
      "received_at": "2026-08-06T03:06:18.632Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-07",
      "reference_key": "referenceId",
      "transaction_id": "PAY_4da5cd29d5a80243f3cdbb29519cedfc",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_4da5cd29d5a80243f3cdbb29519cedfc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8975787746565729\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad32a6ad8842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_8af2aad5722b481d816abf4ac60b4d59\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:17.000+07:00\",\"paymentId\":\"PAY_4da5cd29d5a80243f3cdbb29519cedfc\",\"bankShortCode\":\"BRI\",\"accountNo\":\"8975787746565729\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_4da5cd29d5a80243f3cdbb29519cedfc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8975787746565729\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:17.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_4da5cd29d5a80243f3cdbb29519cedfc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8975787746565729\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_8af2aad5722b481d816abf4ac60b4d59",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-07",
            "amount": "10007",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:06:17.000+07:00",
            "paymentId": "PAY_4da5cd29d5a80243f3cdbb29519cedfc",
            "bankShortCode": "BRI",
            "accountNo": "8975787746565729",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_4da5cd29d5a80243f3cdbb29519cedfc",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "8975787746565729",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-07",
              "amount": "10007",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:06:17.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_4da5cd29d5a80243f3cdbb29519cedfc",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "8975787746565729",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985577465-30acc8185a36",
        "first_seen_at": "2026-08-06T03:06:17.465Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-07",
        "reference_id": "qaj-767195b641-va-07",
        "event_id": "1785985578632-0a038d35c636",
        "received_at": "2026-08-06T03:06:18.632Z"
      }
    },
    {
      "id": "1785985575464-200dead5b0ef",
      "trace_id": "trace_7b6219d2d338",
      "received_at": "2026-08-06T03:06:15.464Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-06",
      "reference_key": "referenceId",
      "transaction_id": "PAY_59ea5744103b5dd4309373f171259d63",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10006",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_59ea5744103b5dd4309373f171259d63\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1179701792900182\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad316aec8842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_da205cd6c1fe4db096ad16af45128bf5\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-06\",\"amount\":\"10006\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:14.000+07:00\",\"paymentId\":\"PAY_59ea5744103b5dd4309373f171259d63\",\"bankShortCode\":\"BRI\",\"accountNo\":\"1179701792900182\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_59ea5744103b5dd4309373f171259d63\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1179701792900182\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-06\",\"amount\":\"10006\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:14.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_59ea5744103b5dd4309373f171259d63\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1179701792900182\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_da205cd6c1fe4db096ad16af45128bf5",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-06",
            "amount": "10006",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:06:14.000+07:00",
            "paymentId": "PAY_59ea5744103b5dd4309373f171259d63",
            "bankShortCode": "BRI",
            "accountNo": "1179701792900182",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_59ea5744103b5dd4309373f171259d63",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "1179701792900182",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-06",
              "amount": "10006",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:06:14.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_59ea5744103b5dd4309373f171259d63",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "1179701792900182",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985574447-5e1c31ea3fd0",
        "first_seen_at": "2026-08-06T03:06:14.447Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-06",
        "reference_id": "qaj-767195b641-va-06",
        "event_id": "1785985575464-200dead5b0ef",
        "received_at": "2026-08-06T03:06:15.464Z"
      }
    },
    {
      "id": "1785985572306-27225a96c101",
      "trace_id": "trace_ce987e6e429a",
      "received_at": "2026-08-06T03:06:12.306Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-05",
      "reference_key": "referenceId",
      "transaction_id": "PAY_f4f2ea969fe7a56859e5fcf0d7383c9f",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_f4f2ea969fe7a56859e5fcf0d7383c9f\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4514836370822647\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad302ebd3842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_33f66f18969641b28e1fc9fc49932c81\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:11.000+07:00\",\"paymentId\":\"PAY_f4f2ea969fe7a56859e5fcf0d7383c9f\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4514836370822647\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_f4f2ea969fe7a56859e5fcf0d7383c9f\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4514836370822647\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:11.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_f4f2ea969fe7a56859e5fcf0d7383c9f\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4514836370822647\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_33f66f18969641b28e1fc9fc49932c81",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-05",
            "amount": "10005",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:06:11.000+07:00",
            "paymentId": "PAY_f4f2ea969fe7a56859e5fcf0d7383c9f",
            "bankShortCode": "BRI",
            "accountNo": "4514836370822647",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_f4f2ea969fe7a56859e5fcf0d7383c9f",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4514836370822647",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-05",
              "amount": "10005",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:06:11.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_f4f2ea969fe7a56859e5fcf0d7383c9f",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4514836370822647",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985571423-ecac2765c808",
        "first_seen_at": "2026-08-06T03:06:11.423Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-05",
        "reference_id": "qaj-767195b641-va-05",
        "event_id": "1785985572306-27225a96c101",
        "received_at": "2026-08-06T03:06:12.306Z"
      }
    },
    {
      "id": "1785985570191-3e25d98427e0",
      "trace_id": "trace_d4ddfd225926",
      "received_at": "2026-08-06T03:06:10.191Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-04",
      "reference_key": "referenceId",
      "transaction_id": "PAY_873ccaf1c6ae54f1dc54228e3b4711fc",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10004",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_873ccaf1c6ae54f1dc54228e3b4711fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4583887780591769\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad2f5a9c9842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_6c64822768e54230b245d2059a503e7f\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-04\",\"amount\":\"10004\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:08.000+07:00\",\"paymentId\":\"PAY_873ccaf1c6ae54f1dc54228e3b4711fc\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4583887780591769\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_873ccaf1c6ae54f1dc54228e3b4711fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4583887780591769\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-04\",\"amount\":\"10004\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:08.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_873ccaf1c6ae54f1dc54228e3b4711fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4583887780591769\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_6c64822768e54230b245d2059a503e7f",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-04",
            "amount": "10004",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:06:08.000+07:00",
            "paymentId": "PAY_873ccaf1c6ae54f1dc54228e3b4711fc",
            "bankShortCode": "BRI",
            "accountNo": "4583887780591769",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_873ccaf1c6ae54f1dc54228e3b4711fc",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4583887780591769",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-04",
              "amount": "10004",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:06:08.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_873ccaf1c6ae54f1dc54228e3b4711fc",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4583887780591769",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985568402-0e0727c52b14",
        "first_seen_at": "2026-08-06T03:06:08.402Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-04",
        "reference_id": "qaj-767195b641-va-04",
        "event_id": "1785985570191-3e25d98427e0",
        "received_at": "2026-08-06T03:06:10.191Z"
      }
    },
    {
      "id": "1785985567063-8803a38d42d4",
      "trace_id": "trace_916e5d7a7df9",
      "received_at": "2026-08-06T03:06:07.063Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_452c965e7a8b7b16752da5037d77104d",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_452c965e7a8b7b16752da5037d77104d\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6579225785751734\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad2e21c1a842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_0d602b588fbb4b73b99fcc43dfe23fbf\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:05.000+07:00\",\"paymentId\":\"PAY_452c965e7a8b7b16752da5037d77104d\",\"bankShortCode\":\"BRI\",\"accountNo\":\"6579225785751734\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_452c965e7a8b7b16752da5037d77104d\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6579225785751734\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:06:05.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_452c965e7a8b7b16752da5037d77104d\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6579225785751734\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_0d602b588fbb4b73b99fcc43dfe23fbf",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:06:05.000+07:00",
            "paymentId": "PAY_452c965e7a8b7b16752da5037d77104d",
            "bankShortCode": "BRI",
            "accountNo": "6579225785751734",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_452c965e7a8b7b16752da5037d77104d",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "6579225785751734",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:06:05.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_452c965e7a8b7b16752da5037d77104d",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "6579225785751734",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985564797-9ee6120b972a",
        "first_seen_at": "2026-08-06T03:06:04.797Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-03",
        "reference_id": "qaj-767195b641-va-03",
        "event_id": "1785985567063-8803a38d42d4",
        "received_at": "2026-08-06T03:06:07.063Z"
      }
    },
    {
      "id": "1785985563648-6bd86aeb02c2",
      "trace_id": "trace_0817d9cab95c",
      "received_at": "2026-08-06T03:06:03.648Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-02",
      "reference_key": "referenceId",
      "transaction_id": "PAY_def98a3dce760a7d7efd83e4da68977c",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_def98a3dce760a7d7efd83e4da68977c\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6001498148857330\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad2cccea9842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_baabec063baa4280b4b4280a02ffe096\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:05:59.000+07:00\",\"paymentId\":\"PAY_def98a3dce760a7d7efd83e4da68977c\",\"bankShortCode\":\"BRI\",\"accountNo\":\"6001498148857330\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_def98a3dce760a7d7efd83e4da68977c\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6001498148857330\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:05:59.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_def98a3dce760a7d7efd83e4da68977c\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6001498148857330\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_baabec063baa4280b4b4280a02ffe096",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-02",
            "amount": "10002",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:05:59.000+07:00",
            "paymentId": "PAY_def98a3dce760a7d7efd83e4da68977c",
            "bankShortCode": "BRI",
            "accountNo": "6001498148857330",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_def98a3dce760a7d7efd83e4da68977c",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "6001498148857330",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-02",
              "amount": "10002",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:05:59.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_def98a3dce760a7d7efd83e4da68977c",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "6001498148857330",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985559683-28f75317c616",
        "first_seen_at": "2026-08-06T03:05:59.683Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-02",
        "reference_id": "qaj-767195b641-va-02",
        "event_id": "1785985563648-6bd86aeb02c2",
        "received_at": "2026-08-06T03:06:03.648Z"
      }
    },
    {
      "id": "1785985557661-63310cca7b21",
      "trace_id": "trace_81152b4ecd38",
      "received_at": "2026-08-06T03:05:57.661Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-767195b641-va-01",
      "reference_key": "referenceId",
      "transaction_id": "PAY_a6fd17026feba1f1e9c04660b6b4047a",
      "transaction_id_key": "paymentId",
      "status": "paid",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_a6fd17026feba1f1e9c04660b6b4047a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2148239890537273\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a26ad2a75b6c842c",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "924",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_8b0c5c259d0f4f088674441934d07308\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-767195b641-va-01\",\"amount\":\"10001\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:05:56.000+07:00\",\"paymentId\":\"PAY_a6fd17026feba1f1e9c04660b6b4047a\",\"bankShortCode\":\"BRI\",\"accountNo\":\"2148239890537273\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_a6fd17026feba1f1e9c04660b6b4047a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2148239890537273\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-767195b641-va-01\",\"amount\":\"10001\",\"feeAmount\":\"3500\",\"status\":\"paid\",\"createdAt\":\"2026-08-06T10:05:56.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_a6fd17026feba1f1e9c04660b6b4047a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2148239890537273\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_8b0c5c259d0f4f088674441934d07308",
            "type": "virtual_account",
            "referenceId": "qaj-767195b641-va-01",
            "amount": "10001",
            "feeAmount": "3500",
            "status": "paid",
            "createdAt": "2026-08-06T10:05:56.000+07:00",
            "paymentId": "PAY_a6fd17026feba1f1e9c04660b6b4047a",
            "bankShortCode": "BRI",
            "accountNo": "2148239890537273",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_a6fd17026feba1f1e9c04660b6b4047a",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "2148239890537273",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-767195b641-va-01",
              "amount": "10001",
              "feeAmount": "3500",
              "status": "paid",
              "createdAt": "2026-08-06T10:05:56.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_a6fd17026feba1f1e9c04660b6b4047a",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "2148239890537273",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 2,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785985556608-14991124ba52",
        "first_seen_at": "2026-08-06T03:05:56.608Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-767195b641-va-01",
        "reference_id": "qaj-767195b641-va-01",
        "event_id": "1785985557661-63310cca7b21",
        "received_at": "2026-08-06T03:05:57.661Z"
      }
    },
    {
      "id": "1785972905738-7860c5754360",
      "trace_id": "trace_0cff16c43535",
      "received_at": "2026-08-05T23:35:05.738Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-d1a7389077-va-10",
      "reference_key": "referenceId",
      "transaction_id": "PAY_8bf619a3cd0bec6bda424f926ceb837d",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_8bf619a3cd0bec6bda424f926ceb837d\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9723773044422611\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a2699dc4de873fb3",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_5849df6cd7af400e8b7edca75babd877\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-d1a7389077-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-05T22:18:26.000+07:00\",\"paymentId\":\"PAY_8bf619a3cd0bec6bda424f926ceb837d\",\"bankShortCode\":\"BRI\",\"accountNo\":\"9723773044422611\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_8bf619a3cd0bec6bda424f926ceb837d\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9723773044422611\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-d1a7389077-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-05T22:18:26.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_8bf619a3cd0bec6bda424f926ceb837d\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9723773044422611\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_5849df6cd7af400e8b7edca75babd877",
            "type": "virtual_account",
            "referenceId": "qaj-d1a7389077-va-10",
            "amount": "10010",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-05T22:18:26.000+07:00",
            "paymentId": "PAY_8bf619a3cd0bec6bda424f926ceb837d",
            "bankShortCode": "BRI",
            "accountNo": "9723773044422611",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_8bf619a3cd0bec6bda424f926ceb837d",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "9723773044422611",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-d1a7389077-va-10",
              "amount": "10010",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-05T22:18:26.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_8bf619a3cd0bec6bda424f926ceb837d",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "9723773044422611",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943106964-cfb9276491ae",
        "first_seen_at": "2026-08-05T15:18:26.964Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-va-10",
        "reference_id": "qaj-d1a7389077-va-10",
        "event_id": "1785972905738-7860c5754360",
        "received_at": "2026-08-05T23:35:05.738Z"
      }
    },
    {
      "id": "1785972905637-07e3aa294675",
      "trace_id": "trace_6c799d57289a",
      "received_at": "2026-08-05T23:35:05.637Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-d1a7389077-va-05",
      "reference_key": "referenceId",
      "transaction_id": "PAY_82a13eb339504c76949ae25457d9d52a",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_82a13eb339504c76949ae25457d9d52a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6551911907842089\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a2699dc43e263fb3",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_ff8713c78f554e58bb68fed3aca801c8\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-d1a7389077-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-05T22:17:57.000+07:00\",\"paymentId\":\"PAY_82a13eb339504c76949ae25457d9d52a\",\"bankShortCode\":\"BRI\",\"accountNo\":\"6551911907842089\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_82a13eb339504c76949ae25457d9d52a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6551911907842089\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-d1a7389077-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-05T22:17:57.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_82a13eb339504c76949ae25457d9d52a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6551911907842089\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_ff8713c78f554e58bb68fed3aca801c8",
            "type": "virtual_account",
            "referenceId": "qaj-d1a7389077-va-05",
            "amount": "10005",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-05T22:17:57.000+07:00",
            "paymentId": "PAY_82a13eb339504c76949ae25457d9d52a",
            "bankShortCode": "BRI",
            "accountNo": "6551911907842089",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_82a13eb339504c76949ae25457d9d52a",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "6551911907842089",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-d1a7389077-va-05",
              "amount": "10005",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-05T22:17:57.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_82a13eb339504c76949ae25457d9d52a",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "6551911907842089",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943078452-fdb1ed6378ea",
        "first_seen_at": "2026-08-05T15:17:58.452Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-va-05",
        "reference_id": "qaj-d1a7389077-va-05",
        "event_id": "1785972905637-07e3aa294675",
        "received_at": "2026-08-05T23:35:05.637Z"
      }
    },
    {
      "id": "1785972903954-7de85c75e779",
      "trace_id": "trace_77d8a3a3d5be",
      "received_at": "2026-08-05T23:35:03.951Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-2c6fac45bd-va-02",
      "reference_key": "referenceId",
      "transaction_id": "PAY_b439dabf7d62a8112de601869db60fe9",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_b439dabf7d62a8112de601869db60fe9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"691615249805140\",\"displayNa\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a2699db9af6a3fb3",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "931",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_58b6fd2800144a2db4806a9df1c798f3\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-2c6fac45bd-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:36:51.000+07:00\",\"paymentId\":\"PAY_b439dabf7d62a8112de601869db60fe9\",\"bankShortCode\":\"BRI\",\"accountNo\":\"691615249805140\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_b439dabf7d62a8112de601869db60fe9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"691615249805140\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-2c6fac45bd-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:36:51.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_b439dabf7d62a8112de601869db60fe9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"691615249805140\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_58b6fd2800144a2db4806a9df1c798f3",
            "type": "virtual_account",
            "referenceId": "qaj-2c6fac45bd-va-02",
            "amount": "10002",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:36:51.000+07:00",
            "paymentId": "PAY_b439dabf7d62a8112de601869db60fe9",
            "bankShortCode": "BRI",
            "accountNo": "691615249805140",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_b439dabf7d62a8112de601869db60fe9",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "691615249805140",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-2c6fac45bd-va-02",
              "amount": "10002",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:36:51.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_b439dabf7d62a8112de601869db60fe9",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "691615249805140",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785953409981-c4c6b1347512",
      "trace_id": "trace_5707ddccf841",
      "received_at": "2026-08-05T18:10:09.981Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-03",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1cc5c60a550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_cfedbbc01cff4e1e8b1e61ee7ad7302c\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-03\",\"amount\":10003,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:40.956+07:00\",\"paidAt\":\"2026-08-05T15:18:41.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_cfedbbc01cff4e1e8b1e61ee7ad7302c",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-03",
            "amount": 10003,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:40.956+07:00",
            "paidAt": "2026-08-05T15:18:41.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943121489-2fa03b9415b3",
        "first_seen_at": "2026-08-05T15:18:41.489Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-03",
        "reference_id": "qaj-d1a7389077-qr-03",
        "event_id": "1785953409981-c4c6b1347512",
        "received_at": "2026-08-05T18:10:09.981Z"
      }
    },
    {
      "id": "1785953408966-2ce1fb0fa02d",
      "trace_id": "trace_6dd0f74b5d2f",
      "received_at": "2026-08-05T18:10:08.966Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-09",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1c60e66a550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_f557dd3992554c4ebdb17c340aa42805\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-09\",\"amount\":10009,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:57.065+07:00\",\"paidAt\":\"2026-08-05T15:18:58.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_f557dd3992554c4ebdb17c340aa42805",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-09",
            "amount": 10009,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:57.065+07:00",
            "paidAt": "2026-08-05T15:18:58.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943138384-181da23ec3c4",
        "first_seen_at": "2026-08-05T15:18:58.384Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-09",
        "reference_id": "qaj-d1a7389077-qr-09",
        "event_id": "1785953408966-2ce1fb0fa02d",
        "received_at": "2026-08-05T18:10:08.966Z"
      }
    },
    {
      "id": "1785953408023-1846e9e06344",
      "trace_id": "trace_f24ebd2894e2",
      "received_at": "2026-08-05T18:10:08.023Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-07",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1c0199da550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_536fede5175e4a8d8a45aba0f6658479\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-07\",\"amount\":10007,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:52.568+07:00\",\"paidAt\":\"2026-08-05T15:18:52.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_536fede5175e4a8d8a45aba0f6658479",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-07",
            "amount": 10007,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:52.568+07:00",
            "paidAt": "2026-08-05T15:18:52.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943133114-67fc6a983a15",
        "first_seen_at": "2026-08-05T15:18:53.114Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-07",
        "reference_id": "qaj-d1a7389077-qr-07",
        "event_id": "1785953408023-1846e9e06344",
        "received_at": "2026-08-05T18:10:08.023Z"
      }
    },
    {
      "id": "1785953406956-25b502abe765",
      "trace_id": "trace_2b8857e08a90",
      "received_at": "2026-08-05T18:10:06.956Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-04",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10004",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1b97ac6a550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_71341ad140d343ea8ce2d81ccb0ee347\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-04\",\"amount\":10004,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:44.053+07:00\",\"paidAt\":\"2026-08-05T15:18:44.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_71341ad140d343ea8ce2d81ccb0ee347",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-04",
            "amount": 10004,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:44.053+07:00",
            "paidAt": "2026-08-05T15:18:44.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943124670-04fe3bce6352",
        "first_seen_at": "2026-08-05T15:18:44.670Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-04",
        "reference_id": "qaj-d1a7389077-qr-04",
        "event_id": "1785953406956-25b502abe765",
        "received_at": "2026-08-05T18:10:06.956Z"
      }
    },
    {
      "id": "1785953405974-b85cd4d523b0",
      "trace_id": "trace_8da59ef8da14",
      "received_at": "2026-08-05T18:10:05.974Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-08",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1b35c38a550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_a3b3b2214b24421bb11e7b42741a447f\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-08\",\"amount\":10008,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:55.761+07:00\",\"paidAt\":\"2026-08-05T15:18:56.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_a3b3b2214b24421bb11e7b42741a447f",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-08",
            "amount": 10008,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:55.761+07:00",
            "paidAt": "2026-08-05T15:18:56.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943136278-f7bfb0a2a06d",
        "first_seen_at": "2026-08-05T15:18:56.278Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-08",
        "reference_id": "qaj-d1a7389077-qr-08",
        "event_id": "1785953405974-b85cd4d523b0",
        "received_at": "2026-08-05T18:10:05.974Z"
      }
    },
    {
      "id": "1785953404958-ef41ca62f3d4",
      "trace_id": "trace_135a6717eb0c",
      "received_at": "2026-08-05T18:10:04.958Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-05",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1acfcb7a550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_eb8e954b77f24c468c0b8e8642177771\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-05\",\"amount\":10005,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:45.548+07:00\",\"paidAt\":\"2026-08-05T15:18:46.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_eb8e954b77f24c468c0b8e8642177771",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-05",
            "amount": 10005,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:45.548+07:00",
            "paidAt": "2026-08-05T15:18:46.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943126765-b683d21d7a10",
        "first_seen_at": "2026-08-05T15:18:46.765Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-05",
        "reference_id": "qaj-d1a7389077-qr-05",
        "event_id": "1785953404958-ef41ca62f3d4",
        "received_at": "2026-08-05T18:10:04.958Z"
      }
    },
    {
      "id": "1785953404248-f123a2153e7f",
      "trace_id": "trace_3a6d235c14e5",
      "received_at": "2026-08-05T18:10:04.248Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-02",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1a88a6fa550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_0b09e3af8c634ceabeabc27684c14cf3\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-02\",\"amount\":10002,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:35.686+07:00\",\"paidAt\":\"2026-08-05T15:18:37.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_0b09e3af8c634ceabeabc27684c14cf3",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-02",
            "amount": 10002,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:35.686+07:00",
            "paidAt": "2026-08-05T15:18:37.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943117274-870ef1ba89a8",
        "first_seen_at": "2026-08-05T15:18:37.274Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-02",
        "reference_id": "qaj-d1a7389077-qr-02",
        "event_id": "1785953404248-f123a2153e7f",
        "received_at": "2026-08-05T18:10:04.248Z"
      }
    },
    {
      "id": "1785953403486-eaa23361b4e3",
      "trace_id": "trace_913842fa95d3",
      "received_at": "2026-08-05T18:10:03.486Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-06",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10006",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1a3c871a550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_1f3bd1a3a1674fe0b7595935998fbe7e\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-06\",\"amount\":10006,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:48.939+07:00\",\"paidAt\":\"2026-08-05T15:18:49.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_1f3bd1a3a1674fe0b7595935998fbe7e",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-06",
            "amount": 10006,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:48.939+07:00",
            "paidAt": "2026-08-05T15:18:49.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943129952-557d1f230347",
        "first_seen_at": "2026-08-05T15:18:49.952Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-06",
        "reference_id": "qaj-d1a7389077-qr-06",
        "event_id": "1785953403486-eaa23361b4e3",
        "received_at": "2026-08-05T18:10:03.486Z"
      }
    },
    {
      "id": "1785953402384-da056b35b7b1",
      "trace_id": "trace_308f88c2d46f",
      "received_at": "2026-08-05T18:10:02.384Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-01",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c19cdfdaa550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_eb278c00257343f8824d714216aa3d5c\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-01\",\"amount\":10001,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:18:29.708+07:00\",\"paidAt\":\"2026-08-05T15:18:30.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_eb278c00257343f8824d714216aa3d5c",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-01",
            "amount": 10001,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:18:29.708+07:00",
            "paidAt": "2026-08-05T15:18:30.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943110928-7b591d1a9a9c",
        "first_seen_at": "2026-08-05T15:18:30.928Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-01",
        "reference_id": "qaj-d1a7389077-qr-01",
        "event_id": "1785953402384-da056b35b7b1",
        "received_at": "2026-08-05T18:10:02.384Z"
      }
    },
    {
      "id": "1785953401212-075ef1241a02",
      "trace_id": "trace_849a87964870",
      "received_at": "2026-08-05T18:10:01.212Z",
      "method": "POST",
      "path": "/callbacks/qris",
      "service": "qris",
      "service_name": "QR Code Callback",
      "url": "https://test.sagad.net/callbacks/qris",
      "reference_id": "qaj-d1a7389077-qr-10",
      "reference_key": "referenceId",
      "transaction_id": null,
      "transaction_id_key": null,
      "status": "COMPLETED",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": null,
      "provider_key": null,
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a267c1957dbea550",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "293",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"QR_618d619eea31485c9e294a6a0e3dd177\",\"type\":\"qris\",\"referenceId\":\"qaj-d1a7389077-qr-10\",\"amount\":10010,\"feeAmount\":60,\"status\":\"COMPLETED\",\"createdAt\":\"2026-08-05T22:19:06.587+07:00\",\"paidAt\":\"2026-08-05T15:19:07.000+07:00\",\"qrisType\":\"DYNAMIC\",\"merchant\":\"\",\"merchantNmid\":\"\"}}",
        "parsed": {
          "data": {
            "id": "QR_618d619eea31485c9e294a6a0e3dd177",
            "type": "qris",
            "referenceId": "qaj-d1a7389077-qr-10",
            "amount": 10010,
            "feeAmount": 60,
            "status": "COMPLETED",
            "createdAt": "2026-08-05T22:19:06.587+07:00",
            "paidAt": "2026-08-05T15:19:07.000+07:00",
            "qrisType": "DYNAMIC",
            "merchant": "",
            "merchantNmid": ""
          }
        }
      },
      "callback_attempt": 3,
      "replay": {
        "status": "possible_replay_or_retry",
        "duplicate_reference": true,
        "duplicate_payload": false,
        "related_event_id": "1785943147915-ad7cec1b53d5",
        "first_seen_at": "2026-08-05T15:19:07.915Z"
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d1a7389077-qr-10",
        "reference_id": "qaj-d1a7389077-qr-10",
        "event_id": "1785953401212-075ef1241a02",
        "received_at": "2026-08-05T18:10:01.212Z"
      }
    },
    {
      "id": "1785945011801-338add545ade",
      "trace_id": "trace_5d0290da5269",
      "received_at": "2026-08-05T15:50:11.801Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-456b4dc790-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_6f3251505e650c052f1e1fd887727df5",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_6f3251505e650c052f1e1fd887727df5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7328736835576428\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4c3bb4affcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_0b564219652e466793e97e6007ed1503\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-456b4dc790-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:25.000+07:00\",\"paymentId\":\"PAY_6f3251505e650c052f1e1fd887727df5\",\"bankShortCode\":\"BRI\",\"accountNo\":\"7328736835576428\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_6f3251505e650c052f1e1fd887727df5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7328736835576428\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-456b4dc790-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:25.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_6f3251505e650c052f1e1fd887727df5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7328736835576428\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_0b564219652e466793e97e6007ed1503",
            "type": "virtual_account",
            "referenceId": "qaj-456b4dc790-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:39:25.000+07:00",
            "paymentId": "PAY_6f3251505e650c052f1e1fd887727df5",
            "bankShortCode": "BRI",
            "accountNo": "7328736835576428",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_6f3251505e650c052f1e1fd887727df5",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "7328736835576428",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-456b4dc790-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:39:25.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_6f3251505e650c052f1e1fd887727df5",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "7328736835576428",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-456b4dc790-va-08",
        "reference_id": "qaj-456b4dc790-va-08",
        "event_id": "1785945011801-338add545ade",
        "received_at": "2026-08-05T15:50:11.801Z"
      }
    },
    {
      "id": "1785945011395-5aa72573be77",
      "trace_id": "trace_cd3bdbc3c31c",
      "received_at": "2026-08-05T15:50:11.395Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-b08a930fbb-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_3d3b9521847ca8e8a1c33c016380697e",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_3d3b9521847ca8e8a1c33c016380697e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9131751516124652\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4c13ac2ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_984a954cd3a44668b7df859bbc763494\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-b08a930fbb-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:31.000+07:00\",\"paymentId\":\"PAY_3d3b9521847ca8e8a1c33c016380697e\",\"bankShortCode\":\"BRI\",\"accountNo\":\"9131751516124652\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_3d3b9521847ca8e8a1c33c016380697e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9131751516124652\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-b08a930fbb-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:31.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_3d3b9521847ca8e8a1c33c016380697e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9131751516124652\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_984a954cd3a44668b7df859bbc763494",
            "type": "virtual_account",
            "referenceId": "qaj-b08a930fbb-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T10:08:31.000+07:00",
            "paymentId": "PAY_3d3b9521847ca8e8a1c33c016380697e",
            "bankShortCode": "BRI",
            "accountNo": "9131751516124652",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_3d3b9521847ca8e8a1c33c016380697e",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "9131751516124652",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-b08a930fbb-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T10:08:31.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_3d3b9521847ca8e8a1c33c016380697e",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "9131751516124652",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-b08a930fbb-va-08",
        "reference_id": "qaj-b08a930fbb-va-08",
        "event_id": "1785945011395-5aa72573be77",
        "received_at": "2026-08-05T15:50:11.395Z"
      }
    },
    {
      "id": "1785945011192-32b2c3a6413a",
      "trace_id": "trace_427737e9e1e1",
      "received_at": "2026-08-05T15:50:11.192Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-b08a930fbb-va-02",
      "reference_key": "referenceId",
      "transaction_id": "PAY_07283853a80656876d1c98af850b39a5",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_07283853a80656876d1c98af850b39a5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6093166668282791\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4bfeeafffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_c31a0002c9084080942737be3e38d614\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-b08a930fbb-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:14.000+07:00\",\"paymentId\":\"PAY_07283853a80656876d1c98af850b39a5\",\"bankShortCode\":\"BRI\",\"accountNo\":\"6093166668282791\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_07283853a80656876d1c98af850b39a5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6093166668282791\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-b08a930fbb-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:14.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_07283853a80656876d1c98af850b39a5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6093166668282791\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_c31a0002c9084080942737be3e38d614",
            "type": "virtual_account",
            "referenceId": "qaj-b08a930fbb-va-02",
            "amount": "10002",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T10:08:14.000+07:00",
            "paymentId": "PAY_07283853a80656876d1c98af850b39a5",
            "bankShortCode": "BRI",
            "accountNo": "6093166668282791",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_07283853a80656876d1c98af850b39a5",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "6093166668282791",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-b08a930fbb-va-02",
              "amount": "10002",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T10:08:14.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_07283853a80656876d1c98af850b39a5",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "6093166668282791",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-b08a930fbb-va-02",
        "reference_id": "qaj-b08a930fbb-va-02",
        "event_id": "1785945011192-32b2c3a6413a",
        "received_at": "2026-08-05T15:50:11.192Z"
      }
    },
    {
      "id": "1785945010949-62ae56f4ec1f",
      "trace_id": "trace_0547f3fdfcc9",
      "received_at": "2026-08-05T15:50:10.949Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-456b4dc790-va-09",
      "reference_key": "referenceId",
      "transaction_id": "PAY_07f2a9613289d48fa208f98053ef7ec1",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_07f2a9613289d48fa208f98053ef7ec1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6052016873321613\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4be69eaffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_7ea9c88b9814410990e6c01823344541\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-456b4dc790-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:28.000+07:00\",\"paymentId\":\"PAY_07f2a9613289d48fa208f98053ef7ec1\",\"bankShortCode\":\"BRI\",\"accountNo\":\"6052016873321613\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_07f2a9613289d48fa208f98053ef7ec1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6052016873321613\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-456b4dc790-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:28.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_07f2a9613289d48fa208f98053ef7ec1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6052016873321613\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_7ea9c88b9814410990e6c01823344541",
            "type": "virtual_account",
            "referenceId": "qaj-456b4dc790-va-09",
            "amount": "10009",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:39:28.000+07:00",
            "paymentId": "PAY_07f2a9613289d48fa208f98053ef7ec1",
            "bankShortCode": "BRI",
            "accountNo": "6052016873321613",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_07f2a9613289d48fa208f98053ef7ec1",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "6052016873321613",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-456b4dc790-va-09",
              "amount": "10009",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:39:28.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_07f2a9613289d48fa208f98053ef7ec1",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "6052016873321613",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785945010856-52ca9b147d73",
      "trace_id": "trace_590452a2d6af",
      "received_at": "2026-08-05T15:50:10.856Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-456b4dc790-va-10",
      "reference_key": "referenceId",
      "transaction_id": "PAY_57d44e6cf7de819d50da94bd5921c6bd",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_57d44e6cf7de819d50da94bd5921c6bd\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7263855143603727\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4bdd829ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_e1ddfcb448304221a1f988d65550b7dd\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-456b4dc790-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:31.000+07:00\",\"paymentId\":\"PAY_57d44e6cf7de819d50da94bd5921c6bd\",\"bankShortCode\":\"BRI\",\"accountNo\":\"7263855143603727\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_57d44e6cf7de819d50da94bd5921c6bd\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7263855143603727\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-456b4dc790-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:31.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_57d44e6cf7de819d50da94bd5921c6bd\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7263855143603727\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_e1ddfcb448304221a1f988d65550b7dd",
            "type": "virtual_account",
            "referenceId": "qaj-456b4dc790-va-10",
            "amount": "10010",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:39:31.000+07:00",
            "paymentId": "PAY_57d44e6cf7de819d50da94bd5921c6bd",
            "bankShortCode": "BRI",
            "accountNo": "7263855143603727",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_57d44e6cf7de819d50da94bd5921c6bd",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "7263855143603727",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-456b4dc790-va-10",
              "amount": "10010",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:39:31.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_57d44e6cf7de819d50da94bd5921c6bd",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "7263855143603727",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785945010245-226ca4afb0f2",
      "trace_id": "trace_332d53219bfa",
      "received_at": "2026-08-05T15:50:10.245Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-b08a930fbb-va-10",
      "reference_key": "referenceId",
      "transaction_id": "PAY_6ab9899b9c29ea59ffeaef82eafdbcc0",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_6ab9899b9c29ea59ffeaef82eafdbcc0\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6470597463317732\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4ba0cadffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_ef67e147222f4c42b3df364b2035c042\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-b08a930fbb-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:37.000+07:00\",\"paymentId\":\"PAY_6ab9899b9c29ea59ffeaef82eafdbcc0\",\"bankShortCode\":\"BRI\",\"accountNo\":\"6470597463317732\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_6ab9899b9c29ea59ffeaef82eafdbcc0\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6470597463317732\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-b08a930fbb-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:37.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_6ab9899b9c29ea59ffeaef82eafdbcc0\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"6470597463317732\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_ef67e147222f4c42b3df364b2035c042",
            "type": "virtual_account",
            "referenceId": "qaj-b08a930fbb-va-10",
            "amount": "10010",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T10:08:37.000+07:00",
            "paymentId": "PAY_6ab9899b9c29ea59ffeaef82eafdbcc0",
            "bankShortCode": "BRI",
            "accountNo": "6470597463317732",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_6ab9899b9c29ea59ffeaef82eafdbcc0",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "6470597463317732",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-b08a930fbb-va-10",
              "amount": "10010",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T10:08:37.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_6ab9899b9c29ea59ffeaef82eafdbcc0",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "6470597463317732",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-b08a930fbb-va-10",
        "reference_id": "qaj-b08a930fbb-va-10",
        "event_id": "1785945010245-226ca4afb0f2",
        "received_at": "2026-08-05T15:50:10.245Z"
      }
    },
    {
      "id": "1785945009958-353a72f7e957",
      "trace_id": "trace_f8eeb84bb415",
      "received_at": "2026-08-05T15:50:09.958Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-be447bbd11-va-05",
      "reference_key": "referenceId",
      "transaction_id": "PAY_8a203bb26844bb713c6a8852320966e3",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_8a203bb26844bb713c6a8852320966e3\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9804786009067930\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4b83f44ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_22327f78d1ec4a348b3d90826bcaf06b\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-be447bbd11-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:23:46.000+07:00\",\"paymentId\":\"PAY_8a203bb26844bb713c6a8852320966e3\",\"bankShortCode\":\"BRI\",\"accountNo\":\"9804786009067930\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_8a203bb26844bb713c6a8852320966e3\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9804786009067930\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-be447bbd11-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:23:46.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_8a203bb26844bb713c6a8852320966e3\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9804786009067930\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_22327f78d1ec4a348b3d90826bcaf06b",
            "type": "virtual_account",
            "referenceId": "qaj-be447bbd11-va-05",
            "amount": "10005",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T21:23:46.000+07:00",
            "paymentId": "PAY_8a203bb26844bb713c6a8852320966e3",
            "bankShortCode": "BRI",
            "accountNo": "9804786009067930",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_8a203bb26844bb713c6a8852320966e3",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "9804786009067930",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-be447bbd11-va-05",
              "amount": "10005",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T21:23:46.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_8a203bb26844bb713c6a8852320966e3",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "9804786009067930",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-be447bbd11-va-05",
        "reference_id": "qaj-be447bbd11-va-05",
        "event_id": "1785945009958-353a72f7e957",
        "received_at": "2026-08-05T15:50:09.958Z"
      }
    },
    {
      "id": "1785945009581-b5381d26f1c2",
      "trace_id": "trace_609484486295",
      "received_at": "2026-08-05T15:50:09.581Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-738cf59da6-va-05",
      "reference_key": "referenceId",
      "transaction_id": "PAY_0a3286f795347be68518e1c09450b673",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_0a3286f795347be68518e1c09450b673\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7425996229619877\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4b5df67ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_8c5d91d7b8ff41c69bb90f1ef1f8ece5\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-738cf59da6-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:41:33.000+07:00\",\"paymentId\":\"PAY_0a3286f795347be68518e1c09450b673\",\"bankShortCode\":\"BRI\",\"accountNo\":\"7425996229619877\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_0a3286f795347be68518e1c09450b673\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7425996229619877\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-738cf59da6-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:41:33.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_0a3286f795347be68518e1c09450b673\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7425996229619877\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_8c5d91d7b8ff41c69bb90f1ef1f8ece5",
            "type": "virtual_account",
            "referenceId": "qaj-738cf59da6-va-05",
            "amount": "10005",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:41:33.000+07:00",
            "paymentId": "PAY_0a3286f795347be68518e1c09450b673",
            "bankShortCode": "BRI",
            "accountNo": "7425996229619877",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_0a3286f795347be68518e1c09450b673",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "7425996229619877",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-738cf59da6-va-05",
              "amount": "10005",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:41:33.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_0a3286f795347be68518e1c09450b673",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "7425996229619877",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-738cf59da6-va-05",
        "reference_id": "qaj-738cf59da6-va-05",
        "event_id": "1785945009581-b5381d26f1c2",
        "received_at": "2026-08-05T15:50:09.581Z"
      }
    },
    {
      "id": "1785945009469-fc2e59af9bc2",
      "trace_id": "trace_83e1c1f21477",
      "received_at": "2026-08-05T15:50:09.459Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-456b4dc790-va-07",
      "reference_key": "referenceId",
      "transaction_id": "PAY_c2b38bfc67a894509e39a37219364ac9",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_c2b38bfc67a894509e39a37219364ac9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1606935821170956\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4b51cafffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_9a465fa5e0ca4ebfa53be75071e8fe2f\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-456b4dc790-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:22.000+07:00\",\"paymentId\":\"PAY_c2b38bfc67a894509e39a37219364ac9\",\"bankShortCode\":\"BRI\",\"accountNo\":\"1606935821170956\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_c2b38bfc67a894509e39a37219364ac9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1606935821170956\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-456b4dc790-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:22.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_c2b38bfc67a894509e39a37219364ac9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1606935821170956\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_9a465fa5e0ca4ebfa53be75071e8fe2f",
            "type": "virtual_account",
            "referenceId": "qaj-456b4dc790-va-07",
            "amount": "10007",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:39:22.000+07:00",
            "paymentId": "PAY_c2b38bfc67a894509e39a37219364ac9",
            "bankShortCode": "BRI",
            "accountNo": "1606935821170956",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_c2b38bfc67a894509e39a37219364ac9",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "1606935821170956",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-456b4dc790-va-07",
              "amount": "10007",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:39:22.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_c2b38bfc67a894509e39a37219364ac9",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "1606935821170956",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785945009322-c98f1425ecea",
      "trace_id": "trace_96fb74764f8a",
      "received_at": "2026-08-05T15:50:09.322Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "checkout_page",
      "service_name": "Checkout Page Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-456b4dc790-co-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_a86495be43a408434092fe9508125fcc",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_a86495be43a408434092fe9508125fcc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8492134017492100\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4b43a27ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "901",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"CL_2dfa81ea05b544e08ecedfaaec320f88\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-456b4dc790-co-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:41:03.000+07:00\",\"paymentId\":\"PAY_a86495be43a408434092fe9508125fcc\",\"bankShortCode\":\"BRI\",\"accountNo\":\"8492134017492100\",\"displayName\":\"BrickQAconne-\",\"paymentMethod\":{\"paymentId\":\"PAY_a86495be43a408434092fe9508125fcc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8492134017492100\",\"displayName\":\"BrickQAconne-\"}},\"attributes\":{\"referenceId\":\"qaj-456b4dc790-co-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:41:03.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_a86495be43a408434092fe9508125fcc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8492134017492100\",\"displayName\":\"BrickQAconne-\"}}}}}",
        "parsed": {
          "data": {
            "id": "CL_2dfa81ea05b544e08ecedfaaec320f88",
            "type": "virtual_account",
            "referenceId": "qaj-456b4dc790-co-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:41:03.000+07:00",
            "paymentId": "PAY_a86495be43a408434092fe9508125fcc",
            "bankShortCode": "BRI",
            "accountNo": "8492134017492100",
            "displayName": "BrickQAconne-",
            "paymentMethod": {
              "paymentId": "PAY_a86495be43a408434092fe9508125fcc",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "8492134017492100",
                "displayName": "BrickQAconne-"
              }
            },
            "attributes": {
              "referenceId": "qaj-456b4dc790-co-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:41:03.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_a86495be43a408434092fe9508125fcc",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "8492134017492100",
                  "displayName": "BrickQAconne-"
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-456b4dc790-co-03",
        "reference_id": "qaj-456b4dc790-co-03",
        "event_id": "1785945009322-c98f1425ecea",
        "received_at": "2026-08-05T15:50:09.322Z"
      }
    },
    {
      "id": "1785945009176-16af4cc790b1",
      "trace_id": "trace_75b475cb788c",
      "received_at": "2026-08-05T15:50:09.176Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-b08a930fbb-va-07",
      "reference_key": "referenceId",
      "transaction_id": "PAY_71e6e1e2d89903ad4dbbeec82c3bea04",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_71e6e1e2d89903ad4dbbeec82c3bea04\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1451288681477838\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4b35f21ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_e59cdcc5d8944a66b721d17f44e40eed\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-b08a930fbb-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:28.000+07:00\",\"paymentId\":\"PAY_71e6e1e2d89903ad4dbbeec82c3bea04\",\"bankShortCode\":\"BRI\",\"accountNo\":\"1451288681477838\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_71e6e1e2d89903ad4dbbeec82c3bea04\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1451288681477838\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-b08a930fbb-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:28.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_71e6e1e2d89903ad4dbbeec82c3bea04\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"1451288681477838\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_e59cdcc5d8944a66b721d17f44e40eed",
            "type": "virtual_account",
            "referenceId": "qaj-b08a930fbb-va-07",
            "amount": "10007",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T10:08:28.000+07:00",
            "paymentId": "PAY_71e6e1e2d89903ad4dbbeec82c3bea04",
            "bankShortCode": "BRI",
            "accountNo": "1451288681477838",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_71e6e1e2d89903ad4dbbeec82c3bea04",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "1451288681477838",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-b08a930fbb-va-07",
              "amount": "10007",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T10:08:28.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_71e6e1e2d89903ad4dbbeec82c3bea04",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "1451288681477838",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785945008731-36600317b69f",
      "trace_id": "trace_c56256057a7a",
      "received_at": "2026-08-05T15:50:08.731Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-456b4dc790-va-01",
      "reference_key": "referenceId",
      "transaction_id": "PAY_2d568c4501dd96beacea7b821b78fcc0",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_2d568c4501dd96beacea7b821b78fcc0\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8155067398887373\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4b07d4dffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_f0038c34e01b4ec18606c83f97ce2700\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-456b4dc790-va-01\",\"amount\":\"10001\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:04.000+07:00\",\"paymentId\":\"PAY_2d568c4501dd96beacea7b821b78fcc0\",\"bankShortCode\":\"BRI\",\"accountNo\":\"8155067398887373\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_2d568c4501dd96beacea7b821b78fcc0\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8155067398887373\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-456b4dc790-va-01\",\"amount\":\"10001\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:39:04.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_2d568c4501dd96beacea7b821b78fcc0\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8155067398887373\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_f0038c34e01b4ec18606c83f97ce2700",
            "type": "virtual_account",
            "referenceId": "qaj-456b4dc790-va-01",
            "amount": "10001",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:39:04.000+07:00",
            "paymentId": "PAY_2d568c4501dd96beacea7b821b78fcc0",
            "bankShortCode": "BRI",
            "accountNo": "8155067398887373",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_2d568c4501dd96beacea7b821b78fcc0",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "8155067398887373",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-456b4dc790-va-01",
              "amount": "10001",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:39:04.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_2d568c4501dd96beacea7b821b78fcc0",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "8155067398887373",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-456b4dc790-va-01",
        "reference_id": "qaj-456b4dc790-va-01",
        "event_id": "1785945008731-36600317b69f",
        "received_at": "2026-08-05T15:50:08.731Z"
      }
    },
    {
      "id": "1785945008603-d3779a0f2f92",
      "trace_id": "trace_9ee54875a01d",
      "received_at": "2026-08-05T15:50:08.603Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-be447bbd11-va-10",
      "reference_key": "referenceId",
      "transaction_id": "PAY_f938e16e02614ef5687b53778b3c9bc7",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_f938e16e02614ef5687b53778b3c9bc7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5072999941618534\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4afbab2ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_0b14230f05384adabfc569bcb86653bd\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-be447bbd11-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:24:02.000+07:00\",\"paymentId\":\"PAY_f938e16e02614ef5687b53778b3c9bc7\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5072999941618534\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_f938e16e02614ef5687b53778b3c9bc7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5072999941618534\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-be447bbd11-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:24:02.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_f938e16e02614ef5687b53778b3c9bc7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5072999941618534\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_0b14230f05384adabfc569bcb86653bd",
            "type": "virtual_account",
            "referenceId": "qaj-be447bbd11-va-10",
            "amount": "10010",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T21:24:02.000+07:00",
            "paymentId": "PAY_f938e16e02614ef5687b53778b3c9bc7",
            "bankShortCode": "BRI",
            "accountNo": "5072999941618534",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_f938e16e02614ef5687b53778b3c9bc7",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5072999941618534",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-be447bbd11-va-10",
              "amount": "10010",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T21:24:02.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_f938e16e02614ef5687b53778b3c9bc7",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5072999941618534",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785945008248-06945de9838d",
      "trace_id": "trace_2c36bf76e4e9",
      "received_at": "2026-08-05T15:50:08.248Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-0779596246-va-09",
      "reference_key": "referenceId",
      "transaction_id": "PAY_d2e8167d122027b8dff21a089495c65e",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_d2e8167d122027b8dff21a089495c65e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8300122036195977\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4ad8c54ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_fee3a91f23b44b42930bc9f468d3d9ca\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-0779596246-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:38:22.000+07:00\",\"paymentId\":\"PAY_d2e8167d122027b8dff21a089495c65e\",\"bankShortCode\":\"BRI\",\"accountNo\":\"8300122036195977\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_d2e8167d122027b8dff21a089495c65e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8300122036195977\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-0779596246-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:38:22.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_d2e8167d122027b8dff21a089495c65e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8300122036195977\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_fee3a91f23b44b42930bc9f468d3d9ca",
            "type": "virtual_account",
            "referenceId": "qaj-0779596246-va-09",
            "amount": "10009",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:38:22.000+07:00",
            "paymentId": "PAY_d2e8167d122027b8dff21a089495c65e",
            "bankShortCode": "BRI",
            "accountNo": "8300122036195977",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_d2e8167d122027b8dff21a089495c65e",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "8300122036195977",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-0779596246-va-09",
              "amount": "10009",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:38:22.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_d2e8167d122027b8dff21a089495c65e",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "8300122036195977",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-0779596246-va-09",
        "reference_id": "qaj-0779596246-va-09",
        "event_id": "1785945008248-06945de9838d",
        "received_at": "2026-08-05T15:50:08.248Z"
      }
    },
    {
      "id": "1785945008077-89b1297f67f4",
      "trace_id": "trace_60ad015449dc",
      "received_at": "2026-08-05T15:50:08.077Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-b08a930fbb-va-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_ae89e46eed15063d8c88b88d8b0dfca9",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_ae89e46eed15063d8c88b88d8b0dfca9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5756113701668770\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4ac78c7ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_4acef4868eef4b669d48c37d11f4b675\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-b08a930fbb-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:17.000+07:00\",\"paymentId\":\"PAY_ae89e46eed15063d8c88b88d8b0dfca9\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5756113701668770\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_ae89e46eed15063d8c88b88d8b0dfca9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5756113701668770\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-b08a930fbb-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T10:08:17.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_ae89e46eed15063d8c88b88d8b0dfca9\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5756113701668770\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_4acef4868eef4b669d48c37d11f4b675",
            "type": "virtual_account",
            "referenceId": "qaj-b08a930fbb-va-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T10:08:17.000+07:00",
            "paymentId": "PAY_ae89e46eed15063d8c88b88d8b0dfca9",
            "bankShortCode": "BRI",
            "accountNo": "5756113701668770",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_ae89e46eed15063d8c88b88d8b0dfca9",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5756113701668770",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-b08a930fbb-va-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T10:08:17.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_ae89e46eed15063d8c88b88d8b0dfca9",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5756113701668770",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-b08a930fbb-va-03",
        "reference_id": "qaj-b08a930fbb-va-03",
        "event_id": "1785945008077-89b1297f67f4",
        "received_at": "2026-08-05T15:50:08.077Z"
      }
    },
    {
      "id": "1785945007793-61a602c4ba80",
      "trace_id": "trace_d681a1e59bd8",
      "received_at": "2026-08-05T15:50:07.793Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "checkout_page",
      "service_name": "Checkout Page Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-738cf59da6-co-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_82144e899928f8a5037edffb9f5d48ba",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_82144e899928f8a5037edffb9f5d48ba\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2057322789387938\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4aaab61ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "901",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"CL_b6a4f33944ee488998b01c069b464040\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-738cf59da6-co-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:43:15.000+07:00\",\"paymentId\":\"PAY_82144e899928f8a5037edffb9f5d48ba\",\"bankShortCode\":\"BRI\",\"accountNo\":\"2057322789387938\",\"displayName\":\"BrickQAconne-\",\"paymentMethod\":{\"paymentId\":\"PAY_82144e899928f8a5037edffb9f5d48ba\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2057322789387938\",\"displayName\":\"BrickQAconne-\"}},\"attributes\":{\"referenceId\":\"qaj-738cf59da6-co-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:43:15.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_82144e899928f8a5037edffb9f5d48ba\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2057322789387938\",\"displayName\":\"BrickQAconne-\"}}}}}",
        "parsed": {
          "data": {
            "id": "CL_b6a4f33944ee488998b01c069b464040",
            "type": "virtual_account",
            "referenceId": "qaj-738cf59da6-co-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:43:15.000+07:00",
            "paymentId": "PAY_82144e899928f8a5037edffb9f5d48ba",
            "bankShortCode": "BRI",
            "accountNo": "2057322789387938",
            "displayName": "BrickQAconne-",
            "paymentMethod": {
              "paymentId": "PAY_82144e899928f8a5037edffb9f5d48ba",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "2057322789387938",
                "displayName": "BrickQAconne-"
              }
            },
            "attributes": {
              "referenceId": "qaj-738cf59da6-co-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:43:15.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_82144e899928f8a5037edffb9f5d48ba",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "2057322789387938",
                  "displayName": "BrickQAconne-"
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-738cf59da6-co-03",
        "reference_id": "qaj-738cf59da6-co-03",
        "event_id": "1785945007793-61a602c4ba80",
        "received_at": "2026-08-05T15:50:07.793Z"
      }
    },
    {
      "id": "1785945007368-70fb2d1c0bd9",
      "trace_id": "trace_7fc92abb2652",
      "received_at": "2026-08-05T15:50:07.368Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-be447bbd11-va-02",
      "reference_key": "referenceId",
      "transaction_id": "PAY_6e6a8b192adc4c7f77b056d49379467b",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_6e6a8b192adc4c7f77b056d49379467b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4894597404452655\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4a80aebffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_d8aaa116f7ed487aba7f0ace691bfa69\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-be447bbd11-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:23:37.000+07:00\",\"paymentId\":\"PAY_6e6a8b192adc4c7f77b056d49379467b\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4894597404452655\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_6e6a8b192adc4c7f77b056d49379467b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4894597404452655\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-be447bbd11-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:23:37.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_6e6a8b192adc4c7f77b056d49379467b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4894597404452655\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_d8aaa116f7ed487aba7f0ace691bfa69",
            "type": "virtual_account",
            "referenceId": "qaj-be447bbd11-va-02",
            "amount": "10002",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T21:23:37.000+07:00",
            "paymentId": "PAY_6e6a8b192adc4c7f77b056d49379467b",
            "bankShortCode": "BRI",
            "accountNo": "4894597404452655",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_6e6a8b192adc4c7f77b056d49379467b",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4894597404452655",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-be447bbd11-va-02",
              "amount": "10002",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T21:23:37.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_6e6a8b192adc4c7f77b056d49379467b",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4894597404452655",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-be447bbd11-va-02",
        "reference_id": "qaj-be447bbd11-va-02",
        "event_id": "1785945007368-70fb2d1c0bd9",
        "received_at": "2026-08-05T15:50:07.368Z"
      }
    },
    {
      "id": "1785945006798-9c55185d25d5",
      "trace_id": "trace_06be7eb56502",
      "received_at": "2026-08-05T15:50:06.798Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-be447bbd11-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_6cd6c017d7d5901a05e439af6dd27a6b",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_6cd6c017d7d5901a05e439af6dd27a6b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8288660737396249\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4a47efdffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_ab104004558b4bc687106aaeb4a158ac\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-be447bbd11-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:23:55.000+07:00\",\"paymentId\":\"PAY_6cd6c017d7d5901a05e439af6dd27a6b\",\"bankShortCode\":\"BRI\",\"accountNo\":\"8288660737396249\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_6cd6c017d7d5901a05e439af6dd27a6b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8288660737396249\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-be447bbd11-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:23:55.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_6cd6c017d7d5901a05e439af6dd27a6b\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8288660737396249\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_ab104004558b4bc687106aaeb4a158ac",
            "type": "virtual_account",
            "referenceId": "qaj-be447bbd11-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T21:23:55.000+07:00",
            "paymentId": "PAY_6cd6c017d7d5901a05e439af6dd27a6b",
            "bankShortCode": "BRI",
            "accountNo": "8288660737396249",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_6cd6c017d7d5901a05e439af6dd27a6b",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "8288660737396249",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-be447bbd11-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T21:23:55.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_6cd6c017d7d5901a05e439af6dd27a6b",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "8288660737396249",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-be447bbd11-va-08",
        "reference_id": "qaj-be447bbd11-va-08",
        "event_id": "1785945006798-9c55185d25d5",
        "received_at": "2026-08-05T15:50:06.798Z"
      }
    },
    {
      "id": "1785945006152-95a7a263baf4",
      "trace_id": "trace_44c8500d012f",
      "received_at": "2026-08-05T15:50:06.152Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "checkout_page",
      "service_name": "Checkout Page Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-be447bbd11-co-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_7fc0755f4416c22bdc4d338b59ffed04",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_7fc0755f4416c22bdc4d338b59ffed04\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4275612439228435\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f4a068a0ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "901",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"CL_089829c78b974c8f966e8af6ca81651f\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-be447bbd11-co-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:25:38.000+07:00\",\"paymentId\":\"PAY_7fc0755f4416c22bdc4d338b59ffed04\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4275612439228435\",\"displayName\":\"BrickQAconne-\",\"paymentMethod\":{\"paymentId\":\"PAY_7fc0755f4416c22bdc4d338b59ffed04\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4275612439228435\",\"displayName\":\"BrickQAconne-\"}},\"attributes\":{\"referenceId\":\"qaj-be447bbd11-co-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:25:38.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_7fc0755f4416c22bdc4d338b59ffed04\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4275612439228435\",\"displayName\":\"BrickQAconne-\"}}}}}",
        "parsed": {
          "data": {
            "id": "CL_089829c78b974c8f966e8af6ca81651f",
            "type": "virtual_account",
            "referenceId": "qaj-be447bbd11-co-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T21:25:38.000+07:00",
            "paymentId": "PAY_7fc0755f4416c22bdc4d338b59ffed04",
            "bankShortCode": "BRI",
            "accountNo": "4275612439228435",
            "displayName": "BrickQAconne-",
            "paymentMethod": {
              "paymentId": "PAY_7fc0755f4416c22bdc4d338b59ffed04",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4275612439228435",
                "displayName": "BrickQAconne-"
              }
            },
            "attributes": {
              "referenceId": "qaj-be447bbd11-co-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T21:25:38.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_7fc0755f4416c22bdc4d338b59ffed04",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4275612439228435",
                  "displayName": "BrickQAconne-"
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-be447bbd11-co-03",
        "reference_id": "qaj-be447bbd11-co-03",
        "event_id": "1785945006152-95a7a263baf4",
        "received_at": "2026-08-05T15:50:06.152Z"
      }
    },
    {
      "id": "1785945006023-3e3f4068f8cc",
      "trace_id": "trace_6a7257e0d23d",
      "received_at": "2026-08-05T15:50:06.023Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-be447bbd11-va-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_961678b13c4cdc56698504430753e601",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_961678b13c4cdc56698504430753e601\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5965832752244124\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266f49f9dd4ffcc",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_bb0a601b8d45418ea5a42082ea3065b7\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-be447bbd11-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:23:40.000+07:00\",\"paymentId\":\"PAY_961678b13c4cdc56698504430753e601\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5965832752244124\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_961678b13c4cdc56698504430753e601\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5965832752244124\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-be447bbd11-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T21:23:40.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_961678b13c4cdc56698504430753e601\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5965832752244124\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_bb0a601b8d45418ea5a42082ea3065b7",
            "type": "virtual_account",
            "referenceId": "qaj-be447bbd11-va-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T21:23:40.000+07:00",
            "paymentId": "PAY_961678b13c4cdc56698504430753e601",
            "bankShortCode": "BRI",
            "accountNo": "5965832752244124",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_961678b13c4cdc56698504430753e601",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5965832752244124",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-be447bbd11-va-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T21:23:40.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_961678b13c4cdc56698504430753e601",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5965832752244124",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944722323-5cf2516649a6",
      "trace_id": "trace_47829af64d14",
      "received_at": "2026-08-05T15:45:22.323Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-cd68a6c800-va-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_cc718fbd598602a23606ba1dbd285a53",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_cc718fbd598602a23606ba1dbd285a53\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4970655311208218\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266edb27c39a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_83e6e95e729341e6bbef1438d21510aa\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-cd68a6c800-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:24:52.000+07:00\",\"paymentId\":\"PAY_cc718fbd598602a23606ba1dbd285a53\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4970655311208218\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_cc718fbd598602a23606ba1dbd285a53\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4970655311208218\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-cd68a6c800-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:24:52.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_cc718fbd598602a23606ba1dbd285a53\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4970655311208218\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_83e6e95e729341e6bbef1438d21510aa",
            "type": "virtual_account",
            "referenceId": "qaj-cd68a6c800-va-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:24:52.000+07:00",
            "paymentId": "PAY_cc718fbd598602a23606ba1dbd285a53",
            "bankShortCode": "BRI",
            "accountNo": "4970655311208218",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_cc718fbd598602a23606ba1dbd285a53",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4970655311208218",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-cd68a6c800-va-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:24:52.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_cc718fbd598602a23606ba1dbd285a53",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4970655311208218",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-cd68a6c800-va-03",
        "reference_id": "qaj-cd68a6c800-va-03",
        "event_id": "1785944722323-5cf2516649a6",
        "received_at": "2026-08-05T15:45:22.323Z"
      }
    },
    {
      "id": "1785944722032-5c8ad1b4ef73",
      "trace_id": "trace_377b3a36f8d6",
      "received_at": "2026-08-05T15:45:22.032Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-7aea1a6e58-va-09",
      "reference_key": "referenceId",
      "transaction_id": "PAY_50ecfa8849a822ce54d1f6557a28b221",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10009",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_50ecfa8849a822ce54d1f6557a28b221\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7518311014229008\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266edb0ada8a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_6d8a6f45ff904ca28b8dcffff562baf7\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-7aea1a6e58-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:50:26.000+07:00\",\"paymentId\":\"PAY_50ecfa8849a822ce54d1f6557a28b221\",\"bankShortCode\":\"BRI\",\"accountNo\":\"7518311014229008\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_50ecfa8849a822ce54d1f6557a28b221\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7518311014229008\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-7aea1a6e58-va-09\",\"amount\":\"10009\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:50:26.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_50ecfa8849a822ce54d1f6557a28b221\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7518311014229008\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_6d8a6f45ff904ca28b8dcffff562baf7",
            "type": "virtual_account",
            "referenceId": "qaj-7aea1a6e58-va-09",
            "amount": "10009",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:50:26.000+07:00",
            "paymentId": "PAY_50ecfa8849a822ce54d1f6557a28b221",
            "bankShortCode": "BRI",
            "accountNo": "7518311014229008",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_50ecfa8849a822ce54d1f6557a28b221",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "7518311014229008",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-7aea1a6e58-va-09",
              "amount": "10009",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:50:26.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_50ecfa8849a822ce54d1f6557a28b221",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "7518311014229008",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-7aea1a6e58-va-09",
        "reference_id": "qaj-7aea1a6e58-va-09",
        "event_id": "1785944722032-5c8ad1b4ef73",
        "received_at": "2026-08-05T15:45:22.032Z"
      }
    },
    {
      "id": "1785944721933-156483b1b9c7",
      "trace_id": "trace_f52779b24d60",
      "received_at": "2026-08-05T15:45:21.933Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-2b813a1eed-va-06",
      "reference_key": "referenceId",
      "transaction_id": "PAY_cf60f21d1e7b4b281fbffa8baf2cbd6a",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10006",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_cf60f21d1e7b4b281fbffa8baf2cbd6a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4845374142431068\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266edb00ba9a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_2c0a680cd7744d4087743a81ad97dba7\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-2b813a1eed-va-06\",\"amount\":\"10006\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:33:13.000+07:00\",\"paymentId\":\"PAY_cf60f21d1e7b4b281fbffa8baf2cbd6a\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4845374142431068\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_cf60f21d1e7b4b281fbffa8baf2cbd6a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4845374142431068\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-2b813a1eed-va-06\",\"amount\":\"10006\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:33:13.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_cf60f21d1e7b4b281fbffa8baf2cbd6a\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4845374142431068\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_2c0a680cd7744d4087743a81ad97dba7",
            "type": "virtual_account",
            "referenceId": "qaj-2b813a1eed-va-06",
            "amount": "10006",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:33:13.000+07:00",
            "paymentId": "PAY_cf60f21d1e7b4b281fbffa8baf2cbd6a",
            "bankShortCode": "BRI",
            "accountNo": "4845374142431068",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_cf60f21d1e7b4b281fbffa8baf2cbd6a",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4845374142431068",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-2b813a1eed-va-06",
              "amount": "10006",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:33:13.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_cf60f21d1e7b4b281fbffa8baf2cbd6a",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4845374142431068",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-2b813a1eed-va-06",
        "reference_id": "qaj-2b813a1eed-va-06",
        "event_id": "1785944721933-156483b1b9c7",
        "received_at": "2026-08-05T15:45:21.933Z"
      }
    },
    {
      "id": "1785944721842-f844175ee39d",
      "trace_id": "trace_14e30ab100bb",
      "received_at": "2026-08-05T15:45:21.842Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-6188f7bcaf-va-07",
      "reference_key": "referenceId",
      "transaction_id": "PAY_35c59cbde4b1c60914a3a969b0a3a9fc",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_35c59cbde4b1c60914a3a969b0a3a9fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2343597599427180\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266edaf79d3a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_8a0a211acf484f5298dc4fc45855f1e7\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-6188f7bcaf-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:42:32.000+07:00\",\"paymentId\":\"PAY_35c59cbde4b1c60914a3a969b0a3a9fc\",\"bankShortCode\":\"BRI\",\"accountNo\":\"2343597599427180\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_35c59cbde4b1c60914a3a969b0a3a9fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2343597599427180\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-6188f7bcaf-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:42:32.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_35c59cbde4b1c60914a3a969b0a3a9fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"2343597599427180\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_8a0a211acf484f5298dc4fc45855f1e7",
            "type": "virtual_account",
            "referenceId": "qaj-6188f7bcaf-va-07",
            "amount": "10007",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:42:32.000+07:00",
            "paymentId": "PAY_35c59cbde4b1c60914a3a969b0a3a9fc",
            "bankShortCode": "BRI",
            "accountNo": "2343597599427180",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_35c59cbde4b1c60914a3a969b0a3a9fc",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "2343597599427180",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-6188f7bcaf-va-07",
              "amount": "10007",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:42:32.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_35c59cbde4b1c60914a3a969b0a3a9fc",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "2343597599427180",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944721329-4c8eeb554c3c",
      "trace_id": "trace_40413e487204",
      "received_at": "2026-08-05T15:45:21.329Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-d9f711400a-va-10",
      "reference_key": "referenceId",
      "transaction_id": "PAY_1036af0f458a5174e715b1b61397fac3",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_1036af0f458a5174e715b1b61397fac3\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4992677421655151\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266edac4edca07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_eb66866b74824691b088339f49b74d9d\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-d9f711400a-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:53:28.000+07:00\",\"paymentId\":\"PAY_1036af0f458a5174e715b1b61397fac3\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4992677421655151\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_1036af0f458a5174e715b1b61397fac3\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4992677421655151\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-d9f711400a-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:53:28.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_1036af0f458a5174e715b1b61397fac3\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4992677421655151\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_eb66866b74824691b088339f49b74d9d",
            "type": "virtual_account",
            "referenceId": "qaj-d9f711400a-va-10",
            "amount": "10010",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:53:28.000+07:00",
            "paymentId": "PAY_1036af0f458a5174e715b1b61397fac3",
            "bankShortCode": "BRI",
            "accountNo": "4992677421655151",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_1036af0f458a5174e715b1b61397fac3",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4992677421655151",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-d9f711400a-va-10",
              "amount": "10010",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:53:28.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_1036af0f458a5174e715b1b61397fac3",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4992677421655151",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-d9f711400a-va-10",
        "reference_id": "qaj-d9f711400a-va-10",
        "event_id": "1785944721329-4c8eeb554c3c",
        "received_at": "2026-08-05T15:45:21.329Z"
      }
    },
    {
      "id": "1785944720988-6f9dfdb382e7",
      "trace_id": "trace_54f991b444dc",
      "received_at": "2026-08-05T15:45:20.988Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-0779596246-va-02",
      "reference_key": "referenceId",
      "transaction_id": "PAY_b2a2ff1b133d5b70c3d9b50da2173479",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_b2a2ff1b133d5b70c3d9b50da2173479\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9900248072974930\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266edaa2ffda07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_04f881e9ea284f6c809119bf11224cc4\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-0779596246-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:38:00.000+07:00\",\"paymentId\":\"PAY_b2a2ff1b133d5b70c3d9b50da2173479\",\"bankShortCode\":\"BRI\",\"accountNo\":\"9900248072974930\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_b2a2ff1b133d5b70c3d9b50da2173479\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9900248072974930\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-0779596246-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:38:00.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_b2a2ff1b133d5b70c3d9b50da2173479\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9900248072974930\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_04f881e9ea284f6c809119bf11224cc4",
            "type": "virtual_account",
            "referenceId": "qaj-0779596246-va-02",
            "amount": "10002",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:38:00.000+07:00",
            "paymentId": "PAY_b2a2ff1b133d5b70c3d9b50da2173479",
            "bankShortCode": "BRI",
            "accountNo": "9900248072974930",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_b2a2ff1b133d5b70c3d9b50da2173479",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "9900248072974930",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-0779596246-va-02",
              "amount": "10002",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:38:00.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_b2a2ff1b133d5b70c3d9b50da2173479",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "9900248072974930",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-0779596246-va-02",
        "reference_id": "qaj-0779596246-va-02",
        "event_id": "1785944720988-6f9dfdb382e7",
        "received_at": "2026-08-05T15:45:20.988Z"
      }
    },
    {
      "id": "1785944720922-631d6ed81a38",
      "trace_id": "trace_aaee8c4806d6",
      "received_at": "2026-08-05T15:45:20.922Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-7aea1a6e58-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_05132f88e3fa238d23dbe8365a7032b7",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_05132f88e3fa238d23dbe8365a7032b7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5441155082714161\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266eda9bea6a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_e267c6157c4b446f8cbc6a77626f7525\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-7aea1a6e58-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:50:26.000+07:00\",\"paymentId\":\"PAY_05132f88e3fa238d23dbe8365a7032b7\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5441155082714161\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_05132f88e3fa238d23dbe8365a7032b7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5441155082714161\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-7aea1a6e58-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:50:26.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_05132f88e3fa238d23dbe8365a7032b7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5441155082714161\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_e267c6157c4b446f8cbc6a77626f7525",
            "type": "virtual_account",
            "referenceId": "qaj-7aea1a6e58-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:50:26.000+07:00",
            "paymentId": "PAY_05132f88e3fa238d23dbe8365a7032b7",
            "bankShortCode": "BRI",
            "accountNo": "5441155082714161",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_05132f88e3fa238d23dbe8365a7032b7",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5441155082714161",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-7aea1a6e58-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:50:26.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_05132f88e3fa238d23dbe8365a7032b7",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5441155082714161",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944720840-0815bf58bf22",
      "trace_id": "trace_6908d9d993e2",
      "received_at": "2026-08-05T15:45:20.840Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-5941149c6f-va-07",
      "reference_key": "referenceId",
      "transaction_id": "PAY_2993b2141ac850c5c58a27fb174595f5",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_2993b2141ac850c5c58a27fb174595f5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4375300906207565\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266eda93d04a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_465d7c112e524682b6e58e0f5c650ba5\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-5941149c6f-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:57:16.000+07:00\",\"paymentId\":\"PAY_2993b2141ac850c5c58a27fb174595f5\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4375300906207565\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_2993b2141ac850c5c58a27fb174595f5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4375300906207565\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-5941149c6f-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:57:16.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_2993b2141ac850c5c58a27fb174595f5\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4375300906207565\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_465d7c112e524682b6e58e0f5c650ba5",
            "type": "virtual_account",
            "referenceId": "qaj-5941149c6f-va-07",
            "amount": "10007",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:57:16.000+07:00",
            "paymentId": "PAY_2993b2141ac850c5c58a27fb174595f5",
            "bankShortCode": "BRI",
            "accountNo": "4375300906207565",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_2993b2141ac850c5c58a27fb174595f5",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4375300906207565",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-5941149c6f-va-07",
              "amount": "10007",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:57:16.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_2993b2141ac850c5c58a27fb174595f5",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4375300906207565",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944720335-acb2aacf5624",
      "trace_id": "trace_10b4c4e13f29",
      "received_at": "2026-08-05T15:45:20.335Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-d9f711400a-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_59219c7da593f98a737ee7c59b5d9989",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_59219c7da593f98a737ee7c59b5d9989\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7099352919340537\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266eda609a6a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_52c24f0848be4019be9abed120daab64\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-d9f711400a-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:53:27.000+07:00\",\"paymentId\":\"PAY_59219c7da593f98a737ee7c59b5d9989\",\"bankShortCode\":\"BRI\",\"accountNo\":\"7099352919340537\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_59219c7da593f98a737ee7c59b5d9989\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7099352919340537\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-d9f711400a-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:53:27.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_59219c7da593f98a737ee7c59b5d9989\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"7099352919340537\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_52c24f0848be4019be9abed120daab64",
            "type": "virtual_account",
            "referenceId": "qaj-d9f711400a-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:53:27.000+07:00",
            "paymentId": "PAY_59219c7da593f98a737ee7c59b5d9989",
            "bankShortCode": "BRI",
            "accountNo": "7099352919340537",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_59219c7da593f98a737ee7c59b5d9989",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "7099352919340537",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-d9f711400a-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:53:27.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_59219c7da593f98a737ee7c59b5d9989",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "7099352919340537",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944720143-bf4f0acec7fc",
      "trace_id": "trace_268309a81a97",
      "received_at": "2026-08-05T15:45:20.143Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-7aea1a6e58-va-05",
      "reference_key": "referenceId",
      "transaction_id": "PAY_93ad01a4cd9bae853c17ee2d8a7f22be",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_93ad01a4cd9bae853c17ee2d8a7f22be\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5916167396203573\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266eda4dd3fa07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_e13a5c1c90c44336a54436ae133eddb7\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-7aea1a6e58-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:50:23.000+07:00\",\"paymentId\":\"PAY_93ad01a4cd9bae853c17ee2d8a7f22be\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5916167396203573\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_93ad01a4cd9bae853c17ee2d8a7f22be\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5916167396203573\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-7aea1a6e58-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:50:23.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_93ad01a4cd9bae853c17ee2d8a7f22be\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5916167396203573\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_e13a5c1c90c44336a54436ae133eddb7",
            "type": "virtual_account",
            "referenceId": "qaj-7aea1a6e58-va-05",
            "amount": "10005",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:50:23.000+07:00",
            "paymentId": "PAY_93ad01a4cd9bae853c17ee2d8a7f22be",
            "bankShortCode": "BRI",
            "accountNo": "5916167396203573",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_93ad01a4cd9bae853c17ee2d8a7f22be",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5916167396203573",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-7aea1a6e58-va-05",
              "amount": "10005",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:50:23.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_93ad01a4cd9bae853c17ee2d8a7f22be",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5916167396203573",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-7aea1a6e58-va-05",
        "reference_id": "qaj-7aea1a6e58-va-05",
        "event_id": "1785944720143-bf4f0acec7fc",
        "received_at": "2026-08-05T15:45:20.143Z"
      }
    },
    {
      "id": "1785944720089-316eeb57e7fa",
      "trace_id": "trace_bae6ddaa425f",
      "received_at": "2026-08-05T15:45:20.089Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-5bf9e875ee-va-03",
      "reference_key": "referenceId",
      "transaction_id": "PAY_29ff23b506707d37ead83cb8fb9cb54e",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10003",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_29ff23b506707d37ead83cb8fb9cb54e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5985082549458284\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266eda48c2ca07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_be24d83c5b6e4f75938953c25a5db224\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-5bf9e875ee-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:20:13.000+07:00\",\"paymentId\":\"PAY_29ff23b506707d37ead83cb8fb9cb54e\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5985082549458284\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_29ff23b506707d37ead83cb8fb9cb54e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5985082549458284\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-5bf9e875ee-va-03\",\"amount\":\"10003\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:20:13.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_29ff23b506707d37ead83cb8fb9cb54e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5985082549458284\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_be24d83c5b6e4f75938953c25a5db224",
            "type": "virtual_account",
            "referenceId": "qaj-5bf9e875ee-va-03",
            "amount": "10003",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:20:13.000+07:00",
            "paymentId": "PAY_29ff23b506707d37ead83cb8fb9cb54e",
            "bankShortCode": "BRI",
            "accountNo": "5985082549458284",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_29ff23b506707d37ead83cb8fb9cb54e",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5985082549458284",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-5bf9e875ee-va-03",
              "amount": "10003",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:20:13.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_29ff23b506707d37ead83cb8fb9cb54e",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5985082549458284",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944720019-6bb58d0c8d9f",
      "trace_id": "trace_5e5f50bbfeef",
      "received_at": "2026-08-05T15:45:20.019Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-d9f711400a-va-05",
      "reference_key": "referenceId",
      "transaction_id": "PAY_70e48a5872b6d314030bb06a71acd5a1",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_70e48a5872b6d314030bb06a71acd5a1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5153677524360843\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266eda41ad1a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_a9281fb53ed84431a90153b7f968eae8\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-d9f711400a-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:53:24.000+07:00\",\"paymentId\":\"PAY_70e48a5872b6d314030bb06a71acd5a1\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5153677524360843\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_70e48a5872b6d314030bb06a71acd5a1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5153677524360843\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-d9f711400a-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:53:24.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_70e48a5872b6d314030bb06a71acd5a1\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5153677524360843\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_a9281fb53ed84431a90153b7f968eae8",
            "type": "virtual_account",
            "referenceId": "qaj-d9f711400a-va-05",
            "amount": "10005",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:53:24.000+07:00",
            "paymentId": "PAY_70e48a5872b6d314030bb06a71acd5a1",
            "bankShortCode": "BRI",
            "accountNo": "5153677524360843",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_70e48a5872b6d314030bb06a71acd5a1",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5153677524360843",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-d9f711400a-va-05",
              "amount": "10005",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:53:24.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_70e48a5872b6d314030bb06a71acd5a1",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5153677524360843",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944719882-e0e8ce719af5",
      "trace_id": "trace_15beae78c710",
      "received_at": "2026-08-05T15:45:19.882Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-bc4120a68f-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_43276491d8c33d2873dafabb8ab3c1fc",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_43276491d8c33d2873dafabb8ab3c1fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5637939463989279\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266eda33808a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_4eba426851d54f1492257c315774f763\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-bc4120a68f-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:01:24.000+07:00\",\"paymentId\":\"PAY_43276491d8c33d2873dafabb8ab3c1fc\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5637939463989279\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_43276491d8c33d2873dafabb8ab3c1fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5637939463989279\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-bc4120a68f-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:01:24.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_43276491d8c33d2873dafabb8ab3c1fc\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5637939463989279\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_4eba426851d54f1492257c315774f763",
            "type": "virtual_account",
            "referenceId": "qaj-bc4120a68f-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:01:24.000+07:00",
            "paymentId": "PAY_43276491d8c33d2873dafabb8ab3c1fc",
            "bankShortCode": "BRI",
            "accountNo": "5637939463989279",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_43276491d8c33d2873dafabb8ab3c1fc",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5637939463989279",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-bc4120a68f-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:01:24.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_43276491d8c33d2873dafabb8ab3c1fc",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5637939463989279",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-bc4120a68f-va-08",
        "reference_id": "qaj-bc4120a68f-va-08",
        "event_id": "1785944719882-e0e8ce719af5",
        "received_at": "2026-08-05T15:45:19.882Z"
      }
    },
    {
      "id": "1785944719755-aee5eb8805dd",
      "trace_id": "trace_62b5ee512053",
      "received_at": "2026-08-05T15:45:19.755Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-9ca2d8a7da-va-01",
      "reference_key": "referenceId",
      "transaction_id": "PAY_f81953bfb6d43942e27ac2d07cfc28ea",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10001",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_f81953bfb6d43942e27ac2d07cfc28ea\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4881631687324764\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266eda26d47a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_46d32f9b5dbb435ca5a3481fa5cb0af3\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-9ca2d8a7da-va-01\",\"amount\":\"10001\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:59:08.000+07:00\",\"paymentId\":\"PAY_f81953bfb6d43942e27ac2d07cfc28ea\",\"bankShortCode\":\"BRI\",\"accountNo\":\"4881631687324764\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_f81953bfb6d43942e27ac2d07cfc28ea\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4881631687324764\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-9ca2d8a7da-va-01\",\"amount\":\"10001\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:59:08.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_f81953bfb6d43942e27ac2d07cfc28ea\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"4881631687324764\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_46d32f9b5dbb435ca5a3481fa5cb0af3",
            "type": "virtual_account",
            "referenceId": "qaj-9ca2d8a7da-va-01",
            "amount": "10001",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:59:08.000+07:00",
            "paymentId": "PAY_f81953bfb6d43942e27ac2d07cfc28ea",
            "bankShortCode": "BRI",
            "accountNo": "4881631687324764",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_f81953bfb6d43942e27ac2d07cfc28ea",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "4881631687324764",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-9ca2d8a7da-va-01",
              "amount": "10001",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:59:08.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_f81953bfb6d43942e27ac2d07cfc28ea",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "4881631687324764",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-9ca2d8a7da-va-01",
        "reference_id": "qaj-9ca2d8a7da-va-01",
        "event_id": "1785944719755-aee5eb8805dd",
        "received_at": "2026-08-05T15:45:19.755Z"
      }
    },
    {
      "id": "1785944719211-594bf6cbbbcb",
      "trace_id": "trace_5c07de9a48ef",
      "received_at": "2026-08-05T15:45:19.211Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-6188f7bcaf-va-04",
      "reference_key": "referenceId",
      "transaction_id": "PAY_f23a7d4d7613a6316dd284a664067d3e",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10004",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_f23a7d4d7613a6316dd284a664067d3e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8715024391810080\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266ed9f09a9a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_6de387746d2f4ea59cd8150ea49f13ee\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-6188f7bcaf-va-04\",\"amount\":\"10004\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:42:29.000+07:00\",\"paymentId\":\"PAY_f23a7d4d7613a6316dd284a664067d3e\",\"bankShortCode\":\"BRI\",\"accountNo\":\"8715024391810080\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_f23a7d4d7613a6316dd284a664067d3e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8715024391810080\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-6188f7bcaf-va-04\",\"amount\":\"10004\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:42:29.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_f23a7d4d7613a6316dd284a664067d3e\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8715024391810080\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_6de387746d2f4ea59cd8150ea49f13ee",
            "type": "virtual_account",
            "referenceId": "qaj-6188f7bcaf-va-04",
            "amount": "10004",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:42:29.000+07:00",
            "paymentId": "PAY_f23a7d4d7613a6316dd284a664067d3e",
            "bankShortCode": "BRI",
            "accountNo": "8715024391810080",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_f23a7d4d7613a6316dd284a664067d3e",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "8715024391810080",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-6188f7bcaf-va-04",
              "amount": "10004",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:42:29.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_f23a7d4d7613a6316dd284a664067d3e",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "8715024391810080",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-6188f7bcaf-va-04",
        "reference_id": "qaj-6188f7bcaf-va-04",
        "event_id": "1785944719211-594bf6cbbbcb",
        "received_at": "2026-08-05T15:45:19.211Z"
      }
    },
    {
      "id": "1785944718790-f25253ec55ef",
      "trace_id": "trace_548e9459ce5b",
      "received_at": "2026-08-05T15:45:18.790Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-0779596246-va-07",
      "reference_key": "referenceId",
      "transaction_id": "PAY_bd1011900b8c1970fa676ea28a59a7eb",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10007",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_bd1011900b8c1970fa676ea28a59a7eb\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"3502849254740707\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266ed9c483ca07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_7dde6e6d3e0e412e9d9413101bd14add\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-0779596246-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:38:16.000+07:00\",\"paymentId\":\"PAY_bd1011900b8c1970fa676ea28a59a7eb\",\"bankShortCode\":\"BRI\",\"accountNo\":\"3502849254740707\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_bd1011900b8c1970fa676ea28a59a7eb\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"3502849254740707\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-0779596246-va-07\",\"amount\":\"10007\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:38:16.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_bd1011900b8c1970fa676ea28a59a7eb\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"3502849254740707\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_7dde6e6d3e0e412e9d9413101bd14add",
            "type": "virtual_account",
            "referenceId": "qaj-0779596246-va-07",
            "amount": "10007",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:38:16.000+07:00",
            "paymentId": "PAY_bd1011900b8c1970fa676ea28a59a7eb",
            "bankShortCode": "BRI",
            "accountNo": "3502849254740707",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_bd1011900b8c1970fa676ea28a59a7eb",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "3502849254740707",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-0779596246-va-07",
              "amount": "10007",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:38:16.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_bd1011900b8c1970fa676ea28a59a7eb",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "3502849254740707",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-0779596246-va-07",
        "reference_id": "qaj-0779596246-va-07",
        "event_id": "1785944718790-f25253ec55ef",
        "received_at": "2026-08-05T15:45:18.790Z"
      }
    },
    {
      "id": "1785944718520-f4b796bdecfa",
      "trace_id": "trace_1e771e5ae082",
      "received_at": "2026-08-05T15:45:18.520Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-5bf9e875ee-va-02",
      "reference_key": "referenceId",
      "transaction_id": "PAY_22f9344a6bb720ddbe9b76a13761e288",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_22f9344a6bb720ddbe9b76a13761e288\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8369492942375449\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266ed9abae5a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_6fc3aff7c12242509ac0f7c352e3328f\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-5bf9e875ee-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:20:10.000+07:00\",\"paymentId\":\"PAY_22f9344a6bb720ddbe9b76a13761e288\",\"bankShortCode\":\"BRI\",\"accountNo\":\"8369492942375449\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_22f9344a6bb720ddbe9b76a13761e288\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8369492942375449\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-5bf9e875ee-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:20:10.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_22f9344a6bb720ddbe9b76a13761e288\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"8369492942375449\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_6fc3aff7c12242509ac0f7c352e3328f",
            "type": "virtual_account",
            "referenceId": "qaj-5bf9e875ee-va-02",
            "amount": "10002",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:20:10.000+07:00",
            "paymentId": "PAY_22f9344a6bb720ddbe9b76a13761e288",
            "bankShortCode": "BRI",
            "accountNo": "8369492942375449",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_22f9344a6bb720ddbe9b76a13761e288",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "8369492942375449",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-5bf9e875ee-va-02",
              "amount": "10002",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:20:10.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_22f9344a6bb720ddbe9b76a13761e288",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "8369492942375449",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944717778-ae598695ab68",
      "trace_id": "trace_8b6d11aeca36",
      "received_at": "2026-08-05T15:45:17.777Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-0779596246-va-08",
      "reference_key": "referenceId",
      "transaction_id": "PAY_18128c4bb9942b334f35f09dcbd12cbb",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10008",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_18128c4bb9942b334f35f09dcbd12cbb\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9625655278145662\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266ed95db94a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_41cbec4f9b0e44f6a5f71751e198d5a2\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-0779596246-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:38:19.000+07:00\",\"paymentId\":\"PAY_18128c4bb9942b334f35f09dcbd12cbb\",\"bankShortCode\":\"BRI\",\"accountNo\":\"9625655278145662\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_18128c4bb9942b334f35f09dcbd12cbb\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9625655278145662\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-0779596246-va-08\",\"amount\":\"10008\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:38:19.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_18128c4bb9942b334f35f09dcbd12cbb\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9625655278145662\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_41cbec4f9b0e44f6a5f71751e198d5a2",
            "type": "virtual_account",
            "referenceId": "qaj-0779596246-va-08",
            "amount": "10008",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:38:19.000+07:00",
            "paymentId": "PAY_18128c4bb9942b334f35f09dcbd12cbb",
            "bankShortCode": "BRI",
            "accountNo": "9625655278145662",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_18128c4bb9942b334f35f09dcbd12cbb",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "9625655278145662",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-0779596246-va-08",
              "amount": "10008",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:38:19.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_18128c4bb9942b334f35f09dcbd12cbb",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "9625655278145662",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      },
      "validation": {
        "ok": true,
        "strict": false,
        "signature_required": false,
        "security_profile": "standard",
        "three_layer_security": false,
        "http_status": 200,
        "received_method": "POST",
        "content_type": "application/json",
        "has_body": true,
        "parsed_body": true,
        "reference_id_present": true,
        "signature_headers_present": false,
        "signature_headers": [],
        "security": {
          "mode": "observed_callback",
          "signature_present": false,
          "signature_status": "missing",
          "signature_headers": [],
          "timestamp_present": false,
          "timestamp_status": "missing",
          "timestamp_headers": [],
          "timestamp_age_seconds": null,
          "note": "Signature values are inspected for test status but are never stored raw.",
          "profile": "standard",
          "layers": [
            {
              "layer": 1,
              "key": "strict_payload_reference",
              "required": false,
              "status": "pass",
              "detail": "Request body is parsable and carries a traceable reference_id-like value."
            },
            {
              "layer": 2,
              "key": "signature_timestamp",
              "required": false,
              "status": "observed",
              "detail": "Signature header is present and paired with a fresh timestamp header."
            },
            {
              "layer": 3,
              "key": "replay_tamper_guard",
              "required": false,
              "status": "pass",
              "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
            }
          ]
        },
        "security_layers": [
          {
            "layer": 1,
            "key": "strict_payload_reference",
            "required": false,
            "status": "pass",
            "detail": "Request body is parsable and carries a traceable reference_id-like value."
          },
          {
            "layer": 2,
            "key": "signature_timestamp",
            "required": false,
            "status": "observed",
            "detail": "Signature header is present and paired with a fresh timestamp header."
          },
          {
            "layer": 3,
            "key": "replay_tamper_guard",
            "required": false,
            "status": "pass",
            "detail": "Explicit replay/tamper test modes and duplicate references are rejected for three-layer probes."
          }
        ],
        "errors": [],
        "warnings": [
          "No callback signature header was detected. This is fine for plain Test URL, but signed callbacks should include signature headers."
        ]
      },
      "ack": {
        "ok": true,
        "success": true,
        "status": 200,
        "message": "Callback accepted. Brick can treat this endpoint as acknowledged.",
        "contract": "brick-callback-ack-v1",
        "referenceId": "qaj-0779596246-va-08",
        "reference_id": "qaj-0779596246-va-08",
        "event_id": "1785944717778-ae598695ab68",
        "received_at": "2026-08-05T15:45:17.777Z"
      }
    },
    {
      "id": "1785944717703-36010a6f1e85",
      "trace_id": "trace_90c6c013cfd5",
      "received_at": "2026-08-05T15:45:17.703Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-2b813a1eed-va-02",
      "reference_key": "referenceId",
      "transaction_id": "PAY_89f49bd8219bb63d7b161ad68d786612",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10002",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_89f49bd8219bb63d7b161ad68d786612\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5709448687386539\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266ed959ad9a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_1b233bdcb9544b6fbf743d7d9da945cd\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-2b813a1eed-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:33:01.000+07:00\",\"paymentId\":\"PAY_89f49bd8219bb63d7b161ad68d786612\",\"bankShortCode\":\"BRI\",\"accountNo\":\"5709448687386539\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_89f49bd8219bb63d7b161ad68d786612\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5709448687386539\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-2b813a1eed-va-02\",\"amount\":\"10002\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:33:01.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_89f49bd8219bb63d7b161ad68d786612\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"5709448687386539\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_1b233bdcb9544b6fbf743d7d9da945cd",
            "type": "virtual_account",
            "referenceId": "qaj-2b813a1eed-va-02",
            "amount": "10002",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:33:01.000+07:00",
            "paymentId": "PAY_89f49bd8219bb63d7b161ad68d786612",
            "bankShortCode": "BRI",
            "accountNo": "5709448687386539",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_89f49bd8219bb63d7b161ad68d786612",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "5709448687386539",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-2b813a1eed-va-02",
              "amount": "10002",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:33:01.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_89f49bd8219bb63d7b161ad68d786612",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "5709448687386539",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944717402-6322eb55b919",
      "trace_id": "trace_9621b1f54d8c",
      "received_at": "2026-08-05T15:45:17.402Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-bc4120a68f-va-10",
      "reference_key": "referenceId",
      "transaction_id": "PAY_c15da2f4d08a4ddf650c69895c7952a7",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10010",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_c15da2f4d08a4ddf650c69895c7952a7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"886875398329465\",\"displayNa\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266ed938baca07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "931",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_5a71787ba1264229b20c73503ed410b2\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-bc4120a68f-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:01:26.000+07:00\",\"paymentId\":\"PAY_c15da2f4d08a4ddf650c69895c7952a7\",\"bankShortCode\":\"BRI\",\"accountNo\":\"886875398329465\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_c15da2f4d08a4ddf650c69895c7952a7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"886875398329465\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-bc4120a68f-va-10\",\"amount\":\"10010\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T09:01:26.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_c15da2f4d08a4ddf650c69895c7952a7\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"886875398329465\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_5a71787ba1264229b20c73503ed410b2",
            "type": "virtual_account",
            "referenceId": "qaj-bc4120a68f-va-10",
            "amount": "10010",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T09:01:26.000+07:00",
            "paymentId": "PAY_c15da2f4d08a4ddf650c69895c7952a7",
            "bankShortCode": "BRI",
            "accountNo": "886875398329465",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_c15da2f4d08a4ddf650c69895c7952a7",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "886875398329465",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-bc4120a68f-va-10",
              "amount": "10010",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T09:01:26.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_c15da2f4d08a4ddf650c69895c7952a7",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "886875398329465",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    },
    {
      "id": "1785944717145-a41fcd3af7d4",
      "trace_id": "trace_884626864edc",
      "received_at": "2026-08-05T15:45:17.145Z",
      "method": "POST",
      "path": "/callbacks/virtual-account",
      "service": "virtual_account",
      "service_name": "Virtual Account Callback",
      "url": "https://test.sagad.net/callbacks/virtual-account",
      "reference_id": "qaj-5941149c6f-va-05",
      "reference_key": "referenceId",
      "transaction_id": "PAY_a3c76cbfd03852e20884ad505b0dab56",
      "transaction_id_key": "paymentId",
      "status": "completed",
      "status_key": "status",
      "amount": "10005",
      "amount_key": "amount",
      "currency": null,
      "currency_key": null,
      "provider": "{\"paymentId\":\"PAY_a3c76cbfd03852e20884ad505b0dab56\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9595726607942592\",\"displayN\n... [truncated for callback log]",
      "provider_key": "paymentMethod",
      "security": {
        "mode": "observed_callback",
        "signature_present": false,
        "signature_status": "missing",
        "signature_headers": [],
        "timestamp_present": false,
        "timestamp_status": "missing",
        "timestamp_headers": [],
        "timestamp_age_seconds": null,
        "note": "Signature values are inspected for test status but are never stored raw."
      },
      "source_ip": "108.137.111.130",
      "content_type": "application/json",
      "query": {},
      "headers": {
        "accept-encoding": "gzip, br",
        "cf-connecting-ip": "108.137.111.130",
        "cf-ipcountry": "ID",
        "cf-ray": "a266ed921e82a07a",
        "cf-visitor": "{\"scheme\":\"https\"}",
        "connection": "Keep-Alive",
        "content-length": "934",
        "content-type": "application/json",
        "host": "test.sagad.net",
        "user-agent": "Go-http-client/2.0",
        "x-forwarded-proto": "https",
        "x-real-ip": "108.137.111.130"
      },
      "body": {
        "content_type": "application/json",
        "truncated": false,
        "raw": "{\"data\":{\"id\":\"OP_904fc8d550b5476aa4942fb7a4c029e8\",\"type\":\"virtual_account\",\"referenceId\":\"qaj-5941149c6f-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:57:14.000+07:00\",\"paymentId\":\"PAY_a3c76cbfd03852e20884ad505b0dab56\",\"bankShortCode\":\"BRI\",\"accountNo\":\"9595726607942592\",\"displayName\":\"BrickQAconne-Automation \",\"paymentMethod\":{\"paymentId\":\"PAY_a3c76cbfd03852e20884ad505b0dab56\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9595726607942592\",\"displayName\":\"BrickQAconne-Automation \"}},\"attributes\":{\"referenceId\":\"qaj-5941149c6f-va-05\",\"amount\":\"10005\",\"feeAmount\":\"3500\",\"status\":\"completed\",\"createdAt\":\"2026-08-02T08:57:14.000+07:00\",\"paymentMethod\":{\"paymentId\":\"PAY_a3c76cbfd03852e20884ad505b0dab56\",\"type\":\"virtual_bank_account\",\"instructions\":{\"bankShortCode\":\"BRI\",\"accountNo\":\"9595726607942592\",\"displayName\":\"BrickQAconne-Automation \"}}}}}",
        "parsed": {
          "data": {
            "id": "OP_904fc8d550b5476aa4942fb7a4c029e8",
            "type": "virtual_account",
            "referenceId": "qaj-5941149c6f-va-05",
            "amount": "10005",
            "feeAmount": "3500",
            "status": "completed",
            "createdAt": "2026-08-02T08:57:14.000+07:00",
            "paymentId": "PAY_a3c76cbfd03852e20884ad505b0dab56",
            "bankShortCode": "BRI",
            "accountNo": "9595726607942592",
            "displayName": "BrickQAconne-Automation ",
            "paymentMethod": {
              "paymentId": "PAY_a3c76cbfd03852e20884ad505b0dab56",
              "type": "virtual_bank_account",
              "instructions": {
                "bankShortCode": "BRI",
                "accountNo": "9595726607942592",
                "displayName": "BrickQAconne-Automation "
              }
            },
            "attributes": {
              "referenceId": "qaj-5941149c6f-va-05",
              "amount": "10005",
              "feeAmount": "3500",
              "status": "completed",
              "createdAt": "2026-08-02T08:57:14.000+07:00",
              "paymentMethod": {
                "paymentId": "PAY_a3c76cbfd03852e20884ad505b0dab56",
                "type": "virtual_bank_account",
                "instructions": {
                  "bankShortCode": "BRI",
                  "accountNo": "9595726607942592",
                  "displayName": "BrickQAconne-Automation "
                }
              }
            }
          }
        }
      },
      "callback_attempt": 1,
      "replay": {
        "status": "not_detected",
        "duplicate_reference": false,
        "duplicate_payload": false
      }
    }
  ]
}